web-dev-qa-db-ja.com

LocalSystemで以前に実行されている場合、SQLサービスをNT SERVICE \ MSSQLSERVERアカウントで実行する方法

最近、実験的なpuproseのために、サーバー設定のデフォルト(C:...)data\logファイルパスを新しい場所(G:\ DBA)に再配置しました。

次に、既存のdbのdata\logファイルを新しい場所(G:\ DBA)に移動し、SQLサービスを再起動しました。それから、私がDBを作成しているときはいつでも、期待どおりに機能しています。つまり、data\logファイルが新しい場所(cool ...)に作成されています。

しかし問題は、以前に存在していたすべてのDBがRecoveryPending状態であることもわかりますAccessようなエラーが発生しましたenter image description here SQLが実行されているサービスアカウント(NT SERVICE\MSSQLSERVER)が新しい場所(G:\ DBA)にアクセスできないと考え、ログオンアカウントをLocal Systemコンピュータ管理コンソールのSQLサービス。これで、すべてのdbが良好であることがわかります。 enter image description here

しかし、SQLサービスをNT SERVICE\MSSQLSERVER(デフォルトのインスタンス)サービスアカウントで実行したいのですが。 NT SERVICE\MSSQLSERVERのG:\ DBA \へのフルアクセスを与えてみましたが、使用しませんでした。 SQLサービスをNT SERVICE\MSSQLSERVERサービスアカウントで実行したい場合は、何をすればよいか教えてください。私はこの分野の初心者です。私を助けてください。

前もって感謝します。 。 。

8
Sunil Kumar

サービスアカウントに必要なすべての権限を適用するには、SQL Server構成マネージャーでサービスアカウントを変更する必要があります。

構成マネージャーを開き、左側のツリービューでSQL Serverサービスを選択してから、目的のSQL Serverインスタンスのプロパティウィンドウを開きます。

次のようにサービスアカウントを設定します。

Configuration Manager

次に、ファイルエクスプローラーを開き、SQL Serverデータルートに移動して、プロパティウィンドウの権限を変更します。 [詳細]ボタンをクリックします。

Folder properties

[権限を変更]ボタンをクリックします。

Advanced permissions

次に、追加ボタンを使用してサービスアカウントを追加します。コンピューターがドメインに属している場合は、ローカルコンピューターを選択し、NT SERVICE\MSSQLSERVERを入力してください。

Find user

「子オブジェクトのアクセス権を置き換える」チェックボックスをオンにしてください。

Edit permissions

9
spaghettidba