Freigeben über


Explizites Problem mit falsch platziertem SPN in SQL Server

In diesem Artikel erfahren Sie, wie Sie ein Problem mit der konsistenten SQL Server-Authentifizierung beheben, das sich auf den expliziten, falsch platzierten Dienstprinzipalnamen (Service Principal Name, SPN) auswirkt.

Symptome

Wenn der SPN, den Sie in der Verbindungszeichenfolge angeben, in einem Dienstkonto vorhanden ist, das nicht von Microsoft SQL Server verwendet wird, erhalten Sie eine SSPI-Kontext-Fehlermeldung (Security Support Provider Interface).

Wenn der SPN nicht ordnungsgemäß registriert ist, erhalten Sie möglicherweise die folgende Fehlermeldung:

„Der Zielprinzipalname ist falsch.“ „Der SSPI-Kontext kann nicht generiert werden“

Wenn Sie versuchen, einen bereits vorhandenen SPN zu erstellen, erhalten Sie die folgende Fehlermeldung:

Doppelter SPN gefunden, Vorgang abgebrochen!

Ursache

Die explizit falsch platzierten SPNs können Probleme bei der Kerberos-Authentifizierung verursachen und Clients daran hindern, eine Verbindung mit dem Dienst herzustellen.

Lösung

Wenn explizit falsch platzierte SPNs auftreten, müssen Sie möglicherweise den SPN für den Dienst erstellen oder neu erstellen. Führen Sie die folgenden Schritte aus, um den SPN mit dem SETSPN Befehl zu erstellen oder neu zu erstellen:

  1. Führen Sie den SETSPN -L domain\svcacct Befehl aus, um SPNs für das SQL Server-Dienstkonto aufzulisten.
  2. Führen Sie den SETSPN -Q spnName Befehl aus, um zu erfahren, für welches Dienstkonto der SPN registriert ist.
  3. Führen Sie den SETSPN -D Befehl aus, um den SPN aus dem Dienst zu entfernen.
  4. Führen Sie den SETSPN -A Befehl aus, um den SPN dem Dienst hinzuzufügen.
  5. Verschieben Sie den SPN mithilfe SETSPN -Dvon , oder wählen Sie einen SPN aus, der bereits im richtigen Konto vorhanden ist.

Weitere Informationen

Probleme mit konsistenter Authentifizierung in SQL Server