我有一个数据库,其中包含许多表,这些表的“标识”列设置为[不可复制]。在SQL Server 2008 R2中
有什么办法可以从Management Studio的所有表或任何查询感谢中删除此约束。
Create Table mytbl (
[EmpId] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
我尝试了这个,但是它正在一步一步地删除。
ALTER TABLE dbo.tblAttendance ALTER COLUMN Id
DROP NOT FOR REPLICATION;
最佳答案
Microsoft提供了一个系统存储过程来打开和关闭NOT FOR REPLICATION设置。存储过程为 sys.sp_identitycolumnforreplication 。我们可以将此系统存储过程与sp_msforeachtable一起使用,以从所有表中删除NOT FOR REPLICATION设置:
EXEC sp_msforeachtable @command1 = '
declare @int int
set @int =object_id("?")
EXEC sys.sp_identitycolumnforreplication @int, 0'