現象
次のような状況で問題が発生します。
-
非常に大きな Filestream テーブルがあります。
-
Filestream テーブル内の行の削除クエリを実行して、内部結合によって、システム内の別の大きなテーブルにフィルターが適用されている場合など、負荷の高いクエリプランを作成します。
-
クエリオプティマイザーが並列実行計画を選択します。
このシナリオでは、ssertion が発生し、次のようなエラーメッセージが SQL Server のエラーログに表示されることがあります。
DateTime spid SpidNumber エラー: 5553、Severity:20、状態: 6。
DateTime spid SpidNumber SQL Server 内部エラー。 FILESTREAM マネージャーで現在のコマンドを続行することはできません。
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server の累積更新プログラムについて:
SQL Server 用の新しい累積的な更新プログラムには、すべて 修正プログラムと、以前のバージョンに含まれていたすべてのセキュリティの修正 累積更新プログラム。 SQL Server の最新の累積的な更新プログラムを確認します。
回避策
To この問題を回避するには、y ou で次の方法を使用します。
内部結合クエリを別のステートメントに移動し、結果を一時的なテーブルに保存します。 次に、一時テーブルのエントリによってフィルター処理された削除クエリを実行します。 さらに、並列処理のコストしきい値を大きくして、オプティマイザーによるクエリ計画のシリアル化を強制することができます。
次に例を示します。
[RefTable] を選択します。 #T の別名は、RefTable の INNER JOIN という内部結合テーブルにあります。 alias = OuterTable
> 30006 と OuterTable < 30010 の形式を指定します。
データベースの dbo から削除します。'95'5CAlias の場所 (SELECT * FROM #T)
参照情報
用語について Microsoft はソフトウェアの更新について説明します。