【问题标题】:IdentityIsNotForReplication on SQL Server database primary keys prevent migration to SQL AzureSQL Server 数据库主键上的 IdentityIsNotForReplication 阻止迁移到 SQL Azure
【发布时间】:2014-04-05 03:01:50
【问题描述】:

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

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

好的,很酷,但这是围绕模式的 .NET 抽象的一个属性,据我所知,这不是我可以从 T-SQL 更改的。我有点卡住了!

【问题讨论】:

    标签: sql-server azure azure-sql-database


    【解决方案1】:

    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'
    

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

    【讨论】:

      猜你喜欢
      • 2010-12-28
      • 2013-05-11
      • 1970-01-01
      • 2012-09-04
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-05
      相关资源
      最近更新 更多