Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.
Migrieren einer SQL Serverdatenbank zu Babelfish für Aurora Postgre SQL
Sie können Babelfish for Aurora Postgre verwenden, um eine SQL Serverdatenbank SQL zu einem Amazon Aurora SQL Postgre-DB-Cluster zu migrieren. Vor der Migration überprüfen Sie Verwenden von Babelfish mit einer einzigen Datenbank oder mehreren Datenbanken.
Themen
Übersicht über den Migrationsprozess
In der folgenden Zusammenfassung sind die Schritte aufgeführt, die erforderlich sind, um Ihre SQL Serveranwendung erfolgreich zu migrieren und dafür zu sorgen, dass sie mit Babelfish funktioniert. Informationen zu den Tools, die Sie für die Export- und Importprozesse verwenden können, sowie weitere Informationen finden Sie unter Import-/Export-Tools für die Migration von Server zu Babelfish SQL. Um die Daten zu laden, empfehlen wir die Verwendung von AWS DMS mit einem Aurora SQL Postgre-DB-Cluster als Zielendpunkt.
-
Erstellen Sie einen neuen Aurora SQL Postgre-DB-Cluster mit aktiviertem Babelfish. Um zu erfahren wie dies geht, vgl. Einen Babelfish for Aurora SQL Postgre-DB-Cluster erstellen.
Um die verschiedenen SQL Artefakte zu importieren, die aus Ihrer SQL Server-Datenbank exportiert wurden, stellen Sie mit einem SQL Server-Tool wie sqlcmd eine Verbindung zum Babelfish-Cluster her.
Weitere Informationen finden Sie unter Verbinden mit Ihrem DB-Cluster mithilfe eines SQL Server-Clients. -
Exportieren Sie in der SQL Serverdatenbank, die Sie migrieren möchten, die Datendefinitionssprache (). DDL Das DDL ist SQL Code, der Datenbankobjekte beschreibt, die Benutzerdaten (wie Tabellen, Indizes und Ansichten) und vom Benutzer geschriebenen Datenbankcode (wie gespeicherte Prozeduren, benutzerdefinierte Funktionen und Trigger) enthalten.
Weitere Informationen finden Sie unter Verwendung von SQL Server Management Studio () SSMS zur Migration zu Babelfish.
-
Führen Sie ein Bewertungstool aus, um den Umfang aller Änderungen zu bewerten, die Sie möglicherweise vornehmen müssen, damit Babelfish die auf dem Server ausgeführte Anwendung effektiv unterstützen kann. SQL Weitere Informationen finden Sie unter Bewertung und Behandlung der Unterschiede zwischen SQL Server und Babelfish.
-
Überprüfen Sie das AWS DMS zielen Sie auf Endpunktbeschränkungen ab und aktualisieren Sie das DDL Skript nach Bedarf. Weitere Informationen finden Sie unter Einschränkungen bei der Verwendung eines SQL Postgre-Zielendpunkts mit Babelfish-Tabellen in Babelfish für Aurora Postgre als Ziel verwenden. SQL
-
Führen Sie auf Ihrem neuen Babelfish-DB-Cluster die DDL innerhalb Ihrer angegebenen SQL T-Datenbank aus, um nur die Schemas, benutzerdefinierten Datentypen und Tabellen mit ihren Primärschlüsseleinschränkungen zu erstellen.
-
Verwenden Sie AWS DMS um Ihre Daten vom SQL Server zu den Babelfish-Tabellen zu migrieren. Verwenden Sie für eine kontinuierliche Replikation mit SQL Server Change Data Capture oder SQL Replication Aurora Postgre SQL anstelle von Babelfish als Endpunkt. Lesen Sie dazu den Artikel Verwenden von Babelfish für Aurora Postgre SQL als Ziel für AWS Database Migration Service.
-
Wenn der Datenladevorgang abgeschlossen ist, erstellen Sie alle verbleibenden SQL T-Objekte, die die Anwendung auf Ihrem Babelfish-Cluster unterstützen.
-
Konfigurieren Sie Ihre Client-Anwendung neu, sodass sie sich mit dem Babelfish-Endpunkt statt mit Ihrer Server-Datenbank verbindet. SQL Weitere Informationen finden Sie unter Verbinden mit einem Babelfish-DB-Cluster.
-
Ändern Sie Ihre Anwendung nach Bedarf und testen Sie sie erneut. Weitere Informationen finden Sie unter Unterschiede zwischen Babelfish für Aurora PostgreSQL und SQL Server.
Sie müssen immer noch Ihre clientseitigen Abfragen bewerten. SQL Die von Ihrer SQL Serverinstanz generierten Schemas konvertieren nur den serverseitigen Code. SQL Wir empfehlen, die folgenden Schritte auszuführen:
-
Erfassen Sie clientseitige Abfragen mithilfe des SQL Server Profilers mit der vordefinierten Vorlage _Replay. TSQL Diese Vorlage erfasst Informationen zu T-Anweisungen, SQL die Sie dann für iterative Optimierungen und Tests erneut abspielen können. Sie können den Profiler in SQL Server Management Studio über das Menü Tools starten. Wählen Sie SQLServer Profiler, um den Profiler zu öffnen, und wählen Sie die TSQL Vorlage _Replay.
Zur Verwendung für Ihre Babelfish-Migration starten Sie eine Nachverfolgung und führen Sie Ihre Anwendung dann mit Ihren Funktionstests aus. Der Profiler erfasst die T-Anweisungen. SQL Stoppen Sie nach dem Abschluss des Tests die Nachverfolgung. Speichern Sie das Ergebnis zusammen mit Ihren clientseitigen Abfragen in einer XML Datei („Datei“ > „Speichern unter“ > „XMLDatei zur Wiedergabe verfolgen“).
Weitere Informationen finden Sie unter SQLServer Profiler
in der Microsoft-Dokumentation. Weitere Informationen zur TSQL _Replay-Vorlage finden Sie unter SQLServer Profiler-Vorlagen. -
Für Anwendungen mit komplexen clientseitigen SQL Abfragen empfehlen wir, Babelfish Compass zu verwenden, um diese Abfragen auf Babelfish-Kompatibilität zu analysieren. Wenn die Analyse ergibt, dass die clientseitigen SQL Anweisungen SQL Funktionen enthalten, die nicht unterstützt werden, überprüfen Sie die SQL Aspekte in der Client-Anwendung und ändern Sie sie nach Bedarf.
-
Sie können die SQL Abfragen auch als erweiterte Ereignisse (.xel-Format) aufzeichnen. Verwenden Sie dazu den SSMS XEvent Profiler. Extrahieren Sie nach dem Generieren der XEL-Datei die SQL Anweisungen in XML-Dateien, die Compass dann verarbeiten kann. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter SSMS XEvent Use the Profler
.
Wenn Sie mit allen Tests, Analysen und Änderungen an Ihrer migrierten Anwendung zufrieden sind, können Sie Ihre Babelfish-Datenbank für die Produktion verwenden. Stoppen Sie dazu die ursprüngliche Datenbank und leiten Sie Live-Client-Anwendungen so um, dass sie den TDS Babelfish-Port verwenden.
Anmerkung
AWS DMS unterstützt jetzt die Replikation von Daten aus Babelfish. Weitere Informationen finden Sie unter AWS DMS unterstützt jetzt Babelfish for Aurora Postgre SQL als Quelle.
Bewertung und Behandlung der Unterschiede zwischen SQL Server und Babelfish
Um optimale Ergebnisse zu erzielen, empfehlen wir Ihnen, den generiertenDDL/DML- und den Client-Abfragecode auszuwerten, bevor Sie Ihre SQL Server-Datenbankanwendung tatsächlich zu Babelfish migrieren. Abhängig von der Version von Babelfish und den spezifischen Funktionen von SQL Server, die Ihre Anwendung implementiert, müssen Sie Ihre Anwendung möglicherweise umgestalten oder Alternativen für Funktionen verwenden, die in Babelfish noch nicht vollständig unterstützt werden.
-
Verwenden Sie Babelfish Compass SQL für den generierten Code, um festzustellen, wie viel T-Code von Babelfish unterstützt wird, DDL um festzustellen, wie viel T-Code von Babelfish unterstützt wird. SQL Identifizieren Sie SQL T-Code, der möglicherweise geändert werden muss, bevor er auf Babelfish ausgeführt wird. Weitere Informationen zu diesem Tool finden Sie unter Babelfish
Compass Tool auf. GitHub Anmerkung
Babelfish Compass ist ein Open-Source-Tool. Melde alle Probleme mit Babelfish Compass durch statt durch GitHub AWS Support.
Sie können den Generate Script Wizard mit SQL Server Management Studio (SSMS) verwenden, um die SQL Datei zu generieren, die von Babelfish Compass bewertet wird, oder AWS Schema Conversion Tool CLI. Wir empfehlen die folgenden Schritte, um die Bewertung zu optimieren.
-
Wählen Sie auf der Seite Choose Objects (Objekte auswählen) die Option Script entire database and all database objects (Gesamte Datenbank und alle Datenbankobjekte in das Skript aufnehmen) aus.
-
Wählen Sie für Set Scripting Options (Scripting-Optionen festlegen) die Option Save as script file (Als Skriptdatei speichern) und Single script file (Einzelne Skriptdatei) aus.
-
Wählen Sie Advanced (Erweitert) aus, um die standardmäßigen Scripting-Optionen zu ändern und Funktionen zu identifizieren, die für eine vollständige Bewertung normalerweise auf „False“ (Falsch) festgelegt sind:
-
Skriptänderungsverfolgung auf „True“ (Wahr)
-
Skriptvolltextindizes auf „True“ (Wahr)
-
Skriptauslöser auf „True“ (Wahr)
-
Skriptanmeldungen auf „True“ (Wahr)
-
Skripteigentümer auf „True“ (Wahr)
-
Skriptberechtigungen auf Objektebene auf „True“ (Wahr)
-
Skriptsortierungen auf „True“ (Wahr)
-
-
Führen Sie die restlichen Schritte im Assistenten aus, um die Datei zu generieren.
Import-/Export-Tools für die Migration von Server zu Babelfish SQL
Wir empfehlen Ihnen, Folgendes zu verwenden AWS DMS als primäres Tool für die Migration von SQL Server zu Babelfish. Babelfish unterstützt jedoch mehrere andere Möglichkeiten, Daten mithilfe von SQL Server-Tools zu migrieren, darunter die folgenden.
-
SQLServer Integration Services (SSIS) für alle Versionen von Babelfish. Weitere Informationen finden Sie unter Migrieren von SQL Server zu Aurora Postgre SQL mithilfe von SSIS Babelfish
. -
Verwenden Sie den SSMS Import/Export-Assistenten für Babelfish-Versionen 2.1.0 und höher. Dieses Tool ist über das verfügbarSSMS, aber es ist auch als eigenständiges Tool verfügbar. Weitere Informationen finden Sie in der Microsoft-Dokumentation unter Willkommen beim Assistenten für SQL Serverimport und -export
. -
Mit dem Microsoft Bulk Data Copy Program (BCP) können Sie Daten von einer Microsoft SQL Server-Instanz in eine Datendatei in dem von Ihnen angegebenen Format kopieren. Weitere Informationen finden Sie unter bcp-Hilfsprogramm
in der Microsoft-Dokumentation. Babelfish unterstützt jetzt die Datenmigration mithilfe des BCP Clients und das BCP-Hilfsprogramm unterstützt jetzt -E
Flag (für Identitätsspalten) und -b Flag (für Batch-Inserts). Bestimmte bcp-Optionen werden nicht unterstützt, einschließlich-C
,-T
,-G
,-K
,-R
,-V
und-h
.
Verwendung von SQL Server Management Studio () SSMS zur Migration zu Babelfish
Wir empfehlen, separate Dateien für jeden der spezifischen Objekttypen zu generieren. Sie können den Assistenten zum Generieren von Skripten zunächst SSMS für jeden Satz von DDL Anweisungen verwenden und dann die Objekte als Gruppe ändern, um alle bei der Bewertung festgestellten Probleme zu beheben.
Gehen Sie wie folgt vor, um die Daten zu migrieren AWS DMS oder andere Datenmigrationsmethoden. Führen Sie zuerst diese Create-Skripttypen aus, um die Daten besser und schneller in die Babelfish-Tabellen in Aurora Postgre zu laden. SQL
-
Führen Sie
CREATE SCHEMA
-Anweisungen aus. -
Führen Sie
CREATE TYPE
-Anweisungen aus, um benutzerdefinierte Datentypen zu erstellen. -
Führen Sie grundlegende
CREATE TABLE
-Anweisungen mit den Primärschlüsseln oder eindeutigen Einschränkungen aus.
Führen Sie das Laden der Daten mit dem empfohlenen Import-/Export-Tool durch. Führen Sie die geänderten Skripts für die folgenden Schritte aus, um die verbleibenden Datenbankobjekte hinzuzufügen. Sie benötigen die Create-Table-Anweisungen, um diese Skripts für die Einschränkungen, Auslöser und Indizes auszuführen. Nachdem die Skripts generiert wurden, löschen Sie die Create-Table-Anweisungen.
-
Führen Sie
ALTER TABLE
-Anweisungen für die Prüfbeschränkungen, Fremdschlüsseleinschränkungen und Standardeinschränkungen aus. -
Führen Sie
CREATE TRIGGER
-Anweisungen aus. -
Führen Sie
CREATE INDEX
-Anweisungen aus. -
Führen Sie
CREATE VIEW
-Anweisungen aus. -
Führen Sie
CREATE STORED PROCEDURE
-Anweisungen aus.
So generieren Sie Skripts für jeden Objekttyp
Verwenden Sie die folgenden Schritte, um die grundlegenden Anweisungen zum Erstellen von Tabellen mithilfe des Assistenten zum Generieren von Skripten unter zu erstellen. SSMS Führen Sie die gleichen Schritte aus, um Skripts für die verschiedenen Objekttypen zu generieren.
-
Connect zu Ihrer vorhandenen SQL Serverinstanz her.
-
Öffnen Sie das Kontextmenü (rechte Maustaste) für einen Datenbanknamen.
-
Wählen Sie Tasks (Aufgaben) und dann Generate Scripts... (Skripts generieren).
-
Klicken Sie im Bereich Choose Objects (Objekte auswählen) auf Select specific database objects (Bestimmte Datenbankobjekte auswählen). Klicken Sie auf Tables (Tabellen) und wählen Sie alle Tabellen aus. Wählen Sie Next (Weiter), um fortzufahren.
-
Wählen Sie auf der Seite Set Scripting Options (Scripting-Optionen festlegen) die Option Advanced (Erweitert) aus, um die Einstellungen Options (Optionen) zu öffnen. Um die grundlegenden Create-Table-Anweisungen zu generieren, ändern Sie die folgenden Standardwerte:
-
„Script Defaults“ (Skriptstandardwerte) auf „False“ (Falsch).
-
„Script Extended Properties“ (Erweiterte Skripteigenschaften) auf „False“ (Falsch). Babelfish unterstützt keine erweiterten Eigenschaften.
-
„Script Check Constraints“ (Skriptprüfeinschränkungen) auf „False“ (Falsch). „Script Foreign Keys“ (Skriptfremdschlüssel) auf „False“ (Falsch).
-
-
Wählen Sie OK aus.
-
Wählen Sie auf der Seite Set Scripting Options (Scripting-Optionen festlegen) die Option Save as script file (Als Skriptdatei speichern) und dann die Option Single script file (Einzelne Skriptdatei) aus. Geben Sie unter File name (Dateiname) einen Namen ein.
-
Wählen Sie Next (Weiter) aus, um die Seite Summary wizard (Übersichtsassistent) aufzurufen.
-
Wählen Sie Next (Weiter) aus, um die Skriptgenerierung zu starten.
Sie können mit dem Generieren von Skripten für die anderen Objekttypen im Assistenten fortfahren. Anstatt nach dem Speichern der Datei Finish (Beenden) auszuwählen, klicken Sie dreimal auf die Schaltfläche Previous (Zurück), um zur Seite Choose Objects (Objekte auswählen) zurückzukehren. Wiederholen Sie dann die Schritte im Assistenten, um Skripten für die anderen Objekttypen zu generieren.