可以使用 SQL Server Management Studio 或 Transact-SQL 在 SQL Server 2012 中对复制禁用外键约束。 如果正在从以前版本的 SQL Server 发布数据,这很有用。
![]() |
---|
如果表是使用复制发布的,则对于复制代理执行的操作将自动禁用外键约束。 当复制代理在订阅服务器上执行插入、更新或删除操作时,将不检查约束;如果用户执行插入、更新或删除操作,则检查约束。 由于最初插入、更新或删除数据时已经在发布服务器上检查过约束,所以对于复制代理将禁用该约束。 |
本主题内容
开始之前:
安全性
对复制禁用外键约束,使用:
SQL Server Management Studio
Transact-SQL
开始之前
安全性
权限
需要对表的 ALTER 权限。
[Top]
使用 SQL Server Management Studio
对复制禁用外键约束
在**“对象资源管理器”中,展开具有要修改的外键约束的表,再展开“键”**文件夹。
右键单击外键约束,再单击**“修改”**。
在**“外键关系”对话框,对“强制用于复制”选择“否”**值。
单击**“关闭”**。
[Top]
使用 Transact-SQL
对复制禁用外键约束
- 若要在 Transact-SQL 中执行此任务,请删除外键约束。 然后添加一个新外键约束,并指定 NOT FOR REPLICATION 选项。
有关详细信息,请参阅 ALTER TABLE (Transact-SQL)。
[Top]