web-dev-qa-db-ja.com

SQL Server-サービスを再起動せずにサービスプリンシパル名を登録しますか?

SPNが登録されていないライブSQL Server 2012環境があります。以前はKerberos認証が必要なかったため、これは問題になりませんでした。しかし、今はそれが必要です。

すべてを正しく構成しましたが、これらの変更後、SQL ServerがSPNを正常に登録できるようにします。これはライブ環境であるため、できればサービスを再起動する必要はありません。

これを行う方法はありますか?

追伸SPNを手動で登録できることはわかっていますが、自動的に登録できることを確認したいと思います。

2
paulH

素早い回答

質問:

すべてを正しく構成しましたが、これらの変更後、SQL ServerがSPNを正常に登録できるようにします。これはライブ環境であるため、できればサービスを再起動する必要はありません。

これを行う方法はありますか?

回答:

番号。

説明

公式ドキュメントから Kerberos接続のサービスプリンシパル名を登録

サービスプリンシパル名(SPN)はActive Directoryに登録する必要があります。これは、Windowsドメインのキー配布センターの役割を引き受けます。 SPNは、登録後、SQL Serverインスタンスサービスを開始したWindowsアカウントにマップされます。 SPN登録が実行されていないか失敗した場合、WindowsセキュリティレイヤーはSPNに関連付けられたアカウントを特定できず、Kerberos認証は使用されません。

そして

サーバーがSPNを自動的に登録できない場合は、SPNを手動で登録する必要があります。 手動SPN登録 を参照してください。

さらに下のセクションで自動SPN登録を見つけることができます

SQL Serverデータベースエンジンのインスタンスが起動すると、SQL ServerはSQL ServerサービスのSPNを登録しようとします。インスタンスが停止すると、SQL Server SPNの登録解除を試みます。 TCP/IP接続の場合、SPNはMSSQLSvc /:の形式で登録されます。名前付きインスタンスとデフォルトのインスタンスの両方がMSSQLSvcとして登録され、値を使用してインスタンスを区別します。

概要

SQL Serverサービスは、サービスの開始時に自動的にSPNを登録します。 SQL Serverサービスを開始できない場合は、このタスクを手動で実行する必要があります。

考慮事項

SQL Serverサービスを開始するサービスアカウントがSPNの読み取りと書き込みを許可されていることを確認します。

これを行うには、Active DirectoryディレクトリサービスのSQL Serverサービスアカウントに次のアクセス制御設定を付与する必要があります。

  • ServicePrincipalNameを読み取る
  • ServicePrincipalNameを書き込む

参照:SQLでKerberos認証を使用する方法サーバー (Microsoftサポート)

3