適用先SQL Server 2016 Developer - duplicate (do not use) SQL Server 2016 Enterprise - duplicate (do not use) SQL Server 2016 Enterprise Core - duplicate (do not use) SQL Server 2016 Standard - duplicate (do not use) SQL Server 2017 Developer Windows SQL Server 2017 Enterprise Windows SQL Server 2017 Enterprise Core Windows SQL Server 2017 Standard Windows

現象

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 が使用する用語。

ヘルプを表示

その他のオプションが必要ですか?

サブスクリプションの特典の参照、トレーニング コースの閲覧、デバイスのセキュリティ保護方法などについて説明します。