As traduções são geradas por tradução automática. Em caso de conflito entre o conteúdo da tradução e da versão original em inglês, a versão em inglês prevalecerá.
Utilizar um banco de dados Microsoft SQL Server como destino do AWS Database Migration Service
É possível migrar dados para bancos de dados Microsoft SQL Server utilizando o AWS DMS. Com um banco de dados SQL Server como destino, é possível migrar dados de outro banco de dados SQL Server ou de um dos outros bancos de dados compatíveis.
Para obter informações sobre as versões do SQL Server que são compatíveis com o AWS DMS como destino, consulte Metas para AWS DMS.
O AWS DMS é compatível com as edições on-premises Enterprise, Standard, Workgroup e Developer do Amazon RDS.
Para obter mais detalhes sobre o trabalho com o AWS DMS e bancos de dados de destino SQL Server, consulte:
Tópicos
- Limitações ao utilizar o SQL Server como destino do AWS Database Migration Service
- Requisitos de segurança ao utilizar o SQL Server como destino do AWS Database Migration Service
- Configurações de endpoint ao utilizar o SQL Server como destino do AWS DMS
- Tipos de dados de destino do Microsoft SQL Server
Limitações ao utilizar o SQL Server como destino do AWS Database Migration Service
As seguintes limitações se aplicam à utilização de um banco de dados SQL Server como destino do AWS DMS:
-
Ao criar manualmente uma tabela de destino do SQL Server com uma coluna calculada, a replicação de carga máxima não é compatível ao utilizar o utilitário de cópia em massa BCP. Para utilizar a replicação de carga máxima, desative o carregamento de BCP definindo o atributo de conexão adicional (ECA)
'useBCPFullLoad=false'
no endpoint. Para obter informações sobre como configurar ECAs em endpoints, consulte Criar endpoints de origem e de destino. Para obter mais informações sobre como trabalhar com o BCP, consulte a documentação do Microsoft SQL Server. -
Ao replicar tabelas com tipos de dados espaciais do SQL Server (GEOMETRY e GEOGRAPHY), o AWS DMS substitui qualquer identificador de referência espacial (SRID) que você tenha pelo SRID padrão. O SRID padrão é 0 para GEOMETRY e 4326 para GEOGRAPHY.
-
Tabelas temporais não são compatíveis. A migração de tabelas temporais pode funcionar com uma tarefa somente replicação no modo de aplicação transacional se essas tabelas forem criadas manualmente no destino.
-
Atualmente, os tipos de dados
boolean
em uma origem do PostgreSQL são migrados para um destino do SQL Server como o tipo de dadosbit
com valores inconsistentes.Como alternativa, faça o seguinte:
Crie previamente a tabela com um tipo de dados
VARCHAR(1)
para a coluna (ou deixe o AWS DMS criar a tabela). Depois, deixe o processamento downstream tratar um "F" como Falso e um "T" como Verdadeiro.Para evitar a necessidade de alterar o processamento downstream, adicione uma regra de transformação à tarefa para alterar os valores “F” para “0" e os valores “T” para 1 e armazená-los como o tipo de dados de bits do servidor SQL.
-
O AWS DMS não é compatível com o processamento de alterações para definir a nulidade da coluna (utilizando a cláusula
ALTER COLUMN [SET|DROP] NOT NULL
com instruçõesALTER TABLE
). -
A Autenticação do Windows não é compatível.
Requisitos de segurança ao utilizar o SQL Server como destino do AWS Database Migration Service
Veja a seguir a descrição dos requisitos de segurança para utilizar o AWS DMS com um destino do Microsoft SQL Server:
-
A conta do usuário do AWS DMS deve ter pelo menos o perfil do usuário
db_owner
no banco de dados SQL Server ao qual você está se conectando. -
Um administrador de sistema do SQL Server deve fornecer essa permissão a todas as contas de usuário do AWS DMS.
Configurações de endpoint ao utilizar o SQL Server como destino do AWS DMS
É possível utilizar as configurações de endpoint para configurar o banco de dados de destino do SQL Server de forma semelhante à utilização de atributos de conexão adicional. Você especifica as configurações ao criar o endpoint de destino utilizando o console do AWS DMS ou o comando create-endpoint
na AWS CLI, com a sintaxe --microsoft-sql-server-settings '{"
do JSON.EndpointSetting"
:
"value"
, ...
}'
A tabela a seguir mostra as configurações de endpoint que é possível utilizar com o SQL Server como destino.
Nome | Descrição |
---|---|
|
Especifique um grupo de arquivos para as tabelas internas do AWS DMS. Quando a tarefa de replicação é iniciada, todas as tabelas internas de controle do AWS DMS (awsdms_ apply_exception, awsdms_apply, awsdms_changes) são criadas no grupo de arquivos especificado. Valor padrão: n/d Valores válidos: string Exemplo: O exemplo a seguir apresenta instruções para criar um grupo de arquivos.
|
|
Utilize esse atributo de conexão adicional (ECA) para definir o tempo limite da instrução do cliente para a instância do SQL Server, em segundos. O valor padrão é de 60 segundos. Exemplo: |
|
Utilize esse atributo para transferir dados para operações de carga máxima utilizando BCP. Quando a tabela de destino contém uma coluna de identidade que não existe na tabela de origem, desative a opção Utilizar BCP ao carregar tabelas. Valor padrão: verdadeiro Valores válidos: verdadeiro/falso Exemplo: |
Tipos de dados de destino do Microsoft SQL Server
A tabela a seguir mostra os tipos de dados de destino do Microsoft SQL Server compatíveis com o AWS DMS e o mapeamento padrão relativo aos tipos de dados do AWS DMS. Para obter mais informações sobre os tipos de dados do AWS DMS, consulte Tipos de dados do AWS Database Migration Service.
Tipo de dados do AWS DMS |
Tipo de dados do SQL Server |
---|---|
BOOLEAN |
TINYINT |
BYTES |
VARBINARY(tamanho) |
DATA |
No SQL Server 2008 e superior, utilize DATE. Para versões anteriores, se a escala for menor ou igual a 3, use DATETIME. Em todos os demais casos, use VARCHAR (37). |
TIME |
No SQL Server 2008 e superior, utilize DATETIME2 (%d). Para versões anteriores, se a escala for menor ou igual a 3, use DATETIME. Em todos os demais casos, use VARCHAR (37). |
DATETIME |
No SQL Server 2008 e superior, utilize DATETIME2 (escala). Para versões anteriores, se a escala for menor ou igual a 3, use DATETIME. Em todos os demais casos, use VARCHAR (37). |
INT1 |
SMALLINT |
INT2 |
SMALLINT |
INT4 |
INT |
INT8 |
BIGINT |
NUMERIC |
NUMERIC (p,s) |
REAL4 |
REAL |
REAL8 |
FLOAT |
STRING |
Se a coluna for de data ou hora, faça o seguinte:
Se a coluna não é uma data ou hora, use VARCHAR (tamanho). |
UINT1 |
TINYINT |
UINT2 |
SMALLINT |
UINT4 |
INT |
UINT8 |
BIGINT |
WSTRING |
NVARCHAR (tamanho) |
BLOB |
VARBINARY(máximo) IMAGE Para utilizar esse tipo de dados com o AWS DMS, ative a utilização de BLOBs em uma tarefa específica. O AWS DMS é compatível com os tipos de dados BLOB somente em tabelas que possuem uma chave primária. |
CLOB |
VARCHAR(máximo) Para usar esse tipo de dados no AWS DMS, é necessário habilitar o uso de CLOBs em uma tarefa específica. Durante uma captura de dados de alteração (CDC), o AWS DMS é compatível com os tipos de dados CLOB somente em tabelas que incluem uma chave primária. |
NCLOB |
NVARCHAR(máximo) Para usar esse tipo de dados no AWS DMS, é necessário habilitar o uso de NCLOBs em uma tarefa específica. Durante uma captura de dados de alteração (CDC), o AWS DMS oferece suporte aos tipos de dados NCLOB somente em tabelas que incluem uma chave primária. |