我有一個創建整個數據庫並將所有記錄插入到幾十個表的腳本。 它工作得很好,除非在處理過程中出現問題,並且在插入過程中腳本失敗並且可以再次將其設置爲OFF之前,表將IDENTITY_INSERT置ON。爲所有表設置IDENTITY_INSERT OFF
發生這種情況時,腳本在嘗試再次運行時會自動失敗,並在我們進入第一個表的插入時發生錯誤「IDENTITY_INSERT已經爲表xx打開」。
作爲故障安全,我想確保IDENTITY_INSERT在所有表中設置爲OFF,然後在安裝腳本中運行其餘的處理。
作爲替代方案,我們也許可以關閉MS SQL連接,然後再次打開它,它,我的理解是,將清除所有IDENTITY_INSERT值的連接會話。
什麼是最好的方式來做到這一點,並防止「已經上」的錯誤?
什麼版本的SQL Server? – 2012-04-12 03:03:14
此應用程序需要工作w/2005及以上,所以理想的解決方案,適用於所有最新和即將推出的版本。 – 2012-04-12 04:48:37
我的解決方案應該可以在05和更高版本中使用。 – 2012-04-12 12:03:40