症狀
請考慮以下案例:
- 您的資料庫在 Microsoft SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中使用 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, Level 20, State 1, Line 7
系統判斷提示檢查失敗。 如需詳細資料,請檢查 SQL Server 錯誤記錄檔。 一般而言,判斷提示失敗是由軟體錯誤或資料損毀所造成。 若要檢查資料庫損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間傳送傾印給 Microsoft,將會將迷你傾印傳送給 Microsoft。 更新可能可從 Microsoft 的最新 Service Pack 或技術支援的 QFE 中提供。
Msg 0, Level 20, State 0, Line 0
目前命令發生嚴重錯誤。 如果有結果,應丟棄。
此外,可能會在 SQL Server 記錄資料夾中產生迷你傾印檔案。
注意:使用 SQL Server Integration Services (SSIS) 時,通常會發生此問題。 例如,如果 TransactionOption 套件層級屬性設為 [必要],則涉及Microsoft分散式交易協調器 (MS DTC) ,以啟動分散式交易以及 SET XACT_ABORT ON。
原因
發生這個問題的原因是 SQL Server 2008、SQL Server 2008 R2、SQL Server 2012 或 SQL Server 2014 中的錯誤。
解決方式
此問題已先在下列 SQL Server 累積更新中修正。
SQL Server 2014 累積更新 1 /zh-tw/help/2931693
SQL Server 2012 SP1 的累積更新 8 /zh-tw/help/2917531
SQL Server 2008 R2 SP2 的累積更新 10 /zh-tw/help/2908087
SQL Server 2008 SP1 的累積更新 10 /zh-tw/help/2279604
SQL Server 2008 SP2 的累積更新 1 /zh-tw/help/2289254
SQL Server 2008 R2 的累積更新 5 /zh-tw/help/2438347
關於 SQL Server 的累積更新
SQL Server 的每個新累積更新都包含所有 Hotfix 和先前累積更新的所有安全性修正程式。 查看 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 Developer Network (MSDN) 網站:
關於 “SET XACT_ABORT” 設定的一般資訊如需有關最少記錄作業的詳細資訊,請造訪下列 MSDN 網站:
關於最少記錄作業的一般資訊如需有關如何使用交易來維護資料完整性的詳細資訊,請造訪下列 MSDN 網站:
關於如何使用交易來維護資料完整性的一般資訊如需有關 SQL Server 累加式服務模型的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
935897 來自 SQL Server 團隊之可傳遞解決回報問題的 Hotfix 的累加服務模型 (機器翻譯)
如需有關 SQL Server 更新命名架構的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:
822499 Microsoft SQL Server 軟體更新套件的新命名架構如需有關軟體更新術語的詳細資訊,請按一下下面的文章編號,檢視「Microsoft知識庫」中的文章:
824684 描述Microsoft軟體更新所使用的標準術語說明