sql-server - SQL Server 数据库主键上的 IdentityIsNotForReplication 阻止迁移到 SQL Azure

标签 sql-server azure azure-sql-database

我有一个 SQL Server 数据库,它是复制的最终结果。换句话说,这只是副本。我想使用 Management Studio 或作为 BACPAC 文件将此数据库迁移到 SQL Azure。尝试这样做时,我得到了我期望的东西,例如需要聚集索引,但我坚持的事情是每个表(并且有很多表)上的主键都有以下错误:

IdentityIsNotForReplication 已设置,并且在用作数据包的一部分时不受支持。

好吧,很酷,但这是围绕模式的 .NET 抽象的属性,据我所知,我无法从 T-SQL 中更改它。我有点卡住了!

最佳答案

NOT FOR REPLICATION 是一个可应用于触发器、约束和标识列以防止复制它们的属性。您可以将此属性设置为“开”和“关”。

下面是一段用于关闭所有表的 NOT FOR REPLICATION 的 T-SQL 代码:

EXEC sp_msforeachtable @command1 = '
declare @int int
set @int =object_id("?")
EXEC sys.sp_identitycolumnforreplication @int, 0'

(改编自 http://blogs.msdn.com/b/repltalk/archive/2012/03/06/marking-identity-columns-as-not-for-replication-in-existing-publication.aspx )

关于sql-server - SQL Server 数据库主键上的 IdentityIsNotForReplication 阻止迁移到 SQL Azure,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22876055/

相关文章:

sql-server - 使用 case 执行子查询

SQL Server 2008 R2 和端口 61303

azure - ADF 无法连接到 Synapse Link SQL 池外部表

azure - 无法对不同租户的 Azure api 进行身份验证

sql-server - Azure 数据库防火墙问题

sql-server - tsql : how to do a substring replace?

具有限制的 len(n) 的 3 个值的 SQL Server 排列

Azure 分析 kusto 查询 : how to group by 2 conditions?

c# - 新表移动服务Azure,无法获取数据

azure - 备份 Azure 数据库时如何备份事务日志?