Eu tenho um banco de dados OLTP hospedado em uma instância do SQL Azure. Quero extrair uma cópia do banco de dados da nuvem para poder executar algumas extrações pesadas e consultas no estilo OLAP sem afetar o banco de dados de origem.
Como faço para obter uma cópia do banco de dados para uma instância local do SQL Server?
Use o Assistente de Migração do SQL Azure :
O Red Gate tem uma ferramenta de backup do SQL Azure apropriadamente chamada . É gratuito, mas a Red Gate descontinuou o suporte para ele.
Crie um
bcp
script que exporte o conteúdo de todas as suas tabelas para arquivos locais.Comece escrevendo uma consulta que produzirá um
bcp
comando para exportar cada tabela em seu banco de dados de destino para um caminho em sua máquina de destino:Execute esta consulta usando
bcp
seu banco de dados SQL Azure da máquina para a qual você deseja copiar e salve os resultados em umcmd
arquivo. Execute essecmd
arquivo para exportar cada tabela para um arquivo de texto.Essa é uma abordagem rápida e suja e não é adequada para grandes bancos de dados ou esquemas complexos.
Percebi que há uma nova ferramenta nesta lista, é o Idera's Azure SQL Database Backup . É grátis e eles costumam fazer boas ferramentas, então vale a pena tentar.
Outra forma de exportar bancos de dados (mas desta vez apenas esquema, sem dados) para o Azure é usando pacotes DAC (arquivos .dacpac extraídos do Management Studio ou Visual Studio 2010). Isso funciona apenas no SQL 2008 R2 SP1+.
Você pode ler detalhes sobre os aplicativos da camada de dados aqui:
você pode usar o assistente de importação de dados do SSMS. Aqui está um bom post sobre isso, com fotos. O ponto principal é selecionar o provedor de dados .NET para o banco de dados de origem. Tive muitos problemas tentando fazê-lo funcionar com outros provedores (e padrão - nativos).