Zee*_*nef 5 sql sql-server replication identity-column sql-server-2008-r2
我有一个数据库,其中包含许多表,其中标识列设置为[NOT FOR REPLICATION].在SQL Server 2008 R2中是否有任何方法可以从Management Studio或任何Query感谢中删除所有表中的此约束.
Create Table mytbl (
[EmpId] [int] IDENTITY(1,1) NOT FOR REPLICATION NOT NULL,
Run Code Online (Sandbox Code Playgroud)
我尝试了这个,但它逐个删除.
ALTER TABLE dbo.tblAttendance ALTER COLUMN Id
DROP NOT FOR REPLICATION;
Run Code Online (Sandbox Code Playgroud)
Bra*_*ams 12
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'
Run Code Online (Sandbox Code Playgroud)