SQL Server 2008 R2を使用していますが、ファイルストリームに格納されている値にアクセスしようとすると、次のエラーが発生します。
メッセージ233、レベル20、状態0、行0
サーバーから結果を受信するときにトランスポートレベルのエラーが発生しました。 (プロバイダー:共有メモリプロバイダー、エラー:0-パイプのもう一方の端にプロセスがありません。)
また、SQLERRORLOGファイルで次のエラーがスローされます。
SqlDumpExceptionHandler:プロセス51が致命的な例外c0000005EXCEPTION_ACCESS_VIOLATIONを生成しました。 SQLServerはこのプロセスを終了しています。
その例外について読んだところ、MicrosoftにはKBがあります( KB972936 )が、修正プログラムをインストールした後も機能しませんでした。
SELECT
の場合、以下を使用してそのテーブル内のレコードの数
SELECT COUNT(1) FROM [Table_Name]
正しい結果が得られます。
データベースファイルとファイルグループの詳細は次のとおりです。データベースには、「行データ」ファイルと「ログ」ファイルの2つのファイルがあり、「ファイルストリームデータ」項目も含まれている必要があります。
データベースには次のファイルグループがあります。
DBプロパティページ のスナップショットを次に示します。
そしてここに 完全なSQL ERRORLOGファイル があります。
このエラーは、SQLServerサービスアカウントがファイルストリームデータにアクセスできないことを示しているようです。 SQL Server構成マネージャー(Windowsサービスマネージャーではありません!)を使用して、SQLServerサービスアカウントを組み込みアカウントの1つに変更してみてください。次に、元のアカウントに戻します(ここでパスワードを知っている必要があります!)。
これで、アクセス権の問題が修正されるはずです。ただし、2回のサービス再起動が発生します。