KB2297709 - 修正:當您對使用「BULK_LOGGED」或「SIMPLE」復原模型的資料庫執行「BULK INSERT」查詢時,可能會出現錯誤訊息SQL Server

套用到
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Standard SQL Server 2008 Standard Edition for Small Business SQL Server 2008 Workgroup SQL Server 2008 R2 Service Pack 2 SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Standard SQL Server 2008 R2 Workgroup SQL Server 2012 Developer SQL Server 2012 Enterprise SQL Server 2012 Standard SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

請考慮以下案例:

  • 你有一個資料庫在 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 的最新累積更新:

      

因應措施

為了解決這個問題,請將資料庫設為完整復原模型。

狀態

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軟體更新的標準術語