我有一个SQL Server数据库,它是复制的最终结果。换句话说,它只是副本。我想使用Management Studio或BACPAC文件将此数据库迁移到SQL Azure。尝试这个我得到了我期望的东西,例如需要聚集索引,但我坚持的是每个表上的主键(并且有很多)都有以下错误:
IdentityIsNotForReplication已设置,并且在用作数据包的一部分时不受支持。
好的,很酷,但这是一个围绕架构的.NET抽象属性,据我所知,不是我可以从T-SQL改变的东西。我有点卡住了!
答案 0 :(得分:5)
NOT FOR REPLICATION是一个可以应用于触发器,约束和标识列的属性,以防止复制它们。您可以将此属性设置为ON和OFF。
这是一段T-SQL代码,用于关闭所有表的NOT FOR REPLICATION:
EXEC sp_msforeachtable @command1 = '
declare @int int
set @int =object_id("?")
EXEC sys.sp_identitycolumnforreplication @int, 0'