在订阅者上添加外键约束失败

发布于 2024-11-03 21:14:30 字数 594 浏览 0 评论 0原文

我有一个使用 SQL Server 2008 的复制数据库。这就是我想要做的。

  1. 创建一个新表 (MyNewTable)
  2. 在现有表 (MyExistingTable) 中创建一个列
  3. 在此列(在 #2 中)上创建一个 FK 约束,因为它指向来自 #1 的新表的 PK。

但是,当数据复制到订阅者时,我在复制监视器中收到以下错误。

架构脚本“用于添加外键约束的脚本”无法传播到订阅者。 (来源:MSSQL_REPL,错误号:MSSQL_REPL-2147201001) 获取帮助:http://help/MSSQL_REPL-2147201001 外键“MyFKConstraint”引用无效表“MyNewTable”(来源:MSSQLServer,错误号:1767)

不过,此脚本在发布者上运行良好。有些人似乎建议在现有表和新表之间创建外键约束时,不能在复制环境中添加外键约束。尽管我对 SQL Server 复制有点陌生,但这对我来说有点难买。有什么想法吗?

I have a replicated database using SQL Server 2008. Here is what I am trying to do.

  1. Create a new table (MyNewTable)
  2. Create a column in an existing Table (MyExistingTable)
  3. Create a FK constraint on this column (in #2) as it points to PK to new table from #1.

However when data get replicated to subscriber, i get following error in replication monitor.

The schema script "script for adding foreign key constraint" could not be propagated to the subscriber. (Source: MSSQL_REPL, Error number: MSSQL_REPL-2147201001)
Get help: http://help/MSSQL_REPL-2147201001
Foreign key "MyFKConstraint" references invalid table "MyNewTable" (Source: MSSQLServer, Error number: 1767)

This script runs fine on publisher though. Some people seem to suggest that adding foreign key constraint cannot be done in a replicated environment when its created between an existing table and a new table. This is kind of hard to buy for me although I am kind of new to SQL Server replication. Any thoughts?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

追风人 2024-11-10 21:14:30

<块引用>
<块引用>

外键“MyFKConstraint”引用无效表“MyNewTable”


”是订户数据库中的“MyNewTable”吗?

如果不是,您可以在创建 FK 时使用“NOT FOR REPLICATION”

Foreign key "MyFKConstraint" references invalid table "MyNewTable

Is "MyNewTable" in subscriber database?

if not can you use "NOT FOR REPLICATION" while creating FK

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文