Exportar (0) Imprimir
Expandir Tudo

Copiando bancos de dados no Banco de dados SQL do Azure

Atualizado: junho de 2014

A operação de cópia de banco de dados copia um Banco de dados SQL do Microsoft Azure para um novo banco de dados. A cópia pode ser criada no mesmo servidor lógico ou em um diferente. Quando o processo de cópia estiver concluído, o novo banco de dados será um banco de dados totalmente funcional e independente do banco de dados de origem. O novo banco de dados é transacionalmente consistente com o banco de dados de origem no momento em que a cópia é concluída. A camada de serviço, o tamanho e o nível de desempenho do banco de dados da cópia são idênticos aos do banco de dados de origem.

Uma vez que o novo banco de dados é a mesma camada de serviço e nível de desempenho do banco de dados. Cada cópia aumenta a contagem total de bancos de dados e é cobrada de acordo com a mesma taxa do banco de dados de origem. Para obter mais informações, consulte Detalhes de preços do Banco de dados SQL.

Neste tópico:

Os cenários a seguir exigem a realização de uma cópia de seu banco de dados de origem para um novo banco de dados. Os métodos usados nesses cenários dependem se os bancos de dados de origem e de destino residem no mesmo servidor ou em um servidor diferente, mesma região ou em uma região diferente, são da mesma assinatura ou de assinaturas diferentes. Esses métodos estão descritos em detalhes na seção Outros métodos para copiar um banco de dados posteriormente neste tópico.

  • Testes e desenvolvimento de aplicativos: copie o banco de dados de produção para um novo banco de dados que possa ser usado para desenvolvimento e testes.

  • Atualização de aplicativos: Antes de atualizações importantes em aplicativos, copie o banco de dados do aplicativo em um banco de dados de backup com um nome diferente. Se o processo de atualização falhar ou for concluído com erros, você poderá mudar para a versão de pré-atualização do banco de dados simplesmente renomeando o banco de dados de backup para o nome do banco de dados do aplicativo.

  • Migração de aplicativos: Talvez seja necessário migrar seu aplicativo, o que também envolve a mudança de seu banco de dados.

noteObservação
Os bancos de dados criados pelo recurso de cópia são contados no limite de 150 bancos de dados do Banco de dados SQL do Azure para cada servidor do Banco de dados SQL do Azure. Para conhecer o impacto sobre os custos e a cobrança, consulte Contas e cobrança no Banco de dados SQL do Azure.

[Top]

Ao usar o recurso de cópia de banco de dados, os bancos de dados são copiados de forma assíncrona, de modo que não é necessária uma conexão com o servidor do Banco de dados SQL do Azure durante todo o processo. É possível copiar um banco de dados fazendo logon no banco de dados master do servidor de destino e executando a instrução Transact-SQL CREATE DATABASE com a cláusula AS COPY OF. Em seguida, é possível monitorar o processo de cópia usando as exibições sys.dm_database_copies e sys.databases no servidor de destino.

É possível copiar um banco de dados no mesmo servidor do Banco de dados SQL do Azure usando outro nome de banco de dados ou copiar o banco de dados em outro servidor do Banco de dados SQL do Azure. Esta seção considera ambas as alternativas.

Ao copiar um banco de dados para criar um novo banco de dados no mesmo servidor do Banco de dados SQL do Azure, os mesmos logons podem ser usados em ambos os bancos de dados. A entidade de segurança usada para copiar o banco de dados torna-se DBO (proprietária do banco de dados) no novo banco de dados quando ele é criado. A figura a seguir ilustra a cópia no mesmo servidor:

Nesta figura, Database1A é copiado em um novo banco de dados, Database1B, no mesmo servidor do Banco de dados SQL do Azure, Server1. O logon que copiou o banco de dados torna-se o DBO do Database1B. Todos os usuários, suas permissões e seus SIDs (identificadores de segurança) do banco de dados Database1A são copiados no Database1B. Como os SIDs dos usuários são os mesmos em ambos os bancos de dados, os logons do Server1 mantêm as mesmas permissões em ambos os bancos de dados.

Após a conclusão da cópia, Database1B torna-se um banco de dados totalmente funcional e independente. Os logons, os usuários e as permissões do Database1B podem ser gerenciados de forma independente do Database1A.

Você também pode copiar um banco de dados entre dois servidores Banco de dados SQL do Azure diferentes que estejam na mesma região. Como o novo banco de dados é criado em um servidor diferente do Banco de dados SQL do Azure, ele é associado a um banco de dados master diferente. Todos os usuários no novo banco de dados mantêm as permissões que eles tinham no banco de dados de origem. A entidade de segurança usada para copiar o banco de dados torna-se DBO no novo banco de dados quando ele é criado e recebe um novo SID (identificador de segurança). A figura a seguir ilustra a cópia entre servidores:

Nesta figura, Database1A é copiado do Server1 em um novo banco de dados, Database2A, em um servidor do Banco de dados SQL do Azure diferente, Server2. O logon que copiou o banco de dados torna-se o DBO do Database2A. Todos os usuários, suas permissões (mas não seus SIDs) do banco de dados Database1A são copiados no Database2A. Os logons de Server1 não podem ser usados com o novo banco de dados porque eles são associados a um servidor do Banco de dados SQL do Azure diferente e também porque os SIDs dos usuários de Database2A são diferentes dos SIDs dos usuários de Database1A.

ImportantImportante
Uma região do Banco de Dados do Azure SQL pode conter múltiplos clusters físicos. Atualmente, não é possível copiar um banco de dados entre dois clusters diferentes. Também não é possível copiar um banco de dados entre duas assinaturas diferentes. Para obter mais informações relacionadas às restrições, consulte Restrictions.

Quando o processo de cópia entre servidores estiver concluída, os logons, os usuários e as permissões de Database2A poderão ser gerenciados de forma independente de Database1A. Use o logon do DBO e a instrução Transact-SQL ALTER USER para mapear usuários no novo banco de dados para os logons no novo servidor do Banco de dados SQL do Azure. Por exemplo: ALTER USER userName WITH LOGIN='loginName'. Para obter mais informações, consulte ALTER USER.

[Top]

Copiar um banco de dados usando o recurso Cópia de Banco de Dados (Cópia DB) é o método mais objetivo. Porém, em alguns casos, considerando suas restrições descritas anteriormente, talvez seja necessário considerar o uso de um dos métodos alternativos. .

Algumas coisas a observar sobre as opções suportadas:

A Restauração Pontual permite que você crie uma cópia de uma versão anterior do banco de dados. Por exemplo, se você precisar criar uma cópia da versão do banco de dados antes da última atualização. A Restauração Pontual está disponível apenas nas novas camadas de serviços. Para obter mais informações sobre a Restauração Pontual, consulte Backup e restauração do Banco de dados SQL do Azure.

A Replicação Geográfica Ativa está disponível apenas em bancos de dados que usam a camada de serviço Premium. Ela permite que você controle o tempo da conclusão da cópia. Você deve usá-la quando precisar coordenar de perto o fim da cópia com outras ações em seu fluxo de trabalho. Para obter mais informações, consulte Replicação Geográfica Ativa para Banco de Dados SQL do Azure.

O serviço Importar/Exportar deve ser considerado quando outras opções não estiverem disponíveis em seu cenário específico. Para obter informações sobre Importar/Exportar, consulte Como: Importar e exportar um banco de dados (Banco de dados SQL do Azure).

A tabela abaixo lista as opções disponíveis para casos de uso diferentes:

 

Caso Assinatura Região Servidor Opções Suportadas

Caso A

Mesmo

Mesmo

Mesmo

  • Cópia DB (T-SQL, REST ou PowerShell)

  • Restauração Pontual

Caso B

Mesmo

Mesmo

Diferente

  • Cópia DB (T-SQL)

  • Cópia DB (T-SQL, REST ou PowerShell) para o mesmo servidor + Exportar/Importar

  • Restauração Pontual para o mesmo servidor + Exportar/Importar

  • Replicação Geográfica Ativa

Caso B

Mesmo

Diferente

Diferente

  • Cópia DB (T-SQL, REST ou PowerShell) para o mesmo servidor + Exportar/Importar

  • Restauração Pontual para o mesmo servidor + Exportar/Importar

  • Replicação Geográfica Ativa

Caso C

Diferente

Mesmo

Diferente

  • Cópia DB (T-SQL, REST ou PowerShell) para o mesmo servidor + Exportar/Importar

  • Restauração Pontual para o mesmo servidor + Exportar/Importar

Caso C

Diferente

Diferente

Diferente

  • Cópia DB (T-SQL, REST ou PowerShell) para o mesmo servidor + Exportar/Importar

  • Restauração Pontual para o mesmo servidor + Exportar/Importar

Use o Caso A
Quando origem e destino estiverem no mesmo servidor. É a forma mais objetiva de copiar banco de dados usando Cópia DB ou Restauração Pontual. Conforme descrito anteriormente, a Restauração Pontual permitirá que você crie uma cópia do banco de dados em um ponto no passado, enquanto Cópia DB copiará o banco de dados no momento atual.

Use o Caso B
Quando origem e destino estiverem nas mesmas assinaturas, mas em servidores diferentes, Cópia DB com T-SQL poderá ser usada para copiar em um servidor lógico diferente. No entanto, se o servidor lógico estiver em um cluster físico diferente, a cópia falhará. Para determinar se os servidores lógicos estão no mesmo cluster, use 'Ping' nos dois servidores para verificar se eles compartilham o mesmo endereço IP. Se o servidor de destino estiver em um cluster diferente, use as etapas a seguir:

  1. Crie uma cópia intermediária (preparo) do banco de dados no mesmo servidor que a origem. Você pode usar Cópia DB ou Restauração Pontual.

  2. Exporte a cópia para um arquivo BACPAC no Armazenamento BLOB do Azure.

  3. Importe o arquivo BACPAC criado na Etapa 2 para um banco de dados na assinatura/região/servidor desejado.

  4. Solte o banco de dados intermediário (preparo) criado na Etapa 1.

Para Bancos de Dados Premium: Como alternativa, você pode escolher usar Replicação Geográfica Ativa para criar um banco de dados secundário como uma cópia do banco de dados de origem. As etapas a seguir são necessárias para criar uma cópia do banco de dados:

  1. Crie um banco de dados secundário no servidor de destino.

  2. Quando o processo de replicação estiver no estado de atualização, pare o secundário.

  3. A nova cópia torna-se um banco de dados independente disponível para operações de leitura e gravação.

  4. Se a cópia precisar de um nome diferente do banco de dados de origem, renomeie a cópia.

Use o Caso C
Quando a origem e o destino estiverem em assinaturas diferentes, independentemente das mesmas regiões ou regiões diferentes, você pode usar o processo descrito para Use o Caso B, com exceção de Replicação Geográfica Ativa. Replicação Geográfica Ativa não funciona entre assinaturas.

As seções a seguir descrevem como o recurso Cópia DB funciona ao copiar para o mesmo servidor lógico ou para um servidor lógico diferente.

Consulte também

Mostrar:
© 2014 Microsoft