我有一個腳本,刪除在我的數據庫中的所有表看起來像這樣:錯誤刪除所有表「刪除失敗,因爲下列SET選項的設置不正確:‘QUOTED_IDENTIFIER’」
-- Disable all constraints
EXEC sp_MSForEachTable 'ALTER TABLE ? NOCHECK CONSTRAINT all'
-- Disable all triggers
EXEC EnableAllTriggers @Enable = 0
-- Delete data in all tables
EXEC sp_MSForEachTable 'DELETE FROM ?'
-- Dnable all constraints
EXEC sp_MSForEachTable 'ALTER TABLE ? WITH CHECK CHECK CONSTRAINT all'
-- Reseed identity columns
EXEC sp_MSForEachTable 'DBCC CHECKIDENT (''?'', RESEED, 0)'
-- Enable all triggers
EXEC EnableAllTriggers @Enable = 1
當它擊中DELETE行我得到幾個表的錯誤:
由於以下SET選項具有不正確的設置,因此DELETE失敗:'QUOTED_IDENTIFIER'。驗證SET選項是否適用於計算列和/或過濾索引和/或查詢通知和/或XML數據類型方法和/或空間索引操作的索引視圖和/或索引。
我沒有任何索引視圖,所有外鍵和觸發器都被禁用,所以我不知道是什麼導致了這個錯誤。有任何想法嗎?
你知道有哪些SP是通過運行它們一次一個導致了問題? –
請注意,如果你想刪除表中的所有內容,請使用'TRUNCATE',因爲它速度更快。 – JNK
@JNK不能截斷被外鍵引用的表(即使約束已被設置爲每個問題的「NOCHECK」)。 – Iridium