現象
Microsoft SQL Server のインスタンスに FILESTREAM 対応データベースがあるとします。 トランザクションを開始し、SqlFileStream .NET API を使用して Filestream ファイルを開くと、タスクが失敗し、外部要因のために例外がスローされる可能性があります。
同じトランザクション内で SqlFileStream を使用してファイルを再度開き、コミットすると、次のような内部エラー メッセージが表示されることがあります。
注
date time, spids, Unknown, Error: 5571<c/> 重大度: 23<c/> State: 3.
date time, spids, Unknown, Internal FILESTREAM エラー: ガベージ コレクション テーブルにアクセスできませんでした。
dbcc checktable ('sys.filestream_tombstone_2073058421') を実行すると、次のエラー メッセージが表示されることがあります。
注
Msg 8951、レベル 16、状態 1、Line LineNumber
テーブル エラー: table dbcc checktable ('sys.filestream_tombstone_2073058421') ( ID IDNumber)。 データ行には、インデックス 'FSTSNCIdx' (ID IDNumber) に一致するインデックス行がありません。 インデックス行に一致するキーが見つからないか無効である可能性があります。
解決策
この問題の修正プログラムは、SQL Serverの次の更新プログラムに含まれています。
SQL Server 2017 の累積的な更新プログラム 13
SQL Server 2014 Service Pack 3 の累積的な更新プログラム 1
SQL Server 2014 Service Pack 2 の累積的な更新プログラム 15
ビルドSQL Serverについて
SQL Serverの各新しいビルドには、前のビルドにあったすべての修正プログラムとセキュリティ修正プログラムが含まれています。 ご使用のバージョンの SQL Server 用の最新ビルドをインストールすることをお勧めします。
回避策
この問題を回避するには、 DBCC CHECKTABLE コマンドを使用してデータベース インデックスを再構築します。
状態
Microsoft は、これが "適用対象" セクションに記載されている Microsoft 製品の問題であることを確認しました。
参考資料
Microsoft がソフトウェア更新プログラムの説明に使用する標準的な 用語 について説明します。