症狀
請考慮以下案例:
- 你有一個資料庫在 2008 SQL Server、SQL Server 2008 R2、SQL Server 2012 或 2014 Microsoft SQL Server 使用 BULK_LOGGED 或 SIMPLE 復原模型。
- 你打開 SET XACT_ABORT 開關。
- 你嘗試在單一分散式交易中執行多個 BULK INSERT 語句。
在這種情況下,BULK INSERT 陳述句可能會失敗,並會收到以下錯誤訊息:
注意
地點:pageref.cpp:913
表達式:IS_OFF (BUF_MINLOGGED,m_buf-bstat>) || pageModifyType != PageModifyType_Contents ||GetPagePtr () -IsTextPage> ()
SPID:56
程序編號:2136
Msg 3624,20層,州1,7號線
系統斷言檢查失敗。 詳情請查看 SQL Server 錯誤日誌。 通常,斷言失敗是由軟體錯誤或資料損壞所引起。 要檢查資料庫損壞,請考慮執行 DBCC CHECKDB。 如果你在設定時同意將資料轉印寄給 Microsoft,則會寄出一個迷你轉印給 Microsoft。 更新可能由 Microsoft 提供於最新的服務包,或技術支援的 QFE 版本。
訊息 0,等級 20,狀態 0,行 0
當前指令發生嚴重錯誤。 如果有結果,應該被丟棄。
此外,也可以在 SQL Server 日誌資料夾中產生一個迷你傾印檔案。
注意,此問題通常發生在使用 SQL Server 整合服務 (SSIS) 時。 例如,Microsoft MS DTC () 分散式交易協調器會參與啟動分散式交易,若 TransactionOption 套件層級屬性設為 Required,則 SET XACT_ABORT ON 一同啟動。
原因
此問題發生於 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中的錯誤。
解決方式
此問題首次在 SQL Server 的累積更新中得到修正。
2014 SQL Server 累積更新 1 /en-us/help/2931693
2012 SQL Server SP1 的累積更新 8 /en-us/help/2917531
2008 年 R2 SP2 SQL Server 的累積更新 10 /en-us/help/2908087
2008 SQL Server SP1 累積更新 10 /en-us/help/2279604
2008 SQL Server SP2 的累積更新 1 /en-us/help/2289254
2008 SQL Server R2 的累積更新 5 /en-us/help/2438347
關於 SQL Server 的累積更新
每次新的 SQL Server 累積更新都包含了之前累積更新中包含的所有熱修補與安全修補。 請查看 SQL Server 的最新累積更新:
- SQL Server 2014 最新累積更新
- SQL Server 2012 SP1 的最新累積更新
- SQL Server 2008 R2 SP2 的最新累積更新
- SQL Server 2008 SP1 的最新累積更新
- SQL Server 2008 SP2 的最新累積更新
- SQL Server 2008 R2 的最新累積更新
因應措施
為了解決這個問題,請將資料庫設為完整復原模型。
狀態
Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。
參考資料
欲了解更多關於 SET XACT_ABORT 設定的資訊,請造訪以下 Microsoft 開發者網絡 (MSDN) 網站:
關於「SET XACT_ABORT」設定的一般資訊 欲了解更多關於最低紀錄作業的資訊,請造訪以下 MSDN 網站:
關於最小記錄操作的一般資訊 欲了解更多如何透過交易維持資料完整性的資訊,請造訪以下 MSDN 網站:
關於如何透過交易維持資料完整性的一般資訊欲了解更多關於 SQL Server 增量服務模型的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:
935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)
欲了解更多關於 SQL Server 更新命名架構的資訊,請點擊以下文章編號以瀏覽 Microsoft 知識庫中的文章:
822499 Microsoft SQL Server軟體更新套件的新命名架構欲了解更多軟體更新術語,請點擊以下文章編號以瀏覽Microsoft知識庫中的文章:
824684 描述用於描述Microsoft軟體更新的標準術語