Wir haben 2 Server in einer AlwaysOn-Gruppe.
Während die Benutzerkonten in jeder synchronisierten Datenbank auf beiden Servern vorhanden sind, sind die Anmeldungen auf Datenbankinstanzebene nur auf einem der Server vorhanden. Dh DBINSTANCE-> Security-> Logins fehlen auf einem Server.
Daher erhalte ich bei einem Failover Anmeldefehler auf dem zweiten Server (der nicht über die entsprechenden Anmeldungen auf Instanzebene verfügt).
Wie überwinde ich dieses Problem? Sollte ich das Benutzerkonto auf besondere Weise einrichten?
Antworten:
Meines Wissens ist das, wenn Sie nicht enthaltene Datenbanken verwenden müssen Sie sicherstellen, dass Anmeldungen auf anderen Instanzen manuell erstellt werden .
Etwas wie dieses Skript von SQLSoldier , ursprünglich als " Logins auf einen Datenbankspiegel übertragen" veröffentlicht , sollte den Trick machen.
quelle
Msg 7202, Level 11, State 2, Line 1 Could not find server 'otherserver' in sys.servers. Verify that the correct server name was specified. If necessary, execute the stored procedure sp_addlinkedserver to add the server to sys.servers.
Sie müssen entweder eine enthaltene Datenbank verwenden oder die Benutzer auf den anderen Servern mit demselben Kennwort-Hash und derselben SID neu erstellen.
Ein Skript hierfür wird von Microsoft bereitgestellt: Übertragen von Anmeldungen und Kennwörtern zwischen Instanzen von SQL Server
Marks Lösung war teilweise richtig, jedoch war seine empfohlene Lösung für gespiegelte Datenbanken, im Gegensatz zu AlwaysOn, was in den Fragen gefragt wird.
quelle
Ich antworte nach langer Zeit auf den Post, aber es kann jemand anderem bei dem ähnlichen Problem helfen. Mit PowerShell können Anmeldungen von der primären Replik auf die sekundären Repliken kopiert werden. Details finden sich hier https://maq.guru/synchronizing-sql-server-logins-in-an-always-on-availability-group/ .
Vollständige Offenlegung: Ich besitze die oben genannte Website.
Das PowerShell-Skript:
quelle
Sie müssen Windows-Domänenanmeldungen verwenden und in jeder Instanz erstellen. Da die SID über Active Directory verwaltet wird, können Sie auf alle Replikate der Verfügbarkeitsgruppe zugreifen, wenn die Anmeldung im primären Replikat vorhanden ist. Eine andere Option, die Sie benötigen, um ein Zertifikat zu verwenden.
quelle