Zur Beachtung - Anleitungen

Bitte beachten Sie, daß die bereitgestellten Informationen zum Zeitpunkt der Erstellung im Rahmen von durchgeführten Arbeiten dokumentiert und validiert wurden. In einer geänderten Systemumgebung können für die Schritte Anpassungen erforderlich sein. Dies gilt insbesonders, falls die Informationen Workarounds oder Fehlerbehebungen betreffen. Die Informationen sind entsprechend spezifisch für die Systemumgebung und Version der Systeme zum Zeitpunkt der Arbeiten. Schritte, die sich für uns von selbst erschließen, sind ggf. nicht in den Anleitungen enthalten. Dasselbe gilt auch für konzeptionelle Anleitungen. Diese sind für spezifische Umgebungen und spezifische Erfordernisse erstellt und müssen vor Anwendung überprüft werden, ob sie für die angedachte Umgebung passend sind. Die Verwendung erfolgt auf eigene Gefahr.

Wir raten in jedem Fall dazu, vorab ein Backup in einem Umfang zu erstellen, der die Wiederherstellung der Systeme im Fehlerfall sichert. Dies betrifft bei Active-Directory-integrierten Diensten auch das Active-Directory.

 

(05.05.2018)

Im Rahmen des Umzugs eines SQL Server 2008 von einem SBS2008 auf einen Windows Server 2012 R2 gab es das Problem, daß die Windows-Authentifizierung bei Clientverbindungen mit der Fehlermeldung "Der Prinzipalname des ziels ist nicht korrekt. SSPI Kontext kann nicht generiert werden" fehlschlug. Interessanterweise war auf dem System selbst die Verbindung mit Windows Auth möglich. Im Eventlog fanden sich folgende (sicherungsspezifische) Fehler:

Sqllib-Fehler: OLE DB-Fehler beim Aufrufen von IDBInitialize::Initialize. hr = 0x80004005. SQLSTATE: HY000, Native Error: -2146893022
Source: Microsoft SQL Server Native Client 10.0
Error message: Cannot generate SSPI context
SQLSTATE: HY000, Native Error: -2146893022
Error state: 1, Severity: 16
Source: Microsoft SQL Server Native Client 10.0
Error message: SQL Server Network Interfaces: Der Zielprinzipalname ist falsch.

DBPROP_INIT_DATASOURCE: <Netbios Servername>
DBPROP_INIT_CATALOG: master
DBPROP_AUTH_INTEGRATED: SSPI

Der Server war schon vor geraumer Zeit aufgesetzt worden, lediglich die Datenbanken wurden nun umgezogen - weswegen das Problem unbemerkt blieb.

Eine kurze Suche warf diesen MS-Support-Beitrag aus: https://support.microsoft.com/en-us/help/2443457/you-may-experience-connectivity-issues-to-sql-server-if-spns-are-misco

Das Problem dabei ist allerdings, daß man zum Löschen von SPNs den jeweiligen Kontonamen kennen muß, mit dem der SPN erstellt wurde.

In dem konkreten Fall wurde einfach mal der Servername angegeben - weil die Möglichkeit bestand, daß die SPNs für den lokalen Computeraccount hinzugefügt worden waren und im Nachnag der Service Account geändert - und das war auch so.

Wenn jedoch irgendeine Konfiguration vorliegt, dann müßte jedes Konto geprüft werden, was sich in der Praxis als mühselig herausstellen dürfte.

Glücklicherweise gibt es in der Technet Gallery einen Eintrag, der genau dieses Problem adressiert: https://gallery.technet.microsoft.com/scriptcenter/Get-SPN-Get-Service-3bd5524a

Das Script sucht SPNs und listet die auch über verschiedene Accountgrenzen hinweg auf.