Todos os produtos
Search
Central de documentação

ApsaraDB RDS:Use SSMS to migrate data to an RDS for SQL Server instance

Última atualização: Aug 21, 2026

Use o SQL Server Management Studio (SSMS) para migrar um banco de dados SQL Server para o Alibaba Cloud RDS for SQL Server. Esse método exporta o banco de dados source como um arquivo .bacpac e o importa na instância RDS de destino. Os exemplos usam o Azure SQL Database como source.

Como a exportação exige que o banco de dados source esteja offline, essa abordagem é ideal para migrações únicas em que uma janela de manutenção é aceitável.

Pré-requisitos

Antes de começar, verifique se você tem:

  • Uma instância RDS for SQL Server que atenda a todos os requisitos abaixo:

    • Execute o RDS Basic Edition, RDS High-availability Edition ou RDS Cluster Edition. Se executar o RDS High-availability Edition, use o SQL Server 2012 ou superior.

    • Pertença à família de instâncias de uso geral ou dedicada. A família de instâncias compartilhadas não é compatível.

    • Use o método de faturamento por assinatura ou pagamento conforme o uso. Instâncias serverless não são compatíveis.

    • Esteja em uma Virtual Private Cloud (VPC). Para alterar o tipo de rede, consulte Alterar o tipo de rede.

    • Tenha capacidade de armazenamento superior à do banco de dados source. Dimensione a instância de destino para pelo menos 1,2 vezes o armazenamento do source. Se a capacidade atual for insuficiente, expanda a capacidade de armazenamento antes de prosseguir.

    • Tenha sido criada nas seguintes datas ou posteriormente, dependendo da edição:

      • RDS High-availability Edition ou RDS Cluster Edition: 1º de janeiro de 2021

      • RDS Basic Edition: 2 de setembro de 2022

    Para verificar a data de criação, acesse a página Basic Information da sua instância no console do ApsaraDB RDS e localize o campo Creation Time na seção Status.
  • SSMS instalado no computador local ou em uma instância Elastic Compute Service (ECS). Se usar uma instância ECS, ela deve estar em uma VPC, executar uma imagem Windows Server e ter um endereço IP público atribuído.

    Os exemplos neste guia usam o SSMS 19.1. As etapas podem variar conforme a versão e as configurações do seu SSMS.
  • Uma conta de administrador de sistema na instância RDS. Faça login na instância com sua conta Alibaba Cloud e crie uma conta de administrador de sistema.

  • Uma lista de permissões de endereços IP na instância RDS que permita conexões do seu cliente:

    • Para conectar uma instância ECS pela rede interna, tanto a instância ECS quanto a instância RDS devem estar na mesma região e na mesma VPC. Adicione o endereço IP privado da instância ECS à lista de permissões.

    • Para conectar a partir de um computador local, adicione o endereço IP público dele à lista de permissões. Consulte Configurar uma lista de permissões de endereços IP.

Limitações

Analise estas limitações antes de iniciar a migração:

  • O banco de dados source deve estar offline durante a exportação. A exportação captura um snapshot transacionalmente consistente do banco de dados; portanto, nenhuma atividade de escrita pode ocorrer durante o processo. Planeje uma janela de manutenção que considere a duração da exportação e da importação. A velocidade da exportação depende das especificações da instância source.

  • Restrições e views não devem causar falhas na exportação. Valide o esquema do banco de dados source antes de exportar.

  • Conflitos de nome de banco de dados bloqueiam a importação. Se já existir um banco de dados com o mesmo nome na instância RDS de destino, a importação falhará ou produzirá dados inconsistentes.

  • Os níveis de compatibilidade devem corresponder. Execute a consulta abaixo nas instâncias source e de destino para verificar a compatibilidade:

    SELECT name, compatibility_level FROM sys.databases;

    Para mais informações, consulte Nível de compatibilidade do ALTER DATABASE.

Preparar o banco de dados source (Azure SQL Database)

Ative o acesso à internet para o Azure SQL Database e configure o firewall para permitir conexões do endereço IP público da sua instância ECS ou do seu computador local. Para obter instruções, consulte a documentação do Azure ou entre em contato com o suporte do Azure.

Etapa 1: Exportar dados do Azure SQL Database

Interrompa todas as escritas no banco de dados source antes de exportar. Isso garante que o arquivo .bacpac exportado seja transacionalmente consistente.

  1. Conecte-se ao Azure SQL Database usando o SSMS.

  2. No Object Explorer, expanda Databases, clique com o botão direito no banco de dados que deseja migrar e escolha Tasks > Export Data-tier Application.

  3. Na tela de introdução, clique em Next.

Página de configurações de exportação

  1. Na aba Settings, selecione Save To Local Disk.

  2. Clique em Browse, escolha um local para salvar e insira um nome de arquivo com a extensão .bacpac.

  3. Na aba Advanced, selecione as tabelas a exportar.

    Para exportar outros objetos, como triggers e stored procedures, clique com o botão direito no banco de dados no Object Explorer e escolha Tasks > Generate Scripts . Para mais informações sobre o assistente de exportação, consulte Exportar um aplicativo da camada de dados .
  4. Clique em Next.

  5. Clique em Finish para iniciar a exportação. Quando a exportação for concluída, clique em Close.

Etapa 2: Importar dados para a instância RDS

  1. Abra o SSMS e conecte-se à instância RDS. Na caixa de diálogo Connect to Server, configure os parâmetros a seguir:

    Parâmetro

    Valor

    Server type

    Database Engine

    Server name

    O endpoint interno ou público da instância RDS. Para encontrar o endpoint, consulte Visualizar e alterar endpoints e números de porta.

    Authentication

    SQL Server Authentication

    Login

    Nome de usuário da conta de administrador de sistema

    Password

    Senha da conta de administrador de sistema

  2. Clique em Connect.

  3. No Object Explorer, clique com o botão direito em Databases e selecione Import Data-tier Application.

  4. Clique em Next.

Página de configurações de importação

  1. Selecione Import From Local Disk.

  2. Clique em Browse e selecione o arquivo .bacpac exportado do banco de dados source.

  3. Clique em Next.

Página de configurações do banco de dados

  1. Em New Database Name, insira o nome do banco de dados na instância RDS.

    Importante

    Use o mesmo nome do banco de dados source. Um nome diferente pode causar falhas nos recursos do aplicativo após a transferência das cargas de trabalho para a instância RDS.

  2. Na seção SQL Server Settings, defina tanto Data File Path quanto Log File Path como E:\SQLDATA\DATA.

  3. Clique em Next.

  4. Clique em Finish para iniciar a importação. Quando a importação for concluída, clique em Close.

Etapa 3: Verificar a consistência dos dados

Execute as consultas a seguir nos bancos de dados source e de destino e compare os resultados. Resultados idênticos confirmam uma migração consistente.

Importante

Garanta que nenhuma alteração de dados ocorra no banco de dados source enquanto você executa essas consultas. Quaisquer mudanças após a exportação farão com que as contagens de linhas divirjam.

Consulta 1: Verificar a contagem total de linhas

USE <database name>;

SELECT SUM(b.rows) AS 'RowCount'
FROM sysobjects AS a INNER JOIN
sysindexes AS b ON a.id = b.id
WHERE (a.type = 'u') AND (b.indid IN (0, 1))

Consulta 2: Verificar tamanhos dos arquivos de dados

USE <database name>;

SELECT a.name [File name]
  ,cast(a.[size]*1.0/128 as decimal(12,1)) AS [Specified file size (MB)]
  ,CAST( fileproperty(s.name,'SpaceUsed')/(8*16.0) AS DECIMAL(12,1)) AS [Storage occupied by the file (MB)]
  ,CAST( (fileproperty(s.name,'SpaceUsed')/(8*16.0))/(s.size/(8*16.0))*100.0  AS DECIMAL(12,1)) AS [Percentage of the storage occupied by the file to the total storage capacity]
  ,CASE WHEN A.growth =0 THEN 'Fixed file size' ELSE 'Increment at which the storage that is allocated to the file increases' end [Increase mode]
  ,CASE WHEN A.growth > 0 AND is_percent_growth = 0 THEN 'Fixed increment'
    WHEN A.growth > 0 AND is_percent_growth = 1 THEN 'Increment represented by an integer percentage'
    ELSE 'Fixed file size' END AS [Increase mode]
  ,CASE WHEN A.growth > 0 AND is_percent_growth = 0 THEN cast(cast(a.growth*1.0/128as decimal(12,0)) AS VARCHAR)+'MB'
    WHEN A.growth > 0 AND is_percent_growth = 1 THEN cast(cast(a.growth AS decimal(12,0)) AS VARCHAR)+'%'
    ELSE 'Fixed file size' end AS [Increment (% or MB)]
  ,a.physical_name AS [File directory]
  ,a.type_desc AS [File type]
FROM sys.database_files  a
INNER JOIN sys.sysfiles AS s ON a.[file_id]=s.fileid
LEFT JOIN sys.dm_db_file_space_usage b ON a.[file_id]=b.[file_id]
ORDER BY a.[type]

Após concluir a verificação da consistência dos dados, transfira suas cargas de trabalho para a instância RDS for SQL Server e teste se os recursos funcionam conforme o esperado.