Verwenden einer Microsoft SQL Server-Datenbank als Ziel für AWS Database Migration Service - AWS Database Migration Service

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.

Verwenden einer Microsoft SQL Server-Datenbank als Ziel für AWS Database Migration Service

Sie können Daten mithilfe von AWS DMS in Microsoft SQL Server-Datenbanken migrieren. Mit einer SQL Server-Datenbank als Ziel können Sie Daten aus einer anderen SQL Server-Datenbank oder einer der anderen unterstützten Datenbanken migrieren.

Informationen zu den Versionen von SQL Server, die AWS DMS als Ziel unterstützt, finden Sie unter Ziele für AWS DMS.

AWS DMS unterstützt die On-Premises- und Amazon-RDS-Editionen von Enterprise, Standard, Workgroup und Developer.

Weitere Informationen zur Arbeit mit AWS DMS und SQL Server-Zieldatenbanken finden Sie in den folgenden Themen.

Einschränkungen bei der Verwendung von SQL Server als Ziel für AWS Database Migration Service

Die folgenden Einschränkungen gelten, wenn Sie eine SQL Server-Datenbank als Ziel für AWS DMS verwenden:

  • Wenn Sie eine SQL Server-Zieltabelle mit einer berechneten Spalte manuell erstellen, wird die Volllastreplikation bei Verwendung des BCP-Dienstprogramms zum Kopieren großer Datenmengen nicht unterstützt. Um eine Replikation mit vollständigem Ladevorgang zu verwenden, deaktivieren Sie das BCP-Laden, indem Sie das zusätzliche Verbindungsattribut (Extra Connection Attribute, ECA) 'useBCPFullLoad=false' auf dem Endpunkt festlegen. Informationen zum Einrichten von ECAs auf Endpunkten finden Sie unter Erstellen der Quell- und Zielendpunkte. Weitere Informationen zum Arbeiten mit BCP finden Sie in der Microsoft SQL Server-Dokumentation.

  • Bei der Replikation von Tabellen mit den räumlichen Datentypen von SQL Server (GEOMETRY und GEOGRAPHY) ersetzt AWS DMS alle räumlichen Referenzkennungen (Spatial Reference Identifier, SRID), die Sie möglicherweise mit der Standard-SRID eingefügt haben. Die Standard-SRID für GEOMETRY ist 0 und für GEOGRAPHY 4326.

  • Temporäre Tabellen werden nicht unterstützt. Die Migration von temporären Tabellen ist mit einer reinen Replikationsaufgabe im transaktionalen Anwendungsmodus möglich, wenn diese Tabellen manuell auf dem Ziel erstellt werden.

  • Derzeit werden boolean-Datentypen in einer PostgreSQL-Quelle als bit-Datentyp mit inkonsistenten Werten zu einem SQLServer-Ziel migriert.

    Führen Sie folgende Schritte aus, um dieses Problem zu umgehen:

    • Erstellen Sie die Tabelle vorab mit einem Datentyp VARCHAR(1) für die Spalte (oder lassen Sie AWS DMS die Tabelle erstellen). Dann lassen Sie die nachgeschaltete Verarbeitung ein „F“ als „False“ und ein „T“ als „True“ behandeln.

    • Um die nachgeschaltete Verarbeitung nicht ändern zu müssen, fügen Sie der Aufgabe eine Transformationsregel hinzu, um die „F“ -Werte in „0“ und die „T“ -Werte in „1“ zu ändern, und speichern Sie diese als SQL-Server-Bit-Datentyp.

  • AWS DMS unterstützt keine Änderungsverarbeitung zum Festlegen von Nullfähigkeit für Spalten (unter Verwendung der Klausel ALTER COLUMN [SET|DROP] NOT NULL mit ALTER TABLE-Anweisungen).

  • Windows-Authentifizierung wird nicht unterstützt.

Sicherheitsanforderungen bei der Verwendung von SQL Server als Ziel für AWS Database Migration Service

Im folgenden Abschnitt werden die Sicherheitsanforderungen bei der Verwendung von AWS DMS mit einem Microsoft SQL Server-Ziel beschrieben:

  • Das AWS DMS-Benutzerkonto muss mindestens über die db_owner-Benutzerrolle für die Microsoft SQL Server-Datenbank verfügen, mit der Sie eine Verbindung herstellen.

  • Ein SQL Server-Systemadministrator muss diese Berechtigung allen AWS DMS-Benutzerkonten erteilen.

Endpunkteinstellungen bei Verwendung von SQL Server als Ziel für AWS DMS

Sie können Endpunkteinstellungen zum Konfigurieren Ihrer SQL-Server-Zieldatenbank verwenden, ähnlich wie Sie zusätzliche Verbindungsattribute verwenden. Sie geben die Einstellungen beim Erstellen des Zielendpunkts über die AWS DMS-Konsole oder über den Befehl create-endpoint in der AWS CLI mit der JSON-Syntax --microsoft-sql-server-settings '{"EndpointSetting": "value", ...}' an.

Die folgende Tabelle zeigt die Endpunkteinstellungen, die Sie mit SQL Server als Ziel verwenden können.

Name Beschreibung

ControlTablesFileGroup

Geben Sie eine Dateigruppe für die internen AWS DMS-Tabellen an. Wenn die Replikationsaufgabe gestartet wird, werden alle internen AWS DMS-Steuerungstabellen (awsdms_ apply_exception, awsdms_apply, awsdms_changes) in der angegebenen Dateigruppe erstellt.

Standardwert: –

Zulässige Werte: String

Beispiel: --microsoft-sql-server-settings '{"ControlTablesFileGroup": "filegroup1"}'

Es folgt ein Beispiel für einen Befehl zum Erstellen einer Dateigruppe.

ALTER DATABASE replicate ADD FILEGROUP Test1FG1; GO ALTER DATABASE replicate ADD FILE (        NAME = test1dat5,        FILENAME = 'C:\temp\DATA\t1dat5.ndf',        SIZE = 5MB,        MAXSIZE = 100MB,        FILEGROWTH = 5MB    )    TO FILEGROUP Test1FG1;    GO

ExecuteTimeout

Verwenden Sie dieses zusätzliche Verbindungsattribut (Extra Connection Attribute, ECA), um das Timeout für die Client-Anweisung für die SQL-Server-Instance in Sekunden festzulegen. Der Standardwert liegt bei 60 Sekunden.

Beispiel: '{"ExecuteTimeout": 100}'

UseBCPFullLoad

Verwenden Sie dieses Attribut zum Übertragen von Daten für vollständige Ladevorgänge mithilfe von BCP. Wenn die Zieltabelle eine Identitätsspalte enthält, die in der Quelltabelle nicht vorhanden ist, müssen Sie die Option BCP zum Laden der Tabelle verwenden deaktivieren.

Standardwert: aktiviert

Zulässige Werte: true/false

Beispiel: --microsoft-sql-server-settings '{"UseBCPFullLoad": false}'

Zieldatentypen für Microsoft SQL Server

In der folgenden Tabelle sind die Microsoft SQL Server-Zieldatentypen aufgeführt, die bei Verwendung von AWS DMS unterstützt werden, sowie deren Standardzuweisung von AWS DMS-Datentypen. Weitere Informationen zu AWS DMS-Datentypen finden Sie unter Datentypen für den AWS Database Migration Service.

AWS DMS-Datentyp

SQL Server-Datentyp

BOOLEAN

TINYINT

BYTES

VARBINARY (Länge)

DATUM

Verwenden Sie für SQL Server 2008 und höher DATE.

Verwenden Sie für frühere Versionen, wenn die Skalierung 3 oder weniger ist, DATETIME. Verwenden Sie in allen anderen Fällen VARCHAR (37).

TIME

Verwenden Sie für SQL Server 2008 und höher DATETIME2 (%d).

Verwenden Sie für frühere Versionen, wenn die Skalierung 3 oder weniger ist, DATETIME. Verwenden Sie in allen anderen Fällen VARCHAR (37).

DATETIME

Verwenden Sie für SQL Server 2008 und höher DATETIME2 (Skalierung).

Verwenden Sie für frühere Versionen, wenn die Skalierung 3 oder weniger ist, DATETIME. Verwenden Sie in allen anderen Fällen VARCHAR (37).

INT1

SMALLINT

INT2

SMALLINT

INT4

INT

INT8

BIGINT

NUMERIC

NUMERIC (p,s)

REAL4

REAL

REAL8

FLOAT

STRING

Wenn die Spalte eine Datums- oder Zeitspalte ist, gehen Sie wie folgt vor:

  • Verwenden Sie für SQL Server 2008 und höher DATETIME2.

  • Verwenden Sie für frühere Versionen, wenn die Skalierung 3 oder weniger ist, DATETIME. Verwenden Sie in allen anderen Fällen VARCHAR (37).

Wenn die Spalte keine Datums- oder Zeitspalte ist, verwenden Sie VARCHAR (Länge).

UINT1

TINYINT

UINT2

SMALLINT

UINT4

INT

UINT8

BIGINT

WSTRING

NVARCHAR (Länge)

BLOB

VARBINARY(max)

IMAGE

Um diesen Datentyp mit AWS DMS zu verwenden, müssen Sie die Verwendung von BLOBs für eine spezifische Aufgabe aktivieren. AWS DMS unterstützt BLOB-Datentypen nur in Tabellen, die einen Primärschlüssel enthalten.

CLOB

VARCHAR(max)

Wenn Sie diesen Datentyp mit AWS DMS verwenden möchten, müssen Sie die Verwendung von CLOBs für eine spezifische Aufgabe aktivieren. Bei Change Data Capture (CDC) unterstützt AWS DMS CLOB-Datentypen nur in Tabellen, die einen Primärschlüssel enthalten.

NCLOB

NVARCHAR(max)

Wenn Sie diesen Datentyp mit AWS DMS verwenden möchten, müssen Sie die Verwendung von NCLOBs für eine spezifische Aufgabe aktivieren. Bei CDC unterstützt AWS DMS NCLOB-Datentypen nur in Tabellen, die einen Primärschlüssel enthalten.