FIX ファイル テーブルがデータベース レベルのディレクトリが、アクセス可能なデータベースの起動時に SQL Server の 2016、2017

適用対象: SQL Server 2016 DeveloperSQL Server 2016 EnterpriseSQL Server 2016 Enterprise Core

現象


Microsoft SQL Server 2016、2017年起動時に、ユーザーが開こうとすると中にデータベースへの接続開始前に、ユーザーのセッションがあります、自動起動するデータベースです。場合、データベースが含まれている場合、ファイルテーブルが FILESTREAM には、 non_transacted_accessを有効にし、データベース ・ レベルファイルテーブルがディレクトリは、データベースの起動後にアクセスできません。ファイル エクスプ ローラーからフォルダーにアクセスしようとする可能性があります、フォルダーがあります。使用できません。「システム ファイルが見つかりませんを指定します」を返します、コマンド プロンプトから「dir」コマンドを実行するとき

さらに、ユーザー セッションを示すエラー ログに次のエラー、データベースの自動起動をトリガーするを参照してください可能性があります。

日付時刻ログオン エラー: 18456、重大度: 14、状態: 38 です。

日付時刻ログオン ログインは、ユーザー 'ユーザー名'に失敗しました。理由: は、明示的に指定したデータベース'データベース名'を開けませんでした。[クライアント: IPNumber]

状態


マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。

解決方法


この問題が SQL Server の次の累積的な更新プログラムで修正します。

に関する SQL Server 用の累積的な更新。

SQL Server 用の新しい累積的な更新プログラムには、以前の累積的な更新プログラムに含まれていた、すべての修正プログラムおよびすべてのセキュリティ更新プログラムが含まれています。以下で、SQL Server 用の最新の累積的な更新プログラムを確認してください。

回避策


無効にして、データベースのファイル ストリームの non_transacted_access を再度有効にするのには、この問題を回避する方法です。

ロールバック イミディ エイトでのデータベースの [データベース名] セット SINGLE_USER を変更します。

ALTER データベース [データベース名] の設定のファイル ストリーム (NON_TRANSACTED_ACCESS = OFF)

ALTER データベース [データベース名] の設定のファイル ストリーム (NON_TRANSACTED_ACCESS = 完全)

ロールバック イミディ エイトでのデータベースの [データベース名] セット MULTI_USER を変更します。

参照情報


については、  用語集Microsoft を使用して、ソフトウェア更新プログラムについて説明することです