(0) exportieren Drucken
Alle erweitern

Kopieren von Datenbanken in die Azure SQL-Datenbank

Letzte Aktualisierung: Juni 2014

Der Datenbankkopiervorgang kopiert eine Microsoft Azure SQL-Datenbank in eine neue Datenbank. Die Kopie kann auf demselben oder auf einem anderen logischen Server erstellt werden. Nach Abschluss des Kopiervorgangs ist die neue Datenbank eine unabhängig von der Quelldatenbank voll funktionsfähige Datenbank. Mit dem Abschluss des Kopiervorgangs ist die neue Datenbank transaktionskonsistent mit der Quelldatenbank. Die Dienstebene, Größe und Leistungsstufe der Datenbankkopie sind mit denen der Quelldatenbank identisch.

Deshalb hat die neue Datenbank dieselbe Dienstebene und Leistungsstufe der Datenbank. Jede Kopie erhöht die Gesamtzahl der Datenbanken und wird zu denselben Konditionen berechnet wie die Quelldatenbank. Weitere Informationen finden Sie unter Preisdetails zur SQL-Datenbank.

In diesem Thema:

Übersicht

In den folgenden Szenarios müssen Sie eine Kopie Ihrer Quelldatenbank in einer neuen Datenbank erstellen. Die in diesen Szenarios verwendeten Methoden hängen davon ab, ob sich die Quell- und Zieldatenbanken auf demselben oder auf unterschiedlichen Servern, in derselben oder in unterschiedlichen Regionen, im selben oder in unterschiedlichen Abonnements befinden. Diese Methoden werden detailliert weiter unten im Abschnitt Andere Methoden zum Kopieren einer Datenbank dieses Themas beschrieben.

  • Anwendungsentwicklung und -testen: Kopieren Sie die Produktionsdatenbank zu Entwicklungs- und Testzwecken in eine neue Datenbank.

  • Anwendungsupgrade: Kopieren Sie die Anwendungsdatenbank vor einem umfangreichen Update der Anwendung in eine Sicherungsdatenbank mit einem anderen Namen. Wenn der Upgradeprozess fehlschlägt oder mit Fehlern abgeschlossen wird, können Sie zur Version der Datenbank von vor dem Upgrade wechseln, indem Sie die Sicherungsdatenbank einfach wieder in den Namen der Anwendungsdatenbank umbenennen.

  • Anwendungsmigration: Sie müssen Ihre Anwendung migrieren, was auch das Verschieben Ihrer Datenbank umfasst.

noteHinweis
Datenbanken, die mithilfe der Funktion zum Kopieren von Datenbanken erstellt wurden, fließen in das Azure SQL-Datenbank-Limit von 150 Datenbanken pro Azure SQL-Datenbank-Server ein. Informationen zu den Auswirkungen auf Kosten und Abrechnung finden Sie unter Konten und Abrechnung für Azure SQL-Datenbanken.

Pfeilsymbol, das mit dem Link "Zurück zum Anfang" verwendet wird [Top]

Verwenden der Funktion zum Kopieren von Datenbanken

Wenn Sie die Funktion zum Kopieren von Datenbanken verwenden, werden Datenbanken asynchron kopiert, weshalb die Verbindung mit dem Azure SQL-Datenbank-Server nicht während des gesamten Prozesses bestehen muss. Melden Sie sich zum Kopieren einer Datenbank bei der master-Datenbank des Zielservers an, und führen Sie die Transact-SQL-Anweisung CREATE DATABASE mit der AS COPY OF-Klausel aus. Anschließend können Sie den Kopiervorgang mit den Sichten sys.dm_database_copies und sys.databases auf dem Zielserver überwachen.

Sie können eine Datenbank unter einem anderen Datenbanknamen auf den gleichen Azure SQL-Datenbank-Server oder auf einen anderen Azure SQL-Datenbank-Server kopieren. In diesem Abschnitt werden beide Möglichkeiten behandelt.

Kopieren auf dem gleichen Server

Wenn Sie eine Datenbank kopieren, um eine neue Datenbank auf dem gleichen Azure SQL-Datenbank-Server zu erstellen, können für beide Datenbanken die gleichen Anmeldungen verwendet werden. Der Sicherheitsprinzipal, der zum Kopieren der Datenbank verwendet wird, wird bei Erstellung der Datenbank zum Datenbankbesitzer (Database Owner, DBO). In der folgenden Abbildung wird das Kopieren auf dem gleichen Server veranschaulicht:

Kopieren der Datenbank auf denselben SQL-Datenbankserver

In dieser Abbildung wird Database1A in eine neue Datenbank (Database1B) auf dem gleichen Azure SQL-Datenbank-Server (Server1) kopiert. Die Anmeldung, mit der die Datenbank kopiert wurde, wird zum Datenbankbesitzer von Database1B. Alle Datenbankbenutzer sowie deren Berechtigungen und Sicherheits-IDs (SIDs) aus Database1A werden in Database1B kopiert. Da die Benutzer-SIDs für beide Datenbanken gleich sind, verfügen die Anmeldungen von Server1 für beide Datenbanken über die gleichen Berechtigungen.

Nach Abschluss des Kopiervorgangs ist Database1B eine voll funktionsfähige, unabhängige Datenbank. Die Anmeldungen, Benutzer und Berechtigungen von Database1B können unabhängig von Database1A verwaltet werden.

Serverübergreifendes Kopieren

Sie können eine Datenbank auch zwischen zwei unterschiedlichen Azure SQL-Datenbank-Servern kopieren, die sich in derselben Region befinden. Da die neue Datenbank auf einem anderen Azure SQL-Datenbank-Server erstellt wird, ist sie einer anderen master-Datenbank zugeordnet. Alle Benutzer in der neuen Datenbank erhalten die Berechtigungen, über die sie auch in der Quelldatenbank verfügten. Der Sicherheitsprinzipal, der zum Kopieren der Datenbank verwendet wird, wird bei Erstellung der Datenbank zum Datenbankbesitzer (Database Owner, DBO), und es wird eine neue Sicherheits-ID (SID) zugewiesen. In der folgenden Abbildung wird das serverübergreifende Kopieren veranschaulicht:

Kopieren der Datenbank auf einen anderen SQL-Datenbankserver

In dieser Abbildung wird Database1A von Server1 in eine neue Datenbank (Database2A) auf einem anderen Azure SQL-Datenbank-Server (Server2) kopiert. Die Anmeldung, mit der die Datenbank kopiert wurde, wird zum Datenbankbesitzer von Database2A. Alle Datenbankbenutzer und ihre Berechtigungen aus Database1A werden in Database2A kopiert. Die SIDs werden nicht kopiert. Die Anmeldungen von Server1 können nicht für die neue Datenbank verwendet werden, da sie einem anderen Azure SQL-Datenbank-Server zugeordnet sind und die Benutzer-SIDs von Database2A nicht den Benutzer-SIDs von Database1A entsprechen.

ImportantWichtig
Ein Azure SQL-Datenbankbereich kann aus mehreren physischen Clustern bestehen. Derzeit ist es nicht möglich, eine Datenbank zwischen zwei verschiedenen Clustern zu kopieren. Außerdem ist es nicht möglich, eine Datenbank zwischen zwei verschiedenen Abonnements zu kopieren. Weitere Informationen zu Einschränkungen finden Sie unter Restrictions.

Nach Abschluss des serverübergreifenden Kopiervorgangs können Anmeldungen, Benutzer und Berechtigungen von Database2A unabhängig von Database1A verwaltet werden. Mithilfe der DBO-Anmeldung und der Transact-SQL-Anweisung ALTER USER können Sie den Benutzern in der neuen Datenbank Anmeldungen auf dem neuen Azure SQL-Datenbank-Server zuordnen. Beispiel: ALTER USER userName WITH LOGIN='loginName'. Weitere Informationen finden Sie unter ALTER USER.

Pfeilsymbol, das mit dem Link "Zurück zum Anfang" verwendet wird [Top]

Andere Methoden zum Kopieren einer Datenbank

Die einfachste Methode zum Kopieren einer Datenbank besteht zwar im Verwenden der Funktion zum Kopieren von Datenbanken (DB Copy), aber berücksichtigt man deren zuvor in einigen Fällen beschriebenen Einschränkungen, müssen Sie eventuell eine der Alternativmethoden verwenden. .

Einige zu beachtende Aspekte der unterstützten Optionen:

Zeitpunktwiederherstellung ermöglicht Ihnen das Erstellen einer Kopie einer früheren Version der Datenbank. Wenn Sie beispielsweise eine Kopie der Datenbankversion von vor dem letzten Upgrade erstellen müssen. Zeitpunktwiederherstellung ist nur in den neuen Dienstebenen verfügbar. Weitere Informationen zur Zeitpunktwiederherstellung finden Sie unter Sichern und Wiederherstellen der Azure SQL-Datenbank.

Aktive geografische Replikation ist nur bei Datenbanken verfügbar, die die Premium-Dienstebene verwenden. Sie ermöglicht es, den Zeitpunkt der Fertigstellung der Kopie zu kontrollieren. Sie sollten sie verwenden, wenn Sie das Ende der Kopieerstellung eng mit anderen Aktionen in Ihrem Arbeitsablauf koordinieren müssen. Weitere Informationen finden Sie unter Aktive geografische Replikation für die Azure SQL-Datenbank.

Die Verwendung des Import-/Exportdiensts sollten Sie erwägen, wenn in Ihrem spezifischen Szenario keine anderen Optionen verfügbar sind. Informationen zum Import-/Exportdienst finden Sie unter Vorgehensweise: Importieren und Exportieren einer Datenbank (Azure SQL-Datenbank).

Die folgende Tabelle listet die für verschiedene Anwendungsfälle verfügbaren Optionen auf:

 

Fall Abonnement Region Server Unterstützte Optionen

Fall A

Identisch

Identisch

Identisch

  • DB Copy (T-SQL, REST oder PowerShell)

  • Zeitpunktwiederherstellung

Fall B

Identisch

Identisch

Unterschiedlich

  • DB Copy (T-SQL)

  • DB Copy (T-SQL, REST oder PowerShell) auf denselben Server und Export/Import

  • Zeitpunktwiederherstellung auf denselben Server und Export/Import

  • Aktive geografische Replikation

Fall B

Identisch

Unterschiedlich

Unterschiedlich

  • DB Copy (T-SQL, REST oder PowerShell) auf denselben Server und Export/Import

  • Zeitpunktwiederherstellung auf denselben Server und Export/Import

  • Aktive geografische Replikation

Fall C

Unterschiedlich

Identisch

Unterschiedlich

  • DB Copy (T-SQL, REST oder PowerShell) auf denselben Server und Export/Import

  • Zeitpunktwiederherstellung auf denselben Server und Export/Import

Fall C

Unterschiedlich

Unterschiedlich

Unterschiedlich

  • DB Copy (T-SQL, REST oder PowerShell) auf denselben Server und Export/Import

  • Zeitpunktwiederherstellung auf denselben Server und Export/Import

Anwendungsfall A
Wenn sich Quelle und Ziel auf demselben Server befinden, lässt sich die Datenbank am einfachsten mit DB Copy oder Zeitpunktwiederherstellung kopieren. Wie zuvor beschrieben, gestattet Ihnen die Zeitpunktwiederherstellung das Erstellen einer Kopie der Datenbank im Zustand eines zurückliegenden Zeitpunkts, während mit DB Copy die Datenbank im aktuellen Zustand kopiert wird.

Anwendungsfall B
Wenn sich Quelle und Ziel im selben Abonnement, aber auf unterschiedlichen Servern befinden, können Sie DB Copy unter Verwendung von T-SQL verwenden, um eine Kopie auf einem anderen logischen Server zu erstellen. Befindet sich der logische Server aber auf einem anderen physischen Cluster, schlägt der Kopiervorgang fehl. Um zu ermitteln, ob sich logische Server im selben Cluster befinden, verwenden Sie bei beiden Servern den „Ping“-Befehl, um zu überprüfen, ob sie dieselbe IP-Adresse verwenden. Befindet sich der Zielserver auf einem anderen Cluster, führen Sie die folgenden Schritte aus:

  1. Erstellen Sie eine Zwischenkopie (Stagingkopie) der Datenbank auf demselben Server wie die Quelle. Sie können entweder DB Copy oder Zeitpunktwiederherstellung verwenden.

  2. Exportieren Sie die Kopie in eine BACPAC-Datei im Azure-BLOB-Speicher.

  3. Importieren Sie die in Schritt 2 erstellte BACPAC-Datei in eine Datenbank im gewünschten Abonnement/in der gewünschten Region/auf dem gewünschten Server.

  4. Löschen Sie die in Schritt 1 erstellte Zwischendatenbank (Stagingdatenbank).

Bei Premium-Datenbanken: Als Alternative können Sie Aktive geografische Replikation verwenden, um eine sekundäre Datenbank als Kopie der Quelldatenbank zu erstellen. Die folgenden Schritte sind erforderlich, um eine Datenbankkopie zu erstellen:

  1. Erstellen Sie eine sekundäre Datenbank auf dem Zielserver.

  2. Wenn sich der Replikationsprozess im Status Aufholen befindet, beenden Sie die sekundäre Datenbank.

  3. Die neue Kopie wird eine unabhängige Datenbank, die für Lese- und Schreibvorgänge verfügbar ist.

  4. Wenn die Kopie einen anderen Namen als die Quelldatenbank haben muss, benennen Sie die Kopie um.

Anwendungsfall C
Wenn sich Quelle und Ziel in unterschiedlichen Abonnements befinden, egal ob in derselben oder in unterschiedlichen Regionen, können Sie den für Anwendungsfall B beschriebenen Prozess verwenden, mit Ausnahme von Aktive geografische Replikation. Aktive geografische Replikation funktioniert nicht abonnementübergreifend.

In den folgenden Abschnitten wird beschrieben, wie die Funktion zum Kopieren von Datenbanken (DB Copy) funktioniert, wenn Sie auf demselben oder auf einen anderen logischen Server kopieren.

Verwandte Aufgaben

Siehe auch

Community-Beiträge

HINZUFÜGEN
Anzeigen:
© 2014 Microsoft