最近、2ノードのフェールオーバークラスターでホストされているSQLサーバー2012が起動に失敗する問題に直面しました。そして、クラスターとWindowsのイベントログはあまり役に立たなかったので、SQLサーバーのロールを開始しようとするたびに以下のエラーが発生するSQLサーバーのエラーログをチェックし始めましたフェイルオーバークラスターマネージャー
ユーザー「NT AUTHORITY\SYSTEM」のログインに失敗しました。理由:指定された名前に一致するログインが見つかりませんでした。 [クライアント:]
そのため、ログインNT AUTHORITY\SYSTEMを作成し、それをSysadminロールに追加しました。そしてそれは働いた!、
今、私がしたことが正しいかどうかは、セキュリティに関して賢明ではありません。
はい、失敗することが予想されます。 ここに記載 です。
AlwaysOn可用性グループとSQLフェールオーバークラスターインスタンスと権限
データベースエンジンをAlwaysOn可用性グループまたはSQLフェールオーバークラスターインスタンス(SQL FCI)としてインストールすると、ローカルシステムがデータベースエンジンでプロビジョニングされます。 LOCAL SYSTEMログインには、ALTER ANY AVAILABILITY GROUP権限(AlwaysOn可用性グループの場合)およびVIEW SERVER STATE権限(SQL FCIの場合)が付与されます。
今すぐ回答するには:
1.SQLサーバー内でNT AUTHORITY\SYSTEMを作成することは安全ではないと聞きました。その場合、クラスターサービスをドメインアカウントに変更する必要がありますか?、これは何かに影響しますか?
実際のクラスターサービスについて話していると思います。その場合は、変更しないでください。ドメインアカウントが使用されている場合は、WS2003で変更できますが、2008年以降は変更できません。これを行うと、クラスターが壊れる可能性が高くなります。
2. NT AUTHORITY\SYSTEMをSysadminロールに追加しました-これは本当に必要ですか、または必要な権限のみを明示的にログインに提供できますか?
Sysadminsは必要ありません。上記のリンク/引用に従って、VIEW SERVER STATEが必要です。
SQLセキュリティ/ログインの「NT AUTHORITY\SYSTEM」プロパティを確認します。 「セキュリティ保護可能なファイル」を確認します。サーバーのホスト名が表示されます。 (そうでない場合は、「検索...」ボタンで追加します。)ホスト名を選択し、チェックボックスのみを確認します。1)アベイルズグループの変更を許可します。2)Connect SQLを許可します。3)サーバー状態を許可します。他は選択しないでください。