在订阅者上添加外键约束失败
我有一个使用 SQL Server 2008 的复制数据库。这就是我想要做的。
- 创建一个新表 (MyNewTable)
- 在现有表 (MyExistingTable) 中创建一个列
- 在此列(在 #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.
- Create a new table (MyNewTable)
- Create a column in an existing Table (MyExistingTable)
- 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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(1)
”是订户数据库中的“MyNewTable”吗?
如果不是,您可以在创建 FK 时使用“NOT FOR REPLICATION”
Is "MyNewTable" in subscriber database?
if not can you use "NOT FOR REPLICATION" while creating FK