Les traductions sont fournies par des outils de traduction automatique. En cas de conflit entre le contenu d'une traduction et celui de la version originale en anglais, la version anglaise prévaudra.
Utilisation d'une base de données Microsoft SQL Server comme cible pour AWS Database Migration Service
Vous pouvez migrer les données vers les bases de données Microsoft SQL Server à l'aide de AWS DMS. Avec une base de données SQL Server comme cible, vous pouvez migrer les données à partir d'une autre base de données SQL Server, ou d'une des autres bases de données prises en charge.
Pour en savoir plus sur les versions de SQL Server qui sont prises en charge par AWS DMS en tant que cible, consultez Objectifs pour AWS DMS.
AWS DMS prend en charge les éditions sur site ainsi que les versions Enterprise, Standard, Workgroup, Developer et Web d’Amazon RDS.
Pour plus de détails sur l'utilisation de AWS DMS et des bases de données cibles SQL Server, consultez les ressources suivantes.
Rubriques
- Limitations sur l'utilisation de SQL Server comme cible pour AWS Database Migration Service
- Exigences de sécurité lors de l'utilisation de SQL Server comme cible pour AWS Database Migration Service
- Paramètres de point de terminaison lors de l'utilisation de SQL Server en tant que cible pour AWS DMS
- Types de données cibles pour Microsoft SQL Server
Limitations sur l'utilisation de SQL Server comme cible pour AWS Database Migration Service
Les limitations suivantes s'appliquent lors de l'utilisation d'une base de données SQL Server comme cible pour AWS DMS :
-
Lorsque vous créez manuellement une table SQL Server cible avec une colonne calculée, la réplication de chargement complet n'est pas prise en charge lors de l'utilisation de l'utilitaire de copie groupée BCP. Pour utiliser la réplication à chargement complet, désactivez le chargement BCP en définissant l'attribut de connexion supplémentaire (ECA)
'useBCPFullLoad=false'
sur le point de terminaison. Pour en savoir plus sur la définition d'ECA sur les points de terminaison, consultez Création de points de terminaison source et cible. Pour en savoir plus sur l'utilisation avec BCP, consultez la documentation Microsoft SQL Server. -
Lors de la réplication de tables avec des types de données spatiales SQL Server (GEOMETRY et GEOGRAPHY), AWS DMS remplace tous les identifiants de référence spatiale (SRID) que vous pouvez avoir insérés par le SRID par défaut. Le SRID par défaut est 0 pour GEOMETRY et 4326 pour GEOGRAPHY.
-
Les tables temporelles ne sont pas prises en charge. La migration de tables temporelles peut fonctionner avec une tâche de réplication seule en mode d'application transactionnelle si ces tables sont créées manuellement sur la cible.
-
Actuellement, les types de données
boolean
dans une source PostgreSQL sont migrés vers une cible SQLServer en tant que type de donnéesbit
avec des valeurs incohérentes.Pour contourner ce problème, procédez comme suit :
Pré-créez la table au préalable avec un type de données
VARCHAR(1)
pour la colonne (ou laissez AWS DMS créer la table). Ensuite, faites en sorte que le traitement en aval traite un « F » comme Faux et un « T » comme Vrai.Pour éviter d'avoir à modifier le traitement en aval, ajoutez une règle de transformation à la tâche pour remplacer les valeurs « F » par « 0 » et les valeurs « T » par 1, puis stockez-les en tant que type de données binaire SQL Server.
-
AWS DMS ne prend pas en charge le traitement des modifications pour définir la possibilité de valeur NULL des colonnes (à l'aide de la clause
ALTER COLUMN [SET|DROP] NOT NULL
avec les instructionsALTER TABLE
). -
L'authentification Windows n'est pas prise en charge.
Exigences de sécurité lors de l'utilisation de SQL Server comme cible pour AWS Database Migration Service
La section suivante décrit les exigences de sécurité pour l'utilisation de AWS DMS avec une cible de Microsoft SQL Server :
-
Le compte utilisateur AWS DMS doit avoir au moins le rôle utilisateur
db_owner
sur la base de données SQL Server à laquelle vous êtes connecté. -
Un administrateur système SQL Server doit fournir cette autorisation à tous les comptes utilisateur AWS DMS.
Paramètres de point de terminaison lors de l'utilisation de SQL Server en tant que cible pour AWS DMS
Vous pouvez utiliser des paramètres de point de terminaison pour configurer la base de données cible SQL Server comme si vous utilisiez des attributs de connexion supplémentaires. Vous spécifiez les paramètres lorsque vous créez le point de terminaison cible à l'aide de la console AWS DMS ou à l'aide de la commande create-endpoint
dans AWS CLI, avec la syntaxe JSON --microsoft-sql-server-settings '{"
.EndpointSetting"
:
"value"
, ...
}'
Les paramètres de point de terminaison que vous pouvez utiliser avec SQL Server en tant que cible sont indiqués dans le tableau suivant.
Nom | Description |
---|---|
|
Spécifier un groupe de fichiers pour les tables internes de AWS DMS. Lorsque la tâche de réplication commence, toutes les tables de contrôle AWS DMS internes (awsdms_ apply_exception, awsdms_apply, awsdms_changes) sont créées dans le groupe de fichiers spécifié. Valeur par défaut : s/o Valeurs valides : string Exemple : Voici un exemple d'une commande pour créer un groupe de fichiers.
|
|
Utilisez cet attribut de connexion supplémentaire (ECA) pour définir le délai d'expiration de l'instruction client pour l'instance SQL Server, en secondes. La valeur par défaut est de 60 secondes. Exemple : |
|
Utilisez cet attribut pour transférer les données pour les opérations de chargement complet à l'aide de BCP. Lorsque la table cible contient une colonne d'identité qui n'existe pas dans la table source, vous devez désactiver l'option Utiliser BCP pour charger la table. Valeur par défaut : true Valeurs valides : true/false Exemple : |
Types de données cibles pour Microsoft SQL Server
Le tableau suivant présente les types de données cibles Microsoft SQL Server qui sont pris en charge lorsque vous utilisez AWS DMS et le mapping par défaut des types de données AWS DMS. Pour de plus amples informations sur les types de données AWS DMS, veuillez consulter Types de données pour AWS Database Migration Service.
Type de données AWS DMS |
Type de données SQL Server |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(Length) |
DATE |
Pour SQL Server 2008 et versions ultérieures, utilisez DATE. Pour les versions antérieures, si l'échelle est 3 ou inférieure utilisez DATETIME. Dans tous les autres cas, utilisez VARCHAR (37). |
TIME |
Pour SQL Server 2008 et versions ultérieures, utilisez DATETIME2 (%d). Pour les versions antérieures, si l'échelle est 3 ou inférieure utilisez DATETIME. Dans tous les autres cas, utilisez VARCHAR (37). |
DATETIME |
Pour SQL Server 2008 et versions ultérieures, utilisez DATETIME2 (scale). Pour les versions antérieures, si l'échelle est 3 ou inférieure utilisez DATETIME. Dans tous les autres cas, utilisez VARCHAR (37). |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC (p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
CHAÎNE |
Si la colonne est une colonne de date ou d'heure, effectuez les opérations suivantes :
Si la colonne n'est pas une colonne de date ou d'heure, utilisez VARCHAR (length). |
UINT1 |
TINYINT |
UINT2 |
SMALLINT |
UINT4 |
INT |
UINT8 |
BIGINT |
WSTRING |
NVARCHAR (length) |
BLOB |
VARBINARY(max) IMAGE Pour pouvoir utiliser ce type de données avec AWS DMS, vous devez activer l'utilisation des BLOB pour une tâche spécifique. AWS DMS prend en charge les types de données BLOB uniquement dans les tables qui contiennent une clé primaire. |
CLOB |
VARCHAR(max) Pour pouvoir utiliser ce type de données avec AWS DMS, vous devez activer l'utilisation des types de données CLOB pour une tâche spécifique. Au cours de la capture des données modifiées (CDC), AWS DMS prend en charge les types de données CLOB uniquement dans les tables qui comprennent une clé primaire. |
NCLOB |
NVARCHAR(max) Pour pouvoir utiliser ce type de données avec AWS DMS, vous devez activer l'utilisation des types de données NCLOB pour une tâche spécifique. Au cours de la capture des données modifiées (CDC), AWS DMS prend en charge les types de données NCLOB uniquement dans les tables qui contiennent une clé primaire. |