- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
使用 SQL Server 数据库。使用数据库版本控制工具向查找表添加了 50 个新项目,因此将在所有三个数据库上运行相同的脚本。数据库有 Dev、QA 和 Prod 版本,由于政治原因,prod 无法克隆到其他环境。该表有一个自动递增的 ID 列和另一个子记录表。为了将 child 与新 parent 联系起来,自动递增的 id 序列必须是可重复和可预测的。此时不能切换到序列。
DBCC checkident ('inspectionitem', reseed, 9990)
将设置自动序列的下一个编号,以便新项目将获得可预测的 ID。当前 ID 字段的所有三个数据库中的最大 ID 约为 5000,因此对于脚本来说,只需将其增加到 10000 就可以保证不会有问题。自动增量每次都以 10 为步长,因此要获得 ID 为 10000 的第一条记录,必须将种子设置为 9990。
将种子设置为 9990 时,SQL Server 出现错误:
[S00014][2560] Parameter 3 is incorrect for this DBCC statement.
将种子设置为 9991->10000 时可以正常工作,但将种子设置为 9990 时会出现错误。
我会尝试不同的起始位置和一些其他解决方法,但为什么 9990 会出现此错误?
谢谢
最佳答案
https://msdn.microsoft.com/en-us/library/ms187745.aspx
原来 ID 字段是一个只能到 32767 的 smallint。它溢出了。
关于sql-server - SQL 服务器 : checkident: "[S00014][2560] Parameter 3 is incorrect for this DBCC statement.",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30854810/
在我的 SQL 数据库中,我运行了以下脚本来清理数据并重置标识列, -- disable referential integrity EXEC sp_MSForEachTable 'ALTER TAB
我想检查选项以改进我的查询。 有时,我想在生产服务器上进行测试,所以我不能使用 DBCC FREEPROCCACHE和 DBCC DROPCLEANBUFFERS 清除整个服务器缓存。 能否请您与我分
我们最近遇到了性能问题,通过执行 DBCC freeproccache 解决了这个问题...现在,我们还有更多问题需要回答; 是什么导致过程缓存过时了? 如果索引或统计信息已过时,为什么查询没有过时重
当我尝试执行时,我对这个语法错误感到困惑: DBCC CHECKIDENT('database', RESEED, 1) 在 PHPMyAdmin... 错误: #1064 - You have an
MSSQL性能是很不错的,但是数据库用了一段时间之后,数据库却变得很大,实际的数据量不大。一般都是数据库日志引起的!数据库日志的增长可以达到好几百M。 网上的MSSQL虚拟主机价格也贵,要想不让数
DBCC CHECKIDENT(N'dbo.Orders', RESEED, 0); DBCC CHECKIDENT 语法 DBCC CHECKIDENT (&
我正在尝试使用 DBCC SHRINKFILE(db_2.ldf) 缩小日志文件,这是日志文件的名称 每次都会给我错误: 8985, Level 16, State 1, Line 1 Could n
我有大约 300 个表,每个表有 5.5kk 行。其中一行使用 nvarchar(128) 作为数据类型 (SQL Server 2012)。 我们决定将其更改为 int 并将 FK 添加到包含所有
我有一个表,它有一个 id,它既是表的身份又是表的主键。什么时候运行这个 Use devdb Select * from tablename order by did desc 有效,我看到了数据。当
我有一个 21 Gb 的数据库;其中 20 Gb 是文件 (FileStream),我已经从表中删除了所有文件,但是当我进行备份时,备份文件仍然是 21 GB。 为了解决这个问题,我提出了“释放未使用
在每次 DAO 测试之前,我都会清理我的数据库,并且我需要重置一些表的标识值。我创建了以下存储过程: CREATE PROCEDURE SET_IDENTITY @pTableName
是否可以在 sql server 的单个分区上运行 DBCC CHECKDB?我知道如果分区在单独的文件组上我们可以使用 CHECKFILEGROUP 但如果分区不在单独的文件组上怎么办?是否可以选择
我正在使用 Windows Azure Sql。 我已使用 DBCC CHECKIDENT ('Table_Name', RESEED, 1) 重新设定表的种子。没有主键为 36 的行。当我尝试插入行
我想知道是否有人可以帮助显示以下代码。我基本上是在尝试尽可能重新整理此代码,以便允许我对名为“servers.txt”的文本文件中提供的一组服务器名称运行它。 DBCC应该由PS脚本运行,并针对该服务
我正在尝试做这样的事情: declare @myCurrentSeedValue int; select @myCurrentSeedValue = DBCC CheckIdent('MyTable'
我有一个不同的架构(除了 dbo 之外),我在其中创建了一个表,架构“Chemical”。 我尝试了此 DBCC CHECKIDENT 的 4 种不同变体,它们都返回相同的错误: “‘.’附近的语法不
我使用此代码来重置表上的身份: DBCC CHECKIDENT('TableName', RESEED, 0) 这在大多数情况下工作正常,第一次插入时我将 1 插入到 Id 列中。但是,如果我删除数据
目前在某些操作上我必须删除旧数据并插入新数据。但我注意到尽管删除了数据,但身份列并未重置并从其最后一个最大值继续。所以我使用 DBCC CheckIdent 来实现所有这一切都发生在交易中。我可以将交
为了隐藏DBCC SHRINKFILE的输出我试过: CREATE TABLE #Swallow(DbId int, Fileld int, CurrentSize int, MininumSize
我有一些不会截断事务日志的数据库。 这些数据库都处于简单恢复模式,我们可以每天进行一次完整备份。 我检查的第一件事是是否有某种排序或打开的事务或阻止日志被重复使用的东西。 SELECT name, l
我是一名优秀的程序员,十分优秀!