2012-02-14 14 views
1

データベースのテーブルのレコードを更新する必要があります。これらのテーブルには、外部キーの制約はほとんどありません。制約を無効にするにはSQL Serverで制約を再度有効にしようとすると、「ALTER TABLE文がCOLUMN FOREIGN KEY制約と競合しています」

、私はこの使用しています: - バックの制約を有効にするには

ALTER TABLE Table_01 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_02 NOCHECK CONSTRAINT ALL 
ALTER TABLE Table_01 DISABLE TRIGGER ALL 

を、私はこれを使用しています: -

ALTER TABLE Table_01 ENABLE TRIGGER ALL 
ALTER TABLE Table_01 WITH CHECK CHECK CONSTRAINT ALL 
ALTER TABLE Table_02 WITH CHECK CHECK CONSTRAINT ALL 

しかし、いくつかの理由のために、私は制約を置くしようとすると、背中、それはこのエラーを与える: -

ALTER TABLE statement conflicted with COLUMN FOREIGN KEY constraint 'FK_Table_01_AAAAA_AAAA'. 
The conflict occurred in database 'DB', table 'Table_02', column 'ID'. 

注:私は、同様のデータベースがインストールされている多くの場所があります。したがって、この有効化/無効化の制約は、すべてではなく一部のデータベースで機能しています。

答えて

5

実行した更新の1つが外部キー制約に違反しました。問題のあるデータを見つけて修正するまで、再度有効にすることはできません。