KB2562812 - 修正:在 SQL Server 2008 或 SQL Server 2008 R2 中,如果 TVP 包含大量文字或影像資料,當您追蹤包含 TVP 的預存程式時,會出現錯誤碼 17065

套用到
SQL Server 2008 Developer SQL Server 2008 Enterprise SQL Server 2008 Express SQL Server 2008 R2 Developer SQL Server 2008 R2 Enterprise SQL Server 2008 R2 Express

Microsoft 會發佈 Microsoft SQL Server 2008 或 Microsoft SQL Server 2008 R2 修正程式作為一個可下載的檔案。 由於修正程式是累積的,因此每個新版本都包含先前的 SQL Server 2008 或 SQL Server 2008 R2 修正程式版本中包含的所有 Hotfix 和所有安全性修正程式。

症狀

請考慮以下案例:

  • 您在 SQL Server 2008 或 SQL Server 2008 R2 中設定連結伺服器。
  • 您可以使用 SQL 分析工具來擷取連結伺服器上 SQL Server 2008 或 SQL Server 2008 R2 執行個體中的 RPC:Completed 事件。
  • 您建立的預存程式接受資料表值參數 (TVP) 以及文字或影像欄。
  • 預存程序的分散式查詢會在執行認可作業的交易中使用 TVP。
  • 用戶端應用程式會在 SQL Server 執行個體上執行預存程序,而應用程式會使用 TVP 將大量文字或影像資料傳遞至預存程序。

在此案例中,您可能會在 SQL 錯誤日誌中收到以下錯誤:

注意

<日期> spid# 錯誤:17065,嚴重性:16,狀態:1。
<Date> spid# SQL Server 判斷提示: 檔案: <tmpilb.cpp>, line = 3280 失敗的判斷提示 = 'fFalse' 發行。 此錯誤可能與時間有關。 如果重新執行陳述式後仍持續發生錯誤,請使用 DBCC CHECKDB 來檢查資料庫的結構完整性,或重新啟動伺服器以確保記憶體內部資料結構未損毀
<日期> spid# 錯誤:3624,嚴重性:20,狀態:1。
<日期> spid# 系統判斷提示檢查失敗。 如需詳細資料,請檢查 SQL Server 錯誤記錄檔。 一般而言,判斷提示失敗是由軟體錯誤或資料損毀所造成。 若要檢查資料庫損毀,請考慮執行 DBCC CHECKDB。 如果您同意在安裝期間傳送傾印給 Microsoft,將會將迷你傾印傳送給 Microsoft。 更新可能可從 Microsoft 的最新 Service Pack 或技術支援的 QFE 中提供。

      

解決方式

累積更新資訊

SQL Server 2008 Service Pack 3

此問題的修正程式最初在 SQL Server 2008 Service Pack 3 的累積更新 1 中發行。 如需有關此累積更新套件的詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2617146 累積更新套件 1 適用於 SQL Server 2008 Service Pack 3 注意: 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,來自先前的 SQL Server 2008 修正程式版本。 Microsoft 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2629969 發行 SQL Server 2008 Service Pack 3 之後所發行的 SQL Server 2008 組建Microsoft會為特定 SQL Server Service Pack 建立 SQL Server 2008 Hotfix。 您必須將 SQL Server 2008 Service Pack 3 Hotfix 套用至 SQL Server 2008 Service Pack 3 的安裝。 預設情況下,SQL Server Service Pack 中提供的任何 Hotfix 都會包含在下一個 SQL Server Service Pack 中。

SQL Server 2008 R2

此問題的修正程式最初在累積更新 9 中發行。 如需有關如何取得 SQL Server 2008 R2 的累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2567713 SQL Server 2008 R2 的累積更新套件 9 注意:由於組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前 SQL Server 2008 R2 修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

981356 在 SQL Server 2008 R2 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

SQL Server 2008 R2 Service Pack 1

此問題的修正程式最初在 SQL Server 2008 R2 Service Pack 1 的累積更新 2 中發行。 如需有關如何取得此累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2567714 SQL Server 2008 R2 Service Pack 1 累積更新套件 2 注意:由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和所有安全性修正程式,這些修正程式隨附於先前的 SQL Server 2008 R2 修正程式版本。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2567616 在 SQL Server 2008 R2 Service Pack 1 發行之後所發行的 SQL Server 2008 R2 組建 (機器翻譯)

SQL Server 2008 SP2 CU5

                
此問題的修正程式最初在累積更新 5 中發行。 如需有關如何取得此 SQL Server 2008 Service Pack 2 累積更新套件的詳細資訊,請按一下下面的文件編號,檢視「Microsoft 知識庫」中的文件:

2555408 SQL Server 2008 Service Pack 2 累積更新套件 5 注意 由於這些組建是累積的,因此每個新發行的修正程式都包含所有 Hotfix 和先前的 SQL Server 2008 Service Pack 2 修正程式版本中包含的所有安全性修正程式。 建議您考慮套用包含此 Hotfix 的最新修正版本。 如需詳細資訊,請按一下下面的文章編號,檢視「Microsoft 知識庫」中的文章:

2402659 發行 SQL Server 2008 Service Pack 2 之後所發行的 SQL Server 2008 組建

狀態

Microsoft 已確認這是「適用對象」一節中列出的 Microsoft 產品中的問題。

更多資訊

如需有關分散式查詢的詳細資訊,請造訪下列 MSDN 網站:

關於分散式查詢的一般資訊 如需有關資料表值參數的詳細資訊,請造訪下列 MSDN 網站:

關於資料表值參數的一般資訊如需有關連結伺服器的詳細資訊,請造訪下列 MSDN 網站:

連結伺服器的一般資訊