現象
Microsoft SQL Server 2016 および2017の起動時、ユーザーが 開始する前にデータベースに接続するには、ユーザーセッションで 自動開始されるデータベース。 この場合、データベースに FileTable と FILESTREAM non_transacted_access 有効、データベースレベル データベースの起動後、FileTable ディレクトリにアクセスできません。 エクスプローラーを使用してフォルダーにアクセスしようとすると、フォルダーが なかっ. コマンドプロンプトから "dir" コマンドを実行すると、 "指定されたファイルが見つかりません"というメッセージが返されます。
さらに、ユーザーセッションでデータベースが自動開始されることを示す、次のエラーがエラーログに表示されることがあります。
DateTime ログオンエラー: 18456、レベル:14、状態:38。
DateTime ユーザ 名のログインに失敗しました。 理由: 明示的に指定されたデータベース ' DatabaseName 'を開けませんでした。 [クライアント: Ipnumber]
状態
マイクロソフトでは、この問題をこの資料の対象製品として記載されているマイクロソフト製品の問題として認識しています。
解決方法
この問題は、SQL Server の次の累積的な更新プログラムで修正されています。
SQL Server の累積更新プログラムについて:
SQL Server 用の新しい累積更新プログラムには、以前の累積的な更新プログラムに含まれていたすべての修正プログラムとすべてのセキュリティ修正が含まれています。 SQL Server の最新の累積的な更新プログラムを確認します。
回避策
この問題を回避するには、データベースの FILESTREAM non_transacted_access を無効にして、もう一度有効にします。
ALTER DATABASE [DatabaseName] ROLLBACK で SINGLE_USER を設定する
ALTER DATABASE [DatabaseName] SET FILESTREAM (NON_TRANSACTED_ACCESS = OFF)
ALTER DATABASE [DatabaseName] SET FILESTREAM (NON_TRANSACTED_ACCESS = FULL)
ALTER DATABASE [DatabaseName] ROLLBACK で MULTI_USER を設定する
参照情報
詳細につい ては、terminologyソフトウェアの更新を説明するために Microsoft が使用する用語。