Exportar (0) Imprimir
Expandir Tudo
Este tópico ainda não foi avaliado como - Avalie este tópico

Migração de dados para o Banco de dados SQL do Windows Azure: ferramentas e técnicas

Este documento fornece diretrizes sobre como migrar a definição de dados (esquema) e os dados para o Banco de dados SQL do Windows Azure. Ele se dirige principalmente à migração única do SQL Server para o Banco de dados SQL. Para o compartilhamento de dados contínuo e o backup do Banco de dados SQL, consulte a visão geral da Sincronização de Dados do SQL.

Considerações sobre a migração

O Microsoft Windows Azure oferece várias opções de armazenamento de dados. Você pode optar por usar uma ou muitas em seus projetos.

O Banco de dados SQL do Windows Azure é a tecnologia do SQL Server fornecida como um serviço na Plataforma Windows Azure. As soluções de Banco de dados SQL baseadas em nuvem podem fornecer muitos benefícios, incluindo provisionamento rápido, escalabilidade econômica, alta disponibilidade e sobrecarga de gerenciamento reduzida. O Banco de dados SQL oferece suporte às mesmas ferramentas e práticas de desenvolvimento usadas para aplicativos locais do SQL Server. Portanto, ele deve ser uma experiência familiar para a maioria dos desenvolvedores.

O objetivo de longo prazo para o SQL Server e o Banco de dados SQL é a simetria e a paridade em ambos os recursos; entretanto, atualmente há diferenças de arquitetura e implementação que precisam ser resolvidas ao migrar bancos de dados para o Banco de dados SQL e ao desenvolver soluções de Banco de dados SQL.

Antes de migrar um banco de dados para o Banco de dados SQL, é importante entender quando migrar e as diferenças entre o Banco de dados SQL e o SQL Server.

Quando migrar

Há três ofertas principais de armazenamento na plataforma Windows Azure. O Armazenamento do Windows Azure contém tabela, blob e fila. Ao criar uma solução do Windows Azure, você avaliará opções diferentes e usará cada mecanismo de armazenamento para fornecer o melhor desempenho para a parte da solução.

 

Oferta de armazenamento

Finalidade

Tamanho máximo

Banco de dados SQL do Windows Azure

Sistema de gerenciamento de bancos de dados relacionais

150 GB

Armazenamento do Windows Azure

Blob

Armazenamento durável para objetos binários grandes, como vídeo ou áudio

200GB ou 1TB

Tabela

Armazenamento durável para dados estruturados

100 TB

Fila

Armazenamento durável para mensagens entre processos

100 TB

Armazenamento local

Armazenamento temporário por instância

250 GB a 2 TB

O armazenamento local fornece armazenamento temporário para uma instância do aplicativo local em execução. Um repositório local é acessível apenas pela instância local. Se a instância for reiniciada em um hardware diferente, como no caso de falha ou manutenção do hardware, os dados do repositório local não seguirão a instância. Se seu aplicativo exigir durabilidade confiável dos dados, desejar compartilhar dados entre instâncias ou acessar os dados fora do Windows Azure, considere usar uma conta de armazenamento do Windows Azure ou então o Banco de dados SQL do Windows Azure.

O Banco de dados SQL fornece recursos de processamento de dados por meio de consultas, transações e procedimentos armazenados que são executados no servidor, e somente os resultados são retornados ao aplicativo. Se você tem um aplicativo que requer processamento de dados sobre conjuntos de dados grandes, o Banco de dados SQL é uma boa opção. Se você tem um aplicativo que armazena e recupera grandes conjuntos de dados, mas não exige processamento de dados, o Armazenamento de Tabela do Windows Azure é uma opção melhor.

Como a limitação de tamanho do Banco de dados SQL é definida no momento em 150 GB, e o Banco de dados SQL é muito mais dispendioso do que o armazenamento do Windows Azure, você pode considerar mover os dados de blob para o Armazenamento de Blob do Windows Azure. Dessa forma, você pode reduzir a pressão sobre o limite de tamanho do banco de dados e reduzir os custos operacionais.

Para obter mais informações, consulte as ofertas de armazenamento de dados da plataforma Windows Azure.

Comparação do Banco de dados SQL do Windows Azure com o SQL Server

Semelhante ao SQL Server, o Banco de dados SQL expõe uma interface TDS para o acesso a banco de dados baseado em Transact-SQL. Isso permite que seus aplicativos de banco de dados usem o Banco de dados SQL da mesma maneira que usam o SQL Server.

Ao contrário da administração do SQL Server, o Banco de dados SQL abstrai a administração lógica da administração física; você continua a administrar bancos de dados, logons, usuários e funções, mas a Microsoft administra e configura o hardware físico, como discos rígidos, servidores e armazenamento. Como a Microsoft manipula toda a administração física, há algumas diferenças entre o Banco de dados SQL e o SQL Server em termos de administração, provisionamento, suporte para Transact-SQL, modelo de programação e recursos.

A lista a seguir fornece uma visão geral de alto nível de algumas das principais diferenças:

  • Tamanho do banco de dados

    O Banco de dados SQL oferece atualmente duas edições:

    • Web Editions, em tamanhos de 1 GB e 5 GB.

    • Business Editions, em tamanhos de 10, 20, 30, 40, 50, 100 e 150 GB.

    É importante verificar o tamanho do seu banco de dados e como ele se ajusta às cotas de banco de dados usadas pelo Banco de dados SQL. Se seu banco de dados ultrapassar o limite de tamanho do Banco de dados SQL, você deve examiná-lo e ver se ele pode ser dividido em bancos de dados menores (isto é, fragmentado) ou mover dados para o armazenamento de blob do Windows Azure. Para obter mais informações sobre a fragmentação de banco de dados, consulte o artigo sobre federação: criação de soluções de banco de dados dimensionáveis, elásticas e multilocatárias com o Banco de dados SQL do Windows Azure.

  • Autenticação

    O Banco de dados SQL oferece suporte somente à autenticação SQL. Você deve considerar se as alterações são necessárias para o esquema de autenticação usado pelo seu aplicativo. Para obter mais informações sobre as limitações de segurança, consulte as diretrizes e limitações de segurança.

  • Versão do Banco de dados do SQL Server

    O Banco de dados SQL se baseia no SQL Server 2008 (nível 100). Se você desejar migrar seus bancos de dados do SQL Server 2000 ou SQL Server 2005 para o Banco de dados SQL, deverá verificar se os bancos de dados são compatíveis com o SQL Server 2008. Você descobrirá que o melhor caminho é migrar de um SQL Server 2008 para o Banco de dados SQL. Você pode passar por uma atualização local para o SQL Server 2008 antes de migrar para o Banco de dados SQL. Aqui estão alguns recursos ótimos para ajudá-lo a migrar de versões anteriores do SQL Server: Atualizando para o SQL Server 2008 R2 e Supervisor de Atualização do Microsoft SQL Server 2008.

  • Esquema

    O Banco de dados SQL não oferece suporte a heaps. TODAS as tabelas devem ter um índice clusterizado para que os dados possam ser inseridos. Para obter mais informações sobre o requisito de índice clusterizado, consulte Por dentro do Banco de dados SQL do Windows Azure.

  • Suporte a Transact-SQL

    O Banco de dados SQL do Windows Azure oferece suporte a um subconjunto da linguagem Transact-SQL. Você deve modificar o script para incluir somente instruções Transact-SQL com suporte antes de implantar o banco de dados no Banco de dados SQL. Para obter mais informações, consulte Instruções Transact-SQL com suporte, Instruções Transact-SQL com suporte parcial e Instruções Transact-SQL sem suporte.

  • A instrução Use

    No Banco de dados SQL, a instrução USE não alterna entre bancos de dados. Para alterar bancos de dados, você deve conectar-se diretamente ao banco de dados.

  • Preços

    O preço de assinatura do Banco de dados SQL é por banco de dados e não se baseia na edição. Também há encargos adicionais para o volume de transferência de dados, em qualquer momento que os dados entram ou saem do data center. Você tem a opção de executar seu código de aplicativo no próprio local e conectar-se ao Banco de dados SQL no data center, ou executar seu código de aplicativo no Windows Azure, que é hospedado no mesmo data center que seu Banco de dados SQL. O código de aplicativo em execução no Windows Azure evita encargos adicionais de transferência de dados. Em ambos os casos, você deve estar ciente da latência de rede da Internet, que não pode ser atenuada com o uso de qualquer um dos modelos. Para obter mais informações, consulte a visão geral dos preços.

  • Limitações de recursos

    Alguns dos recursos do SQL Server não têm suporte no Banco de dados SQL atualmente. Eles incluem: SQL Agent, pesquisa de texto completo, Service Broker, backup e restauração, Common Language Runtime e SQL Server Integration Services. Para obter uma lista detalhada, consulte Limitações de recursos do SQL Server.

Manipulação de conexões

Ao usar um banco de dados baseado em nuvem como o Banco de dados SQL, ele requer conexões pela Internet ou outras redes complexas. Por isso, você deve estar preparado para lidar com quedas de conexões inesperadas. 

O Banco de dados SQL fornece um serviço de banco de dados para vários locatários de grande escala nos recursos compartilhados. Para proporcionar uma boa experiência a todos os clientes do Banco de dados SQL, sua conexão com o serviço pode ser fechada devido a várias condições. 

A seguir está uma lista de causas de términos de conexões:

  • Latência de rede

    A latência causa um aumento no tempo necessário para transferir dados para o Banco de dados SQL. A melhor maneira de reduzir esse efeito é transferir dados usando vários fluxos simultâneos. Entretanto, a eficiência da paralelização é limitada pela largura de banda de sua rede.

    O Banco de dados SQL permite que você crie seu banco de dados em data centers diferentes. Dependendo de seu local e da conectividade de rede, você obterá latências de rede diferentes entre o seu local e cada um dos data centers. Para ajudar a reduzir a latência de rede, selecione um data center que seja mais próximo da maioria dos usuários. Para obter informações sobre como medir a latência de rede, consulte o Teste de latência do cliente no Banco de dados SQL do Windows Azure.

    Hospedar o código do aplicativo no Windows Azure é benéfico para o desempenho do seu aplicativo porque minimiza a latência de rede associada às solicitações de dados do seu aplicativo ao Banco de dados SQL.

    Minimizar as viagens de ida e volta da rede também pode ajudar a reduzir os problemas relacionados à rede.

  • Failover do banco de dados

    O Banco de dados SQL replica várias cópias redundantes dos seus dados em vários servidores físicos para manter a disponibilidade dos dados e a continuidade de negócios. No caso de falhas ou atualizações de hardware, o Banco de dados SQL fornece failover automático para otimizar a disponibilidade do seu aplicativo. Atualmente, algumas ações de failover resultam em um término abrupto de sessão.

  • Balanceamento de carga

    O balanceador de carga no Banco de dados SQL assegura o uso ideal dos servidores físicos e serviços nos data centers. Quando a utilização da CPU, a latência de entrada/saída (E/S) ou o número de trabalhos ocupados para um computador excede os limites, o Banco de dados SQL pode encerrar as transações e desconectar as sessões.

  • Limitação

    Para garantir que todos os assinantes recebam um compartilhamento apropriado dos recursos e que nenhum assinante monopolize recursos à custa de outros assinantes, o Banco de dados SQL pode fechar ou "limitar" conexões do assinante em determinadas condições. O serviço de limitação do mecanismo de Banco de dados SQL monitora continuamente determinados limites de desempenho para avaliar a integridade do sistema e pode iniciar vários níveis de limitação a assinantes específicos, dependendo da medida em que esses assinantes estejam afetando a integridade do sistema.

    Os seguintes limites de desempenho são monitorados pela limitação do mecanismo de Banco de dados SQL:

    • Percentual de espaço alocado para um banco de dados físico do Banco de dados SQL que está em uso; os percentuais de limites flexíveis e rígidos são iguais.

    • Percentual de espaço alocado para arquivos de log do Banco de dados SQL em uso. Os arquivos de log são compartilhados entre assinantes. Os percentuais de limites flexíveis e rígidos são diferentes.

    • Milissegundos de atraso ao gravar em uma unidade de log; os percentuais de limites flexíveis e rígidos são diferentes.

    • Milissegundos de atraso ao ler arquivos de dados; os percentuais de limites flexíveis e rígidos são iguais.

    • Uso do processador; os percentuais de limites flexíveis e rígidos são iguais.

    • O tamanho de bancos de dados individuais relativos ao tamanho máximo permitido para assinatura do banco de dados; os percentuais de limites flexíveis e rígidos são iguais.

    • O número total de trabalhos que atendem a solicitações ativas a bancos de dados; os percentuais de limites flexíveis e rígidos são diferentes. Se esse limite for excedido, os critérios de escolha de quais bancos de dados bloquear são diferentes do caso de outros limites. Os bancos de dados que utilizam o número mais alto de trabalhos são os mais prováveis de limitar candidatos do que os bancos de dados que apresentam as taxas de tráfego mais altas.

Para obter mais informações, consulte Gerenciamento de conexão do Banco de dados SQL do Windows Azure e Desempenho do Banco de dados SQL do Windows Azure e guia de elasticidade.

A melhor maneira de lidar com a perda de conexão é restabelecer a conexão e, em seguida, executar novamente os comandos ou a consulta com falha. Para obter mais informações, consulte a estrutura de manipulação de falhas transitórias.

Otimizar bancos de dados para a importação de dados

Há algumas coisas que você pode fazer nos bancos de dados para melhorar o desempenho de migração:

  • Atrasar a criação de índices não clusterizados ou desabilitar índices não clusterizados. Adicionar índices criados antes de carregar os dados pode aumentar significativamente o tamanho final do banco de dados e o tempo necessário para carregar a mesma quantidade de dados.

  • Desabilitar gatilhos e restringir a verificação. Os gatilhos podem ser disparados quando uma linha é inserida em uma tabela, fazendo com que a linha seja reinserida em outra tabela. O gatilho pode causar atrasos e você talvez não queira que esses tipos de inserções sejam reinseridos.

  • O desempenho da importação em massa será melhorado se os dados sendo importados estiverem classificados de acordo com o índice clusterizado na tabela. Para obter mais informações, consulteControlando a ordem de classificação durante a importação em massa de dados.

Transferir dados grandes para o Banco de dados SQL

O SQL Server Integration Services (SSIS) e o utilitário bcp funcionam bem com a migração de dados grandes.

Ao carregar dados grandes no Banco de dados SQL, é aconselhável dividir os dados em vários fluxos simultâneos para obter o melhor desempenho.

Por padrão, todas as linhas no arquivo de dados são importadas como um lote. Para distribuir as linhas entre vários lotes, especifique um tamanho de lote sempre que estiver disponível. Se a transação apresentar falha para qualquer lote, só serão revertidas as inserções do lote atual. Lotes já importados por transações confirmadas não serão afetados por uma falha posterior. É melhor testar uma variedade de configurações de tamanho de lote para que seu cenário e ambiente em particular encontrem o tamanho de lote ideal.

Escolher ferramentas de migração

Há várias ferramentas disponíveis para a migração de banco de dados para o Banco de dados SQL. Em geral, a migração de banco de dados envolve a migração de esquema e a migração de dados. Há ferramentas que oferecem suporte a cada uma delas ou ambas. Você pode até usar a API de cópia em massa para criar seu próprio aplicativo de carregamento de dados personalizado.

Migrar do SQL Server

 

Ferramentas

Esquema

Verificação de compatibilidade do Banco de dados SQL

Dados

Eficiência da transferência de dados

Observação

Pacote DAC

Sim

Sim

Não

N/D

  • A entidade que contém todos os objetos de banco de dados, mas não dados

  • Suporte completo ao Banco de dados SQL

Exportação de importação de um DAC BACPAC

Sim

Sim

Sim

Boa

  • Importação/exportação de DAC mais dados com estrutura de DAC

  • Serviço disponível para suporte somente em nuvem

  • Exemplos de DAC SQL disponíveis no CodePlex

Assistente para Gerar Scripts do SSMS

Sim

Alguma

Sim

Ruim

  • Tem a opção explícita para geração de scripts do Banco de dados SQL

  • Bom para banco de dados menor

bcp

Não

N/D

Sim

Boa

  • Transferência eficiente de dados para a tabela existente

  • Cada comando bcp transfere um banco de dados

Assistente de migração do Banco de dados SQL

Sim

Sim

Sim

Boa

  • Excelentes recursos, por exemplo, avaliar arquivos de rastreamento

  • Software livre no CodePlex

  • Sem suporte pela Microsoft

SQL Server Integration Services

Não

N/D

Sim

Boa

  • Mais flexibilidade

Assistente de Importação e Exportação do SQL Server

Não

N/D

Sim

Boa

  • Interface do usuário simples sobre o SSIS; também disponível no SSMS

Migrar de outros RDMSs

O Assistente de Migração do Banco de dados SQL pode ser usado para migrar bancos de dados do Access, MySQL, Oracle ou Sybase para o Banco de dados SQL.

O Microsoft Codename “Data Transfer” pode transferir dados em CSV ou arquivo do Excel para o Banco de dados SQL.

Migrar entre Bancos de dados SQL

Para migrar dados de um Banco de dados SQL para outro Banco de dados SQL, você pode usar a cópia do Banco de dados SQL e a Sincronização de Dados do SQL.

O Banco de dados SQL oferece suporte a um recurso de cópia do banco de dados. Isso cria um novo banco de dados no Banco de dados SQL, que é uma cópia transacionalmente consistente de um banco de dados existente. Para copiar o banco de dados, você deve estar conectado ao banco de dados mestre do servidor do Banco de dados SQL, onde o novo banco de dados será criado, e usar o comando CREATE DATABASE:

CREATE DATABASE destination_database_name AS COPY OF 
[source_server_name.]source_database_name

O novo banco de dados pode estar no mesmo servidor ou em um servidor diferente. O usuário que executa essa instrução deve estar na função dbmanager no servidor de destino (para criar um novo banco de dados) e deve ser dbowner no banco de dados de origem. Para obter mais informações, consulte Copiando bancos de dados no Banco de dados SQL do Windows Azure.

A Sincronização de Dados do Banco de dados SQL permite criar e agendar sincronizações regulares entre o Banco de dados SQL e o SQL Server ou outro Banco de dados SQL. Para obter mais informações, consulte Visão geral da sincronização de dados SQL.

Usando ferramentas de migração

Pacote de DAC de aplicativo da camada de dados

Os DACs (aplicativos da camada de dados) foram introduzidos no SQL Server 2008 R2, com o suporte a ferramentas de desenvolvimento no Visual Studio 2010. Eles são úteis para agrupar o esquema, o código e a configuração de um banco de dados para implantar em outro servidor. Quando um DAC está pronto para ser implantado, ele é embutido em um pacote de DAC (.bacpac), que é um arquivo compactado que contém as definições de DAC no formato XML. No SQL Server Management Studio, você pode exportar o esquema de banco de dados para um pacote de DAC e depois implantar o pacote no Banco de dados SQL.

noteObservação
O formato DACPAC é diferente do formato BACPAC. O formato BACPAC amplia o formato DACPAC para incluir um arquivo de metadados e dados de tabela codificados para JSON (JavaScript Object Notation), além do conteúdo padrão do arquivo .dacpac. O formato BACPAC é abordado na seção sobre exportação e importação de DAC.

Você tem a opção para alterar o pacote de DAC usando o Visual Studio 2010 antes da implantação. Dentro do projeto de DAC, você pode especificar scripts de pré e pós-implantação. Esses são scripts Transact-SQL que podem executar qualquer ação, inclusive inserir dados nos scripts de pós-implantação. No entanto, não é recomendável inserir uma grande quantidade de dados usando um pacote de DAC.

Instalação e uso

O DAC é fornecido com o SQL Server 20008 R2. Há duas etapas principais envolvidas na migração do esquema de banco de dados do SQL Server para o Banco de dados SQL:

  1. Extrair um pacote de DAC de um banco de dados do SQL Server:

    O Assistente para Extrair Aplicativo da Camada de Dados pode ser usado para criar um pacote de DAC baseado em um banco de dados existente. O pacote de DAC contém os objetos selecionados do banco de dados e objetos associados no nível de instância, como os logons que são mapeados para usuários do banco de dados. 

    Aqui está uma captura da tela de abertura do assistente:

    Assistente para Extrair um Aplicativo da Camada de Dados

    O assistente envolve as seguintes etapas principais:

    1. Defina as propriedades do DAC, incluindo o nome do aplicativo de DAC, a versão, a descrição e o local do arquivo de pacote.

    2. Valide que todos os objetos de banco de dados têm suporte em um DAC.

    3. Crie o pacote.

    Um DAC só pode ser extraído de um banco de dados no Banco de dados SQL ou do SQL Server 2005 Service Pack 4 (SP4) ou posterior. Você não poderá extrair um DAC se o banco de dados tiver objetos que não tenham suporte em um DAC ou usuários contidos. Para obter mais informações sobre os tipos de objetos com suporte em um DAC, consulte Suporte de DAC para objetos e versões do SQL Server.

  2. Implantar o pacote de DAC no Banco de dados SQL:

    O Assistente para Implantar Aplicativo da Camada de Dados pode ser usado para implantar um pacote de DAC. Você deve primeiro se conectar ao servidor do Banco de dados SQL do SQL Server Management Studio. O assistente criará o banco de dados se ele não existir. O assistente implanta o pacote de DAC na instância do Mecanismo de Banco de Dados associado ao nó selecionado na hierarquia do Pesquisador de Objetos. Por exemplo, na captura de tela a seguir, ele implanta o pacote no SQL Server chamado maqqarly23.database.windows.net:

    Assistente para Implantar um Aplicativo da Camada de Dados
    ImportantImportante
    É recomendável revisar o conteúdo de um pacote de DAC antes de implantá-lo em produção, especialmente quando o pacote implantado não tiver sido desenvolvido em sua organização. Para obter mais informações, consulte Validar um pacote de DAC.

    O assistente envolve as seguintes etapas principais:

    1. Selecione o pacote de DAC.

    2. Valide o conteúdo do pacote.

    3. Configure as propriedades de implantação de banco de dados, onde você especifica o Banco de dados SQL.

    4. Implante o pacote.

Além de usar o assistente, você também pode usar o PowerShell com o método dacstore para a migração de esquema para o Banco de dados SQL.

Recursos

Pacote BACPAC de aplicativo da camada de dados

Um DAC (aplicativo da camada de dados) é uma unidade autossuficiente para desenvolver, implantar e gerenciar os objetos da camada de dados. O DAC permite que desenvolvedores e administradores de banco de dados da camada de dados agrupem os objetos do Microsoft SQL Server, inclusive objetos de banco de dados e objetos de instância, em uma única entidade chamada pacote de DAC (arquivo .dacpac). O formato BACPAC amplia o formato DACPAC para incluir um arquivo de metadados e dados de tabela codificados para JSON (JavaScript Object Notation), além do conteúdo padrão do arquivo .dacpac. Você pode empacotar seu banco de dados do SQL Server em um arquivo .bacpac e usá-lo para migrar o banco de dados para o Banco de dados SQL.

noteObservação
O DACPAC e o BACPAC são semelhantes, mas na verdade se destinam a cenários muito diferentes. O DACPAC se concentra em capturar e implantar o esquema. Seu caso de uso principal é para a implantação em ambiente de desenvolvimento, teste e depois produção.

Um BACPAC se destina a capturar esquema e dados. É o equivalente lógico de um backup de banco de dados e não pode ser usado para atualizar bancos de dados existentes. Os principais casos de uso do BACPAC são para mover um servidor para outro (ou para o Banco de dados SQL) e arquivar um banco de dados existente em um formato aberto.

O serviço de importação e exportação para Banco de dados SQL está atualmente disponível como um CTP público. O serviço pode importar ou exportar diretamente arquivos BACPAC entre um Banco de dados SQL e o armazenamento de Blob do Windows Azure. O serviço de importação e exportação para Banco de dados SQL fornece alguns pontos de extremidade REST públicos para o envio de solicitações.

O Portal de Gerenciamento da Plataforma Windows Azure tem uma interface para chamar o serviço de importação e exportação para Banco de dados SQL.

Serviço de Importação e Exportação para o Banco de dados SQL

O SQL Server Management Studio atualmente não oferece suporte à exportação de um banco de dados para um arquivo BACPAC. Você pode aproveitar a API do DAC para importar e exportar dados.

Os exemplos de DAC SQL mostram como usar a API da Estrutura de Aplicativo da Camada de Dados para migrar bancos de dados do SQL Server para o Banco de dados SQL. O pacote fornece dois utilitários de linha de comando e seus códigos-fontes:

  • As ferramentas do lado do cliente de importação e exportação de DAC podem ser usadas para exportar e importar arquivos bacpac.

  • O cliente do serviço de importação e exportação de DAC pode ser usado para chamar o serviço de importação e exportação para Banco de dados SQL a fim de importar e exportar arquivos bacpac entre o armazenamento de Blob do Windows Azure e um Banco de dados SQL.

    Uma maneira de copiar um arquivo bacpac no armazenamento de Blob do Windows Azure é usar o Microsoft Codename “Data Transfer”. Para obter mais informações, consulte a seção Microsoft Codename Data Transfer.

noteObservação
A capacidade de importar e exportar dados para o Banco de dados SQL usando a estrutura de DAC (aplicativo da camada de dados) está disponível apenas como exemplos do CodePlex. Apenas a comunidade oferece suporte às ferramentas.

Instalação e uso

Esta seção mostra como usar as ferramentas de cliente dos exemplos de DAC SQL para migrar o banco de dados do SQL Server para o Banco de dados SQL.

Os exemplos de DAC SQL podem ser baixados do CodePlex. Para executar o exemplo, você também deve instalar a Estrutura de Aplicativo da Camada de Dados em seu computador.

Antes de usar as ferramentas para migrar o banco de dados, você deve criar o Banco de dados SQL de destino. Há duas etapas envolvidas no uso da ferramenta para migração:

  1. Exportar um banco de dados do SQL Server

    Suponha que haja um banco de dados em execução no SQL Server 2008 R2, ao qual um usuário integrou o acesso de segurança. O banco de dados pode ser exportado para um arquivo ".bacpac" chamando-se o EXE de exemplo com os seguintes argumentos:

    DacCli.exe -s serverName -d databaseName -f C:\filePath\exportFileName.bacpac -x -e
    
  2. Importar o pacote para o Banco de dados SQL

    Uma vez exportado, o arquivo de exportação pode ser importado para um Banco de dados SQL com os seguintes argumentos:

    DacCli.exe -s serverName.database.windows.net -d databaseName -f C:\filePath\exportFileName.bacpac -i -u userName -p password
    

Recursos

Assistente para Gerar Scripts

O Assistente para Gerar Scripts pode ser usado para criar scripts Transact-SQL para banco de dados do SQL Server e/ou objetos relacionados dentro do banco de dados selecionado. Você pode usar os scripts para transferir esquema e/ou dados para o Banco de dados SQL.

Instalação e uso

O Assistente para Gerar Scripts é instalado com o SQL Server 2008 R2. O assistente pode ser reaberto do SQL Server Management Studio 2008 R2. A captura de tela a seguir mostra como abrir o assistente:

Assistente para Gerar Scripts

O assistente envolve as seguintes etapas principais:

  1. Escolha objetos para exportação.

  2. Defina opções de script. Você tem as opções de salvar o script em arquivo, na área de transferência ou em uma nova janela de consulta; ou publicá-lo em um serviço Web.

  3. Defina opções de script avançadas.

    Por padrão, o script é gerado para a instância do SQL Server autônoma. Para alterar a configuração, você deve clicar no botão Avançado na caixa de diálogo Definir Opções de Script e definir a propriedade Script para o tipo de mecanismo de banco de dados como Banco de dados SQL.

    Opções de script avançadas

    Você também pode definir Tipos de dados dos quais gerar script para uma das seguintes opções com base em seus requisitos: Esquema somente, Somente dados, Esquema e dados.

Depois que o script é criado, você tem a opção de modificá-lo antes de executá-lo no Banco de dados SQL para transferir o banco de dados.

Recursos

bcp

O bcp é um utilitário de linha de comando que foi criado para o carregamento em massa de alto desempenho no SQL Server ou no Banco de dados SQL. Ele não é uma ferramenta de migração. Também não extrai nem cria o esquema. É necessário primeiro transferir o esquema para o Banco de dados SQL usando uma das ferramentas de migração de esquema.

noteObservação
Você pode usar o bcp para fazer backup de seus dados e restaurá-los no Banco de dados SQL.

noteObservação
O Assistente de Migração do Banco de dados SQL usa o bcp.

Instalação e uso

O utilitário bcp é fornecido com o SQL Server. A versão fornecida com o SQL Server 2008 R2 tem suporte total no Banco de dados SQL.

Há duas etapas envolvidas no uso do bcp:

  1. Exportar os dados para um arquivos de dados.

    Para exportar dados do banco de dados do SQL Server, você pode executar a instrução a seguir no prompt de comando:

    bcp tableName out C:\filePath\exportFileName.dat –S serverName –T –n -q
    
    O parâmetro de saída indica a cópia de dados fora do SQL Server. O parâmetro -n realiza a operação de cópia em massa usando os tipos de dados de bancos de dados nativos dos dados. O parâmetro -q executa a instrução SET QUOTED_IDENTIFIERS ON na conexão entre o utilitário bcp e a instância do SQL Server.

  2. Importar o arquivo de dados para o Banco de dados SQL

    Para importar dados para seu Banco de dados SQL, você deve primeiro criar o esquema no banco de dados de destino e depois executar o utilitário bcp em um prompt de comando:

    Bcp tableName in c:\filePath\exportFileName.dat –n –U userName@serverName –S tcp:serverName.database.windows.net –P password –b batchSize
    
    O parâmetro –b especifica o número de linhas por lote de dados importados. Cada lote é importado e registrado como uma transação separada que importa o lote inteiro antes de ser confirmado. Identificar o melhor tamanho de lote e usar o tamanho do lote é uma prática recomendada para reduzir a perda de conexão com o Banco de dados SQL durante a migração de dados.

A seguir estão algumas práticas recomendadas quando você usa o bcp para transferir uma grande quantidade de dados.

  1. Use a opção –N para transferir dados no modo nativo para que nenhuma conversão de tipo de dados seja necessária.

  2. Use a opção –b para especificar um tamanho de lote. Por padrão, todas as linhas no arquivo de dados são importadas como um lote. No caso de uma falha de transação, somente as inserções do lote atual são revertidas.

  3. Use a opção –h "TABLOCK, ORDER(…)". –h “TABLOCK” especifica que um bloqueio no nível de tabela de atualização em massa é necessário durante a operação de carregamento em massa; caso contrário, será adquirido um bloqueio no nível de linha. Isso pode reduzir a contenção de bloqueio na tabela. A opção –h “ORDER(…)” especifica a ordem de classificação dos dados no arquivo de dados. O desempenho da importação em massa será melhorado se os dados sendo importados estiverem classificados de acordo com o índice clusterizado na tabela.

Você pode usar as opções –F e –L para especificar a primeira e a última linha de um arquivo simples para o carregamento. Isso é útil para evitar a necessidade de dividir fisicamente o arquivo de dados para obter o carregamento de vários fluxos.

Recursos

SQL Database Migration Wizard

O Banco de dados SQL Migration Wizard é uma ferramenta de interface do usuário de software livre que ajuda a migrar bancos de dados do SQL Server 2005/2008 para o Banco de dados SQL. Além de migrar dados, ele também pode ser usado para identificar problemas de compatibilidade, corrigi-los sempre que possível e notificá-lo sobre todos os problemas reconhecidos.

O Banco de dados SQL Migration Wizard tem lógica interna para lidar com a perda de conexão. Ele divide as transações em grupos menores e executa-as até o Banco de dados SQL encerrar a conexão. Quando o assistente encontra o erro de conexão, ele restabelece uma nova conexão com o Banco de dados SQL e continua o processamento após o último comando bem-sucedido. Da mesma forma, ao usar o bcp para carregar os dados no Banco de dados SQL, o assistente reparte os dados em seções menores e usa a lógica de repetição para descobrir o último registro bem-sucedido carregado antes de a conexão ser fechada. Em seguida, ele faz o bcp reiniciar o carregamento dos dados com o próximo conjunto de registros.

noteObservação
O Banco de dados SQL Database Migration Wizard é uma ferramenta de software livre criada e mantida pela comunidade.

Instalação e uso

O Banco de dados SQL Migration Wizard pode ser baixado de http://sqlazuremw.codeplex.com. Descompacte o pacote em seu computador local e execute o arquivo SQLAzureMW.exe. Aqui está uma captura da tela do aplicativo:

SQL Database Migration Wizard

O assistente envolve as seguintes etapas:

  1. Selecione o processo no qual você deseja que o assistente o oriente.

  2. Selecione a origem da qual você quer gerar o script.

  3. Selecione objetos de bancos de dados para o script

  4. Gere o script. Você tem a opção de modificar o script posteriormente.

  5. Insira as informações de conexão com o servidor de destino. Você tem a opção de criar o Banco de dados SQL de destino.

  6. Execute o script no servidor de destino.

Recursos

SQL Server Integration Services

O SSIS (SQL Server Integration Services) pode ser usado para executar uma ampla variedade de tarefas de migração de dados. Ele é uma ferramenta avançada no trabalho com várias fontes de dados e destinos heterogêneos. Essa ferramenta oferece suporte para fluxo de trabalho e transformação de dados complexos entre a origem e o destino. Mesmo que o SSIS não tenha suporte no momento no Banco de dados SQL, você pode executá-lo em um SQL Server 2008 R2 local para transferir dados para o Banco de dados SQL do Windows Azure.

O Assistente de Importação/Exportação do SSIS permite que o usuário crie pacotes que movem dados de uma única fonte de dados para um destino sem transformações. O assistente pode rapidamente mover dados de uma variedade de tipos de origem para diversos tipos de destino, incluindo arquivos de texto e outras instâncias do SQL Server.

Instalação e uso

Você deve usar a versão SQL Server 2008 R2 do SSIS para se conectar ao Banco de dados SQL.

Os adaptadores ADO.NET têm o suporte necessário para Banco de dados SQL. Ele fornece uma opção para carregar dados em massa especificamente para o Banco de dados SQL. Use o adaptador de destino ADO.NET para transferir dados para o Banco de dados SQL. Não há suporte para a conexão ao Banco de dados SQL do Windows Azure usando OLEDB.

Veja a seguir uma captura de tela para configurar a conexão ADO.NET para o Banco de dados SQL:

Configurar Gerenciador de Conexões ADO.NET

Como o seu pacote pode falhar devido a limitação ou um problema de rede, você poderá considerar a criação dos pacotes de modo que eles possam ser retomados no ponto de falha, em vez de serem reiniciados.

Ao configurar o destino do ADO.NET, use a opção "Usar Inserção em Massa quando possível". Isso permite que você use os recursos de carregamento de dados em massa para aprimorar o desempenho da transferência.

Uma forma de aprimorar o desempenho é dividir os dados de origem em vários arquivos no sistema de arquivos. No Designer SSIS, você pode fazer referência aos arquivos usando o Componente de Arquivo Simples. Cada arquivo de entrada é conectado a um componente do ADO.Net que tem o sinalizador Usar Inserção em Massa quando possível marcado.

Recursos

Assistente de Importação e Exportação do SQL Server

O Assistente de Importação e Exportação do SQL Server oferece o método mais simples para criar um pacote do SQL Server Integration Services para uma importação ou exportação simples. Este assistente configura as conexões, a origem e o destino e adiciona as transformações de dados necessárias para permitir a execução imediata da importação ou exportação. Depois que um pacote é criado, você tem a opção de modificá-lo no Designer SSIS.

O assistente oferece suporte às seguintes fontes de dados:

  • Provedor de Dados .NET Framework para ODBC

  • Provedor de Dados .NET Framework para Oracle

  • Provedor de Dados .NET Framework para SQL Server

  • Origem de arquivos simples

  • Provedor Microsoft OLE DB para Analysis Services 10.0

  • Provedor Microsoft OLE DB para Search

  • Provedor Microsoft OLE DB para SQL Server

  • SQL Native Client

  • SQL Server Native Client 10.0

O Assistente de Importação e Exportação do SQL Server pode transferir apenas dados. Antes de usar o assistente, você deve transferir o esquema usando uma das ferramentas de migração de esquema, o Assistente para Gerar Scripts ou o pacote de DAC.

noteObservação
Em um computador de 64 bits, o Integration Services instala a versão de 64 bits do Assistente de Importação e Exportação do SQL Server (DTSWizard.exe). No entanto, algumas fontes de dados, como Access ou Excel, só têm um provedor de 32 bits disponível. Para funcionar com essas fontes de dados, talvez seja necessário instalar e executar a versão de 32 bits do assistente. Para instalar a versão de 32 bits do assistente, você deve selecionar Ferramentas de Cliente ou Business Intelligence Development Studio durante a instalação.

Instalação e uso

No SQL Server 2008 R2 ou posterior, o Assistente de Importação e Exportação do SQL Server oferece suporte para Banco de dados SQL. Há várias maneiras de iniciar o assistente:

  1. No menu Iniciar, aponte para Todos os Programas, aponte para Microsoft SQL Server 2008 e clique em Importar e Exportar Dados.

  2. No Business Intelligence Development Studio, clique com o botão direito do mouse na pasta Pacotes SSIS do Gerenciador de Soluções e clique em Assistente de Importação e Exportação do SSIS.

  3. No Business Intelligence Development Studio, no menu de Projeto, clique em Assistente de Importação e Exportação do SSIS.

  4. No SQL Server Management Studio, conecte-se ao tipo de servidor Mecanismo de Banco de Dados, expanda Bancos de Dados, clique com o botão direito do mouse em um banco de dados, aponte para Tarefas e clique em Importar Dados ou Exportar Dados.

  5. Em uma janela de prompt de comando, execute o DTSWizard.exe, localizado em C:\Arquivos de Programas\Microsoft SQL Server\100\DTS\Binn.

A migração envolve as seguintes etapas principais:

  1. Escolha uma fonte de dados da qual copiar dados.

  2. Escolha um destino no qual copiar dados.

    Para exportar dados para o Banco de dados SQL, você deve escolher o Provedor de Dados .NET Framework para SQL Server como o destino:

    Assistente de Importação e Exportação do SQL Server - Escolher um destino
  3. Especifique a cópia ou consulta de tabela.

  4. Selecione objetos de origem.

  5. Salve e execute o pacote.

Depois que o Assistente de Importação e Exportação do SQL Server tiver criado o pacote, você poderá também salvar o pacote para executá-lo novamente mais tarde, ou refinar e aprimorar o pacote no SQL Server Business Intelligence (BI) Development Studio.

noteObservação
Se o pacote for salvo, você deverá adicioná-lo a um projeto existente do Integration Services antes de alterá-lo ou executá-lo no BI Development Studio.

Recursos

Microsoft Codename “Database Transfer”

O Microsoft Codename “Data Transfer” é um serviço em nuvem que permite transferir dados do seu computador para um Banco de dados SQL ou um armazenamento de Blob do Windows Azure. Você pode carregar qualquer formato de dados no armazenamento de Blob do Windows Azure, e os dados que são armazenados em CSV ou no formato do Microsoft Excel (.xlsx) em um Banco de dados SQL. Quando você carrega dados no Banco de dados SQL, ele são transformados em tabelas de banco de dados.

Uso

O serviço Data Transfer está acessível em https://web.datatransfer.azure.com/. Na página inicial, você tem as opções de importar dados e gerenciar seus conjuntos de dados e repositórios.

A importação de dados para o processo do Banco de dados SQL envolve as seguintes etapas:

  • Insira suas credenciais do Banco de dados SQL.

  • Escolha um arquivo a ser transferido.

  • Analise o arquivo de dados e depois transfira os dados.

Recursos

Assistente de Migração do SQL Server

O SSMA (Assistente de Migração do SQL Server) é uma família de produtos para reduzir o custo e o risco de migração de bancos de dados Oracle, Sybase, MySQL e Microsoft Access para o Banco de dados SQL ou o SQL Server. O SSMA automatiza todos os aspectos de migração, incluindo a análise de avaliação de migração, o esquema e a conversão de instrução SQL, a migração de dados e o teste de migração.

Instalação e uso

O SSMA é um download da Web. Para baixar a versão mais recente, consulte a página do produto Ferramentas de Migração do SQL Server. No momento da redação deste texto, estas eram as versões mais recentes:

O SSMS é instalado com um assistente baseado no Windows Installer. O SSMA é gratuito, mas você deve baixar uma chave de registro. Após a instalação e a execução, o aplicativo solicita que você se registre e baixe a chave de registro.

O processo de migração do SSMA para Access envolve as seguintes etapas:

  1. Crie um novo assistente de migração. Assegure-se de selecionar Banco de dados SQL na caixa Migrar para.

  2. Adicione bancos de dados do Access.

  3. Selecione os objetos do Access a serem migrados.

  4. Conecte-se ao Banco de dados SQL.

  5. Vincule tabelas. Se desejar usar seus aplicativos do Access existentes com o Banco de dados SQL, você poderá vincular suas tabelas originais do Access às tabelas do Banco de dados SQL migradas. A vinculação modifica seu banco de dados do Access de modo que suas consultas, formulários, relatórios e páginas de acesso a dados usam os dados no Banco de dados SQL em vez dos dados em seu banco de dados do Access.

  6. Converta os objetos selecionados.

  7. Carregue os objetos convertidos no Banco de dados SQL.

  8. Migre dados para objetos selecionados do Access.

Recursos

Consulte também


Data da compilação:

2013-10-23
Isso foi útil para você?
(1500 caracteres restantes)
Agradecemos os seus comentários

Contribuições da comunidade

ADICIONAR
Mostrar:
© 2014 Microsoft. Todos os direitos reservados.