求助:两个sql数据库事务复制中 FOREIGN KEY 约束引用问题 (急)
哪位高手能帮我解决一下这个问题呀,我做的是sqlserver2000的两个数据库的事务复制,同步的时候提示下面的错误,用什么方法可以解决呢?
1、约束 'aaaaaCDS80B_PK ' 正由表 'WXY_J_EXTEND ' 的外键约束 'FK_WXY_J_EXTEND_CDS80B ' 引用。
(源: KFB1\KFB1 (数据源); 错误代码: 3725)
2、Category:SQLSERVER
Source: AYKJKFB
Number: 3726
Message: 未能除去对象 'CDS00COR ',因为该对象正由一个 FOREIGN KEY 约束引用。
不甚感激!
------解决方案--------------------你是执行什么任务? 删除吗? 要先删除外键,再删除主键
------解决方案--------------------DECLARE @CUR CURSOR
DECLARE @表名 VARCHAR(100)
DECLARE @字段名 VARCHAR(100)
DECLARE @约束名 VARCHAR(100)
DECLARE @SQL VARCHAR(8000)
--禁用所有外键约束
SET @CUR = CURSOR READ_ONLY
FOR
SELECT TABLE_NAME, COLUMN_NAME, CONSTRAINT_NAME
FROM INFORMATION_SCHEMA.KEY_COLUMN_USAGE
WHERE CONSTRAINT_NAME IN (SELECT CONSTRAINT_NAME FROM INFORMATION_SCHEMA.REFERENTIAL_CONSTRAINTS)
ORDER BY TABLE_NAME, COLUMN_NAME
OPEN @CUR
FETCH NEXT FROM @CUR INTO @表名, @字段名, @约束名
WHILE (@@FETCH_STATUS = 0)
BEGIN
--禁用约束
SET @SQL = 'ALTER TABLE ' + @表名 + ' NOCHECK CONSTRAINT ' + @约束名
EXEC (@SQL)
FETCH NEXT FROM @CUR INTO @表名,@字段名,@约束名
END
CLOSE @CUR
DEALLOCATE @CUR