Exportar um aplicativo da camada de dados

Aplica-se a: SQL Server Banco de Dados SQL do Azure Instância Gerenciada de SQL do Azure

A exportação de um aplicativo de camada de dados implantado (DAC) ou de um banco de dados cria um arquivo de exportação que contém as definições dos objetos no banco de dados e todos os dados nas tabelas. O arquivo de exportação pode ser importado para outra instância do Mecanismo de Banco de Dados, ou para o Banco de Dados SQL do Azure. As operações de importação-exportação podem ser combinadas para migrar um DAC entre instâncias, criar um arquivo morto ou criar uma cópia local de um banco de dados implantado no Banco de Dados SQL.

Pré-requisitos

O processo de exportação compila um arquivo de exportação DAC em duas fases.

  1. A exportação compila uma definição de DAC no arquivo de exportação – BACPAC – do mesmo modo que uma extração de DAC compila uma definição de DAC em um arquivo de pacote de DAC. A definição do DAC exportada inclui todos os objetos no banco de dados atual. Suponha que o processo de exportação seja executado em um banco de dados implantado inicialmente a partir de um DAC e as alterações tenham sido feitas diretamente no banco de dados após a implantação. Nesse caso, a definição exportada corresponde ao conjunto de objetos no banco de dados, e não ao que foi definido no DAC original.

  2. A exportação em massa copia os dados de todas as tabelas no banco de dados e incorpora os dados no arquivo de exportação.

O processo de exportação define a versão de DAC como 1.0.0.0 e a descrição de DAC no arquivo de exportação para uma cadeia de caracteres vazia. Se o banco de dados foi implantado de um DAC, a definição do DAC no arquivo de exportação conterá o nome atribuído ao DAC original. Caso contrário, o nome do DAC será definido como o nome do banco de dados.

Permissões

Para exportar um DAC, você precisa ter pelo menos o logon ALTER ANY e as permissões VIEW DEFINITION e SELECT em sys.sql_expression_dependencies. Essa tarefa pode ser realizada por indivíduos que sejam membros da função de servidor fixa securityadmin e da função de banco de dados fixa database_owner no banco de dados de origem do DAC. Além disso, a exportação de um DAC é viável para aqueles que fazem parte da função de servidor fixa sysadmin ou aqueles com acesso à conta interna de administrador do sistema do SQL Server denominada sa.

No banco de dados SQL do Azure, você deve conceder a permissão VIEW DEFINITION e SELECT para cada banco de dados em todas as tabelas ou em tabelas específicas.

Usar o Assistente de Exportação de Aplicativos da Camada de Dados

Para exportar um DAC usando um assistente

  1. Conecte-se à instância do SQL Server, seja no local ou no Banco de Dados SQL.

  2. No Pesquisador de Objetos, expanda o nó da instância na qual você deseja exportar o DAC.

  3. Clique com o botão direito do mouse no nome do banco de dados.

  4. Selecione Tarefas e, em seguida, selecione Exportar Aplicativo da Camada de Dados...

  5. Conclua as etapas das caixas de diálogo do assistente:

Página Introdução

Esta página descreve as etapas do Assistente de Exportação do Aplicativo da Camada de Dados.

Opções

Não mostrar esta página novamente. - Marque a caixa de seleção para interromper a exibição da página de Introdução no futuro.

Avançar – Segue para a página Selecionar Pacote de DAC .

Cancelar – cancela a operação e fecha o Assistente.

Captura de tela da exportação de uma página de introdução do aplicativo da camada de dados.

Página Configurações de Exportação

Use essa página para especificar o local onde criar o arquivo BACPAC a ser criado.

  • Salvar no disco local – Cria um arquivo BACPAC em um diretório no computador local. Clique em Procurar... para navegar até o computador local ou especifique o caminho no espaço fornecido. O nome do caminho deve incluir um nome de arquivo e a extensão .bacpac.

  • Salvar no Azure: cria um arquivo BACPAC em um contêiner do Azure. Você precisa se conectar a um contêiner do Azure para validar essa opção. Essa opção também exige que você especifique um diretório local para o arquivo temporário. O arquivo temporário será criado no local especificado e permanece lá após a operação.

Para especificar um subconjunto de tabelas a serem exportadas, use a opção Avançado .

Captura de tela da exportação de uma página de configurações de exportação de um aplicativo da camada de dados.

Página Resumo

Use esta página para analisar a origem especificada e as configurações de destino para a operação. Para concluir a operação de exportação usando as configurações especificadas, selecione Concluir. Para cancelar a operação de exportação e sair do Assistente, selecione Cancelar.

Captura de tela da página de resumo da exportação da camada de dados.

Página Progresso

Esta página exibe a barra de progresso que indica o status da operação. Para exibir o status detalhado, selecione a opção Exibir detalhes .

Página Resultados

Esta página reporta o sucesso ou falha da operação de exportação, mostrando os resultados de cada ação. Todas as ações que encontrarem um erro têm um link na coluna Resultado. Selecione o link para exibir um relatório do erro para aquela ação.

Captura de tela da página de resultados do aplicativo da camada de dados.

Selecione Concluir para fechar o assistente.

Usar um aplicativo .NET Framework

Para exportar um DAC usando o método Export() em um aplicativo .NET Framework.

  1. Crie um objeto de servidor SMO e defina-o como a instância que contém o DAC a ser exportado.

  2. Abra um objeto ServerConnection e conecte-se à mesma instância.

  3. Use o método Export do tipo Microsoft.SqlServer.Management.Dac.DacStore para exportar o DAC. Especifique o nome do DAC a ser exportado e o caminho para a pasta onde o arquivo de exportação será colocado.

Limitações e restrições

Um DAC ou banco de dados só pode ser exportado de um banco de dados no Banco de Dados SQL ou do SQL Server 2005 (9.x) Service Pack 4 (SP4) ou posterior.

Não é possível exportar um banco de dados com objetos que não sejam compatíveis com um DAC ou que contenha usuários. Para obter mais informações sobre os tipos de objetos com suporte em um DAC, consulte DAC Support For SQL Server Objects and Versions.

Se você receber uma mensagem de falha com espaço em disco esgotado, é recomendável configurar a pasta % TEMP % do sistema para residir em um disco de dados distinto. Com isso, você pode garantir espaço suficiente para que o processo de exportação seja executado sem problemas, evitando possíveis complicações de espaço em disco.

Para configurar a pasta %TEMP% do sistema:

  • No Windows, abra as Propriedades do Sistema>Propriedades e, em seguida, selecione o link denominado Configurações avançadas do sistema.

  • Na janela Propriedades do sistema que é exibida, navegue até a parte inferior e selecione Variáveis de Ambiente.

  • Na seção Variáveis do Sistema, localize as variáveis TEMP e TMP e selecione a opção Editar associada a cada uma delas.

  • Modifique os valores de ambas as variáveis de forma a apontar para um caminho no disco de dados separado que você estabeleceu. Por exemplo, se o seu disco de dados for designado como D:, defina os valores como D:\Temp.

  • Confirme as alterações selecionando OK e fechando todas as janelas abertas.