Direkt zum Inhalt

Wie verschiebe ich SQL-Server-Benutzer von einer Instance von RDS für SQL Server in eine andere oder in eine On-Premises-Umgebung von RDS?

Lesedauer: 4 Minute
0

Ich möchte SQL-Server-Logins und -Passwörter zwischen zwei Instances von Amazon Relational Database (Amazon RDS) für Microsoft SQL Server migrieren. Oder ich möchte Logins von oder zu einer On-Premises-Umgebung migrieren.

Lösung

Hinweis: Eine Anleitung zum Duplizieren des Logins primärer Benutzer findest du unter Wie kann ich meine Benutzeranmeldeberechtigungen für RDS für SQL Server duplizieren oder klonen?

Migrieren von SQL-Server-Logins von einer Instance von RDS für SQL Server-zu einer anderen

Gehe wie folgt vor, um die Logins und Passwörter zu einer neuen Ziel-RDS-Instance zu migrieren:

  1. Erstelle einen Snapshot der Quell-Instance.
  2. Verwende für die Ziel-Instance einen anderen Namen, um den Snapshot wiederherzustellen.
  3. Lösche die Logins und Datenbanken, die nicht benötigt werden.

Um Logins zu einer vorhandenen Ziel-RDS-Instance zu migrieren, führe die Schritte im folgenden Abschnitt aus.

Migrieren der Logins von RDS für SQL Server zu einer On-Premises-Umgebung

Hinweis: Du musst Passwörter in den folgenden Lösungen manuell eingeben. Du kannst kein verschlüsseltes Passwort für Logins direkt von RDS abrufen.

Option 1

  1. Erstelle die gespeicherte Prozedur sp_help_revlogins in einer beliebigen Benutzerdatenbank. Das Skript für gespeicherte Prozeduren findest du unter Methode 2 unter Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server (auf der Microsoft-Website).
  2. Führe die gespeicherte Prozedur aus, um Logins auf der Quell-Instance zu skripten.

Hinweis: Das Erstellen der gespeicherten Prozedur in der primären Datenbank verursacht den folgenden Fehler:

"Msg 262, Level 14, State 18, Procedure sp_hexadecimal, Line 1 [Batch Start Line 5]CREATE PROCEDURE permission denied in database 'master'"

Um diesen Fehler zu vermeiden, erstelle die Prozedur in einer einzigen Benutzerdatenbank. Nachdem du die Logins in der Ziel-Instance erstellt hast, setze das Passwort zurück, um eine Nichtübereinstimmung der Passwörter zu vermeiden.

Option 2

Gehe wie folgt vor, um die Logins manuell zu erstellen oder um Microsoft SQL Server Management Studio (SSMS) zum Erstellen von Skripten für die Logins zu verwenden:

  1. Öffne den Sicherheitsplatzhalter in SSMS und erweitere ihn dann.
  2. Wähle die Logins aus und drücke dann die Taste F7. Oder wähle im Menü Ansicht die Option Details zum Objekt-Explorer.
  3. Die Strg-Taste drücken und sie gedrückt halten, um die Logins auszuwählen, die du migrieren möchtest
  4. Nachdem du die erforderlichen Logins ausgewählt hast, wähle (Rechtsklick) den Bildschirm. Wähle dann Skriptanmeldung als aus, um ein neues Abfragefenster zu öffnen.
  5. Kopiere das Skript zum Erstellen des Logins. Ersetze dann die Passwörter, um das Skript auf der Ziel-Instance auszuführen. Das Skript für gespeicherte Prozeduren findest du unter Methode 1 unter Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server (auf der Microsoft-Website).

Migrieren der Logins und Passwörter von einer On-Premises-Umgebung zu RDS für SQL Server

Führe auf dem Quellserver (On-Premises) die folgenden Schritte aus:

  1. Generiere das Skript zum Erstellen von Logins für alle Logins vom On-Premises-Server. Das Skript für gespeicherte Prozeduren findest du unter Methode 2 unter Übertragen von Benutzernamen und Kennwörtern zwischen Instanzen von SQL Server (auf der Microsoft-Website).
  2. Öffne nach dem Erstellen der gespeicherten Prozedur ein neues T-SQL-Fenster. Verwende dann den folgenden Befehl, um eine gespeicherte Prozedur auszuführen.

Hinweis: Bevor du das Skript ausführst, drücke Strg+T auf deiner Tastatur, um sicherzustellen, dass die Ergebnisse im Textformat vorliegen.

EXEC [sp_help_revlogin]

Diese Abfrageausgabe stellt das Skript zur Erstellung der Logins bereit, die die ursprüngliche SID und das Passwort auf dem Zielserver haben.

Führe auf dem Zielserver die folgenden Schritte aus:

  1. Verwende das primäre Benutzerkonto, um eine Verbindung zur Instance von RDS für SQL Server herzustellen.
  2. Führe das in Schritt 2 generierte Skript (Ausgabe von sp_help_revlogin) im Abschnitt Auf dem Quellserver (On-Premises) aus.

Hinweis: Du kannst Systemadministrator-Zugriff auf die Logins in RDS nicht gewähren. Wenn du also die Logins mit Systemadministrator-Berechtigung zu RDS migrierst, wird ihnen nicht automatisch Zugriff gewährt. Du musst die erforderliche Berechtigung für diese Logins ausdrücklich erteilen.
Eine Liste der verfügbaren Berechtigungen für RDS-Benutzer findest du unter Berechtigungen für primäre Benutzerkonten.

Problembehandlung bei Berechtigungen für das primäre Konto

Den primären Benutzernamen suchen

  1. Öffne die Amazon Aurora- und RDS-Konsole.
  2. Wähle im Navigationsbereich Datenbanken aus.
  3. Wähle die RDS-DB-Instance aus, für die du den primären Benutzernamen verwenden möchtest.
  4. Öffne die Registerkarte Konfiguration. Der primäre Benutzername ist im Abschnitt Verfügbarkeit aufgeführt.

Zurücksetzen des Passworts des primären Benutzers oder Wiederherstellung der Berechtigungen für den/die primäre(n) Benutzer:in

Informationen zum Zurücksetzen des Passworts des primären Benutzers findest du unter Wie setze ich das Passwort des primären Benutzers für meine Amazon-RDS-DB-Instance zurück?