問題
- Microsoft SQL Server データベースからのデータベースファイルの読み込み中にエラーが発生しました。マスターデータベースのシステムビューからデータを読み込むのに十分な権限が、'NT AUTHORITYSYSTEM' アカウントにあるかどうかを確認してください。
- データベースデータのカスタムロケーションを取得するときにエラーが表示される
- ESETサービスを有効にして、データベースデータのカスタムロケーションを取得してください。
- 1 台のサーバーに複数の Microsoft SQL Server インスタンスがある
解決方法
データベースデータのカスタムロケーションを取得する際にエラーが表示される
Microsoft SQL Server の自動除外は、主にデータベースファイルのデフォルトの場所から構成されます。ただし、データベースファイルがカスタムロケーションに格納されているパスも含まれます。この場合、NT AUTHORITYSYSTEM
アカウントには、マスター データベースからこの情報を抽出するための適切な権限が必要です。
Microsoft SQL Server 2016 以降では、Microsoft は NT AUTHORITYSYSTEM アカウントの sysadmin サーバー ロールを削除したため、ESET Windows サーバー製品は、Microsoft SQL Server インスタンスのデータベース データの場所を含むマスター データベースのデータにアクセスできなくなりました。
ESET Windows サーバー製品は、この問題をエラーメッセージで通知します。ログファイル]をクリックし、ドロップダウンメニューから[イベント]を選択して、エラーメッセージを表示します:
「Microsoft SQL Server データベースからデータベースファイルをロード中にエラーが発生しました。NT AUTHORITYSYSTEM」アカウントが、マスター・データベースのシステム・ビューからデータを読み取るのに十分な権限を持っているかどうかを確認してください。

クリックすると新しいウィンドウで拡大表示さ
ESET サービスがデータベースデータのカスタムロケーションを取得できるようにする
ESET サービスがデータベースデータのカスタムロケーションを取得できるようにするには 、Microsoft SQL Server Management Studio を使用して、以下の 3 つの手順のいずれかを実行します:
- NT AUTHORITYSYSTEM アカウントに 'View any definition' 権限を付与します(推奨)。
- NT AUTHORITYSYSTEMアカウントに'sysadmin'サーバ・ロールを付与する。
- NT AUTHORITYSYSTEMアカウントの'master'データベースに'db_owner'データベース・ロールを割り当てる。
A.NT AUTHORITYSYSTEMアカウントに'View any definition'権限を付与する(推奨)。
Microsoft SQL Server Management Studio に移動し、選択した Microsoft SQL Server インスタンスに接続します。
Securables をクリックします。Grant列で、View any definitionの横のチェックボックスを選択します。OK をクリックする。
図 2-1
B.NT AUTHORITYSYSTEMアカウントに'sysadmin'サーバ・ロールを付与する。
Microsoft SQL Server Management Studioに移動して、選択したMicrosoft SQL Serverインスタンスに接続する。
Server Roles」をクリックし、「sysadmin」の隣にあるチェック・ボックスを選択し、「OK」 をクリックする。
図 2-2
C.NT AUTHORITYSYSTEM アカウントの'master'データベースに'db_owner'データベース・ロールを割 り当てる。
Microsoft SQL Server Management Studioに移動し、選択したMicrosoft SQL Serverインスタンスに接続する。
User Mappingをクリックします。このログインにマップされたユーザー]セクションで、[master]の横にあるチェックボックスを選択します。データベース・ロール・メンバーシップ・フォー・セクションで、db_ownerの隣のチェック・ボックスを選択します。OK をクリックする。
図2-3
単一サーバー上の複数のMicrosoft SQL Serverインスタンス
Microsoft SQL Server Management Studioの起動時に表示される接続ダイアログを使用して、Microsoft SQL Serverの特定のインスタンスに接続することができます:
Microsoft SQL Server Management Studioに移動し、選択したサーバーに接続します。
- Microsoft SQL Server Management Studioに移動し、選択したサーバーに接続します。
<サーバー名><インスタンス名
図 3-1
Microsoft SQL Serverインスタンスのリストの取得
サーバーにインストールされているMicrosoft SQL Serverインスタンスのリストを取得するには、いくつかの方法があります:
Microsoft SQL Serverの新しいインスタンスをインストールする場合、新しいインスタンスの名前を入力するステップで、インストールウィザードが現在インストールされているインスタンスのリストを表示します。
インストールされているインスタンスのリストは、次のWindowsレジストリパスにあります:
HKEY_LOCAL_MACHINE ProxySOFTWARE ProxyMicrosoft SQL Server ProxyInstance Names
リストを取得するには、以下のPowerShellコマンドを使用します:
Get-Item "HKLM:¥SOFTWARE¥Microsoft¥Microsoft SQL Server¥Instance NamesSQL" | % {$_.Property}
各 Microsoft SQL Server インスタンスは、対応するサービスをシステムにインストールします。このサービス名は以下の形式です:
SQL Server (<インスタンス名>)
以下のPowerShellコマンドを使用すると、システム内のこれらのサービスをフィルタリングして、インストールされているMicrosoft Server SQLインスタンスのリストを取得できます:
Get-Service | ?{ $_.DisplayName -like "SQL Server (*")}