Eine neue Episode aus dem Märchenbuch eines Entwicklers mit dem Titel Sachen gibt's, die gibts gar nicht.
Ich habe gerade für 2 SQL-Server-2005-Datenbanken eine Spiegelung eingerichtet. Damit diese Datenbanken von Webanwendungen via Windows-Authentifizierung verwendet werden können, habe ich ebenfalls auf beiden (Windows-) Servern entsprechende Benutzer angelegt, da Datenbank und IIS jeweils auf beiden Rechnern laufen. Diese Benutzer habe ich dann entsprechend als Anmeldung am jeweiligen SQL-Server registriert und dann den Datenbanken zugeordnet und die Rolle vergeben.
Seltsamerweise schien das Management Studio die ganze Zeit Benutzer miteinander zu verwechseln - entweder meldete es, ein Benutzer sei schon vorhanden, oder aber ich öffnete einen Benutzer und fand - von mir nie gesetzte - Einstellungen für einen anderen (!) Benutzer in der Zuordnung wieder.
Über den Fehlercode 15063 bin ich dann auf die Stored Procedure sp_helplogins gestoßen, die Erleuchtung brachte. Das Problem ist ein ganz spezieller Benutzer - bzw. genauer zwei davon ...
sp_helplogins 'Server1\WWW_xyz.de'
lieferte folgendes Ergbenis:
LoginName: Server1\WWW_xyz.de
SID: 0x0105000000000005150000007C286D0BD739949A6CFF2D6203040000
Weiterhin (verkürzt):
LoginName: SERVER1\WWW_xyz.de
UserName: SERVER2\WWW2_admin
UserOrAlias: User
Aha!? Der Benutzer Server1\WWW_xyz.de wurde also als SERVER2\WWW2_admin wiedergefunden. Da hat's geklingelt. Die Abfrage der gleichen Stored Procedure für den WWW2_admin auf dem zweiten Server brachte dann das Ergebnis, nämlich die SID dieses Users: 0x0105000000000005150000007C286D0BD739949A6CFF2D6203040000.
Es ist also exakt die gleiche. Ich bin mir nicht 100% sicher, aber ich vermute der Grund liegt darin, dass der zweite Server ein Duplikat des ersten ist (es handelt sich um virtuelle Maschinen). Wir haben also erst den 1. eingerichtet und dass Ding dann dupliziert. Wahrscheinlich tickt in Windows irgendwo eine "Uhr", anhand derer dann auch die ID's für neue Benutzer vergeben werden. Ich habe also heute alle Nutzer neu angelegt, und zufällig, wirklich zufällig haben beide die gleiche ID erwischt
2 Stunden hat der Mist gedauert. Sachen gibt's, die gibt's gar nicht.