Verwaltung von Anmeldenamen und Aufträgen nach einem Rollenwechsel (SQL Server)Management of Logins and Jobs After Role Switching (SQL Server)

Bei der Bereitstellung einer Lösung für hohe Verfügbarkeit oder Notfallwiederherstellung für eine SQL ServerSQL Server -Datenbank ist es wichtig, relevante Informationen, die in der master - oder msdb -Datenbank für die Datenbank gespeichert sind, zu reproduzieren.When deploying a high-availability or disaster-recovery solution for a SQL ServerSQL Server database, it is important to reproduce relevant information that is stored for the database in the master or msdb databases. Zu relevanten Informationen gehören normalerweise die Aufträge der primären/Prinzipaldatenbank sowie die Anmeldenamen der Benutzer oder Prozesse, die eine Verbindung mit der Datenbank herstellen müssen.Typically, the relevant information includes the jobs of the primary/principal database and the logins of users or processes that need to connect to the database. Diese Informationen sollten auf jeder SQL ServerSQL Server -Instanz dupliziert werden, die eine sekundäre/Spiegeldatenbank hostet.You should duplicate this information on any instance of SQL ServerSQL Server that hosts a secondary/mirror database. Nach dem Rollenwechsel sollten die Informationen möglichst in der neuen primären/Prinzipaldatenbank programmgesteuert reproduziert werden.If possible after roles are switched, it is best to programmatically reproduce the information on the new primary/principal database.

AnmeldungenLogins

Anmeldenamen, denen eine Berechtigung für den Zugriff auf die Prinzipaldatenbank zugewiesen wurde, sollten auf jeder Serverinstanz reproduziert werden, die eine Kopie der Datenbank hostet.On every server instances that hosts a copy of the database, you should reproduce the logins that have permission to access the principal database. Wenn die primäre/Prinzipalrolle gewechselt wird, können ausschließlich Benutzer, deren Anmeldenamen auf der neuen primären/Prinzipalserverinstanz enthalten sind, auf die neue primäre/Prinzipaldatenbank zugreifen.When the primary/principal role switches, only users whose logins exist on the new primary/principal server instance can access the new primary/principal database. Benutzer, deren Anmeldenamen nicht auf der neuen primären/Prinzipalserverinstanz definiert wurden, sind verwaist und können nicht auf die Datenbank zugreifen.Users whose logins are not defined on the new primary/principal server instance are orphaned and cannot access the database.

Wenn ein Benutzer verwaist ist, erstellen Sie den Anmeldenamen auf der neuen primären/Prinzipalserverinstanz und führen sp_change_users_loginaus.If a user is orphaned, create the login on the new primary/principal server instance and run sp_change_users_login. Weitere Informationen finden Sie unter Problembehandlung bei verwaisten Benutzern (SQL Server)aus.For more information, see Troubleshoot Orphaned Users (SQL Server).

Anmeldenamen von Anwendungen, die die SQL Server-Authentifizierung oder eine lokale Windows-Anmeldung verwenden Logins Of Applications That Use SQL Server Authentication or a Local Windows Login

Wenn eine Anwendung die SQL Server-Authentifizierung oder eine lokale Windows-Anmeldung verwendet, können nicht übereinstimmende SIDs verhindern, dass der Anmeldename der Anwendung auf einer Remoteinstanz von SQL ServerSQL Serveraufgelöst wird.If an application uses SQL Server Authentication or a local Windows login, mismatched SIDs can prevent the application's login from resolving on a remote instance of SQL ServerSQL Server. Aufgrund der nicht übereinstimmenden SIDs wird der Anmeldename auf der Remoteserverinstanz als verwaister Benutzer behandelt.The mismatched SIDs cause the login to become an orphaned user on the remote server instance. Dieses Problem kann auftreten, wenn von einer Anwendung nach einem Failover eine Verbindung mit einer gespiegelten oder Protokollversand-Datenbank hergestellt wird bzw. wenn eine Verbindung mit einer Replikationsabonnenten-Datenbank hergestellt wird, die von einer Sicherung initialisiert wurde.This issue can occur when an application connects to a mirrored or log shipping database after a failover or to a replication subscriber database that was initialized from a backup.

Um dieses Problem zu vermeiden, sollten Sie Vorbeugemaßnahmen ergreifen, wenn Sie eine solche Anwendung für die Verwendung einer Datenbank einrichten, die auf einer Remoteinstanz von SQL ServerSQL Servergehostet wird.To prevent this issue, we recommend that you take preventative measures when you set up such an application to use a database that is hosted by a remote instance of SQL ServerSQL Server. Eine Vorbeugungsmaßnahme besteht darin, die Anmeldenamen und Kennwörter von der lokalen Instanz von SQL ServerSQL Server auf die Remoteinstanz von SQL ServerSQL Serverzu übertragen.Prevention involves transferring the logins and the passwords from the local instance of SQL ServerSQL Server to the remote instance of SQL ServerSQL Server. Weitere Informationen zur Vermeidung dieses Problems finden Sie im KB-Artikel 918992 –Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server.For more information about how to prevent this issue, see KB article 918992 —How to transfer logins and passwords between instances of SQL Server).

Hinweis

Dieses Problem betrifft lokale Windows-Konten auf unterschiedlichen Computern.This problem affects Windows local accounts on different computers. Bei Domänenkonten tritt das Problem jedoch nicht auf, da die SID auf allen Computern identisch ist.However, this problem does not occur for domain accounts because the SID is the same on each of the computers.

Weitere Informationen finden Sie unter Orphaned Users with Database Mirroring and Log Shipping (Verwaiste Benutzer bei Datenbankspiegelung und Protokollversand) (Blog zum Datenbankmodul).For more information, see Orphaned Users with Database Mirroring and Log Shipping (a Database Engine blog).

AufträgeJobs

Aufträge, wie z. B. Sicherungsaufträge, erfordern besondere Aufmerksamkeit.Jobs, such as backup jobs, require special consideration. Nach einem Rollenwechsel muss der Datenbankbesitzer oder der Systemadministrator die Aufträge für die neue primäre/Prinzipaldatenbank gewöhnlich erneut erstellen.Typically, after a role switch, the database owner or system administrator must re-create the jobs for the new primary/principal database.

Wenn die frühere primäre/Prinzipalserverinstanz verfügbar ist, sollten Sie die ursprünglichen Aufträge auf dieser Instanz von SQL ServerSQL Serverlöschen.When the former primary/principal server instance is available, you should delete the original jobs on that instanceof SQL ServerSQL Server. Sie sollten beachten, dass Aufträge in der aktuellen Spiegeldatenbank fehlerhaft sind, weil sich die Datenbank im Status RESTORING befindet und dadurch nicht verfügbar ist.Note that jobs on the current mirror database fail because it is in the RESTORING state, making it unavailable.

Hinweis

Unterschiedliche Instanzen von SQL ServerSQL Server sind möglicherweise anders konfiguriert und verfügen u. U. über abweichende Laufwerkbuchstaben.Different instances of SQL ServerSQL Server might be configured differently, with different drive letters or such. Bei den Aufträgen für die einzelnen Partner müssen derartige Unterschiede berücksichtigt werden.The jobs for each partner must allow for any such differences.

Siehe auchSee Also

Verwalten von Metadaten beim Bereitstellen einer Datenbank auf einer anderen Serverinstanz (SQL Server) Manage Metadata When Making a Database Available on Another Server Instance (SQL Server)
Problembehandlung bei verwaisten Benutzern (SQL Server) Troubleshoot Orphaned Users (SQL Server)