sql-server-2005 – 临时表上的DBCC CHECKIDENT为错误的用户抛出
发布时间:2020-12-12 07:05:27 所属栏目:MsSql教程 来源:网络整理
导读:我以非sa用户“bhk”身份登录到SQL Server 2005数据库,该用户只是“公共”服务器角色的成员.以下代码尝试在用户’bhk’调用的存储过程中执行.这行代码…… TRUNCATE TABLE #Table1DBCC CHECKIDENT('#Table1',RESEED,@SequenceNumber) WITH NO_INFOMSGS 导致此
我以非sa用户“bhk”身份登录到SQL Server 2005数据库,该用户只是“公共”服务器角色的成员.以下代码尝试在用户’bhk’调用的存储过程中执行.这行代码……
TRUNCATE TABLE #Table1 DBCC CHECKIDENT('#Table1',RESEED,@SequenceNumber) WITH NO_INFOMSGS 导致此错误…
我知道运行DBCC CHECKIDENT所需的权限… 所以我有两个问题: >因为’bhk’正在调用存储的 任何帮助将不胜感激. 解决方法这是一个替代解决方案,如果您需要使用大于1的序列号重新种子,则可能会有效.TRUNCATE #Table1 SET IDENTITY_INSERT #Table1 ON INSERT INTO #Table1 (TableID) -- This is your primary key field VALUES (@SequenceNumber - 1) SET IDENTITY_INSERT #Table1 OFF DELETE FROM #Table1 这样做是在临时表上设置IDENTITY_INSERT,以允许您添加具有显式ID的行.然后,您可以删除此行,但是进一步的插入应该从最后一个序列号开始. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |