SQL Server で SPN が正しく配置されなかった明示的な問題
この記事は、明示的に正しく配置されていないサービス プリンシパル名 (SPN) に影響する SQL Server の一貫性のある認証の問題を解決するのに役立ちます。
現象
接続文字列で指定した SPN が Microsoft SQL Server で使用されていないサービス アカウントに存在する場合は、セキュリティ サポート プロバイダー インターフェイス (SSPI) コンテキスト エラー メッセージが表示されます。
SPN が正しく登録されていない場合は、次のエラー メッセージが表示されることがあります。
対象のプリンシパル名が間違っています。 SSPI コンテキストを生成できません。
既に存在する SPN を作成しようとすると、次のエラー メッセージが表示されます。
重複する SPN が見つかり、操作が中止されました。
原因
明示的に正しく配置されていない SPN を使用すると、Kerberos 認証で問題が発生し、クライアントがサービスに接続できなくなる可能性があります。
解決方法
SPN が明示的に正しく配置されていない場合は、サービスの SPN を作成または再作成する必要があります。 SETSPN
コマンドを使用して SPN を作成または再作成するには、次の手順に従います。
SETSPN -L domain\svcacct
コマンドを実行して、SQL Server サービス アカウントの SPN を一覧表示します。SETSPN -Q spnName
コマンドを実行して、SPN が登録されているサービス アカウントを確認します。SETSPN -D
コマンドを実行して、サービスから SPN を削除します。SETSPN -A
コマンドを実行して、サービスに SPN を追加します。SETSPN -D
を使用して SPN を移動するか、正しいアカウントに既に存在する SPN を選択します。