KB4469722 - 修正:更新 FILESTREAM 墓碑系統資料表時,SQL Server 出現內部錯誤訊息

套用到
SQL Server 2014 Developer - duplicate (do not use) SQL Server 2014 Enterprise - duplicate (do not use) SQL Server 2014 Enterprise Core - duplicate (do not use) SQL Server 2014 Standard - duplicate (do not use)

症狀

假設你在 Microsoft SQL Server 實例中有一個啟用 FILESTREAM 的資料庫。 當你啟動交易並使用 SqlFileStream .NET API 開啟檔案串流檔案時,該任務可能會因外部因素而失敗並拋出例外。

如果你在同一交易中再次使用 SqlFileStream 開啟檔案並提交,可能會收到類似以下內部錯誤訊息:

注意

日期時間SPIDS、未知、誤差:5571<c/> 嚴重程度:23<c/> 狀態:3。
日期時間spids、Unknown、Internal FILESTREAM 錯誤:無法存取垃圾回收表。

如果你執行 dbcc 檢查表 ('sys.filestream_tombstone_2073058421') ,可能會收到以下錯誤訊息:

注意

Msg 8951,16級,州1,線 路號碼

表格錯誤:table dbcc 檢查表 ('sys.filestream_tombstone_2073058421') (ID IDNumber) 。 資料列在索引 'FSTSNCIdx' (IDIDNumber) 中沒有相符的索引列。 索引列匹配可能缺少或無效的鍵:

解決方式

此問題的修正包含於以下 SQL Server 更新中:

累積更新13 for SQL Server 2017

Cumulative Update 1 for SQL Server 2014 Service Pack 3

累積更新15 for SQL Server 2014 Service Pack 2

關於 SQL Server 建置

每個新的 SQL Server 建置都包含了前一個建置中所有的熱修補與安全修補。 我們建議您安裝最新版本的 SQL Server:

SQL Server 2017 組建版本

SQL Server 2014 建置版本

因應措施

為了解決這個問題,請使用 DBCC CHECKTABLE 指令重建資料庫索引。

狀態

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

參考資料

了解 Microsoft 用來描述軟體更新的標準 術語