Como registrar um banco de dados como um DAC

Use o Assistente para Registrar o Aplicativo da Camada de Dados ou um script do Windows PowerShell para compilar uma definição de DAC (aplicativo da camada de dados) que descreva os objetos em um banco de dados existente, e registre a definição do DAC no banco de dados do sistema msdb (mestre no SQL Azure).

Antes de começar

É possível registrar um DAC de um Banco de dados SQL Azure ou de um banco de dados no SQL Server 2005 Service Pack 4 (SP4) ou posterior. Para uma instância gerenciada do Mecanismo de Banco de Dados, o DAC registrado será incorporado ao Utilitário do SQL Server na próxima vez que o conjunto de coleta do utilitário for enviado da instância para o Ponto de Controle de Utilitário. O DAC estará então presente no nó Aplicativos da Camada de Dados Implantados do Gerenciador do Utilitário do Management Studio e será informado na página de detalhes de Aplicativos da Camada de Dados Implantados.

Observação    O registro de um DAC em uma instância do Mecanismo de Banco de Dados exige pelo menos permissões de ALTER ANY LOGIN e VIEW DEFINITION do escopo do banco da dados, permissões de SELECT em sys.sql_expression_dependencies e associação na função de servidor fixa dbcreator. Membros da função de servidor fixa sysadmin ou a conta interna do administrador do sistema do SQL Server chamada sa também podem registrar um DAC. O registro de um DAC que não contenha logons no SQL Azure exige associação nas funções dbmanager ou serveradmin. O registro de um DAC que contenha logons no SQL Azure exige associação nas funções loginmanager ou serveradmin.

Limitações

O registro do DAC pode ser executado apenas no SQL Azure ou no SQL Server 2005 SP4 ou posterior. O registro do DAC não poderá ser executado se um DAC já estiver registrado para o banco de dados. Por exemplo, se o banco de dados foi criado com a implantação de um DAC, você não poderá executar o Assistente para Registrar o Aplicativo da Camada de Dados.

Você não poderá registrar um DAC se o banco de dados contiver objetos que não tenham suporte em um DAC. 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.

Registrar um DAC usando o PowerShell

Crie um arquivo RegisterDAC.ps1 contendo o código a seguir.

  1. Adicione código para criar um objeto SMO Server e defini-lo como a instância que contém o banco de dados do qual você quer extrair um DAC. Este exemplo define um objeto Server como a instância padrão no computador local:

    ## Set a SMO Server object to the default instance on the local computer.
    CD SQLSERVER:\SQL\localhost\DEFAULT
    $srv = get-item .
    
  2. Adicione código para especificar o banco de dados. Esse exemplo especifica um banco de dados denominado MyDB:

    ## Specify the database to register as a DAC.
    $dbname = "MyDB"
    
  3. Adicione código para especificar os metadados do DAC. Esse exemplo especifica o nome, a versão e a descrição do DAC:

    ## Specify the DAC metadata.
    $applicationname = "MyApplication"
    $version = "1.0.0.0"
    $description = "This DAC defines the database used by my application."
    
  4. Adicione código para executar o método Register com as informações especificadas acima.

    ## Register the DAC.
    $registerunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)
    $registerunit.Description = $description
    $registerunit.Register()
    

Execute o RegisterDAC.ps1 de uma sessão do PowerShell na qual você tenha carregado os snapins SQL Server PowerShell ou usando o utilitário de prompt de comando sqlps.

Usando o Assistente para Registrar Aplicativo da Camada de Dados

No Management Studio, é possível iniciar o Assistente para Registrar o Aplicativo da Camada de Dados da seguinte maneira:

  • Clique com o botão direito do mouse no nó do banco de dados no Pesquisador de Objetos, aponte para Tarefas e selecione Registrar o Aplicativo da Camada de Dados…

O assistente cria uma definição do DAC que define os objetos no banco de dados representado pelo nó selecionado na hierarquia do Pesquisador de Objetos. A definição de DAC é armazenada no banco de dados do sistema msdb (mestre no SQL Azure). A combinação da descrição e do banco de dados do DAC formam uma instância do DAC. As informações sobre a instância do DAC são carregadas no Utilitário do SQL Server quando o próximo conjunto de coleta do utilitário é transmitido ao Ponto de Controle de Utilitário. As informações podem ser exibidas no nó Aplicativos da Camada de Dados Implantados do Gerenciador do Utilitário.

Clique em um link na lista abaixo para navegar até os detalhes de uma página do assistente:

  • Página de introdução

  • Página Definir Propriedades

  • Página Validação e Resumo

  • Página Registrar o DAC

Página de introdução

Essa página descreve as etapas do registro de um aplicativo da camada de dados.

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

Avançar > - Continua na página Definir Propriedades.

Cancelar - Finaliza o assistente sem registrar um DAC.

Página Definir Propriedades

Use essa página para especificar propriedades no nível do DAC, como o nome e a versão do aplicativo.

Nome do aplicativo. - Uma cadeia de caracteres que especifica o nome usado para identificar a definição do DAC, o campo foi populado com o nome do banco de dados.

Versão. - Um valor numérico que identifica a versão do DAC. A versão do DAC é usada no Visual Studio para identificar a versão do DAC na qual os desenvolvedores estão trabalhando. Ao implantar um DAC, a versão é armazenada no banco de dados msdb e pode ser exibida posteriormente no nó Aplicativos da Camada de Dados no SQL Server Management Studio.

Descrição. - Opcional. Texto que explica a finalidade do DAC. Ao implantar um DAC, a descrição é armazenada no banco de dados msdb e pode ser exibida posteriormente no nó Aplicativos da Camada de Dados no Management Studio.

< Anterior - Volta à página de Introdução.

Próxima >- Verifica se um DAC pode ser compilado a partir dos objetos do banco de dados e exibe os resultados na página Validação e Resumo.

Cancelar - Finaliza o assistente sem registrar o DAC.

Página Validação e Resumo

Use essa página para revisar as ações do assistente ao registrar o DAC. A página faz transição por três estados ao verificar se um DAC pode ser compilado a partir dos objetos do banco de dados.

Recuperando objetos

Recuperando os objetos de banco de dados e de servidor. - Exibe uma barra de progresso enquanto o assistente recupera todos os objetos necessários do banco de dados e da instância do Mecanismo de Banco de Dados.

< Anterior - Retorna à página Definir Propriedades para que você altere suas entradas.

Próxima >- Registra o DAC e exibe os resultados na página Registrar o DAC.

Cancelar - Finaliza o assistente sem registrar o DAC.

Validando objetos

Verificando SchemaName**.ObjectName.** - Exibe uma barra de progresso enquanto o assistente verifica as dependências dos objetos recuperados e verifica se todos eles são objetos válidos para um DAC. SchemaName**.**ObjectName identifica qual objeto está sendo verificado no momento.

< Anterior - Retorna à página Definir Propriedades para que você altere suas entradas.

Próxima >- Registra o DAC e exibe os resultados na página Registrar o DAC.

Cancelar - Finaliza o assistente sem registrar o DAC.

Resumo

A configuração a seguir será usada para registrar o DAC. - Exibe um relatório das propriedades e objetos que serão incluídos no DAC.

Salvar Relatório - Selecione esse botão para salvar uma cópia do relatório de validação em um arquivo HTML. A pasta padrão é SQL Server Management Studio\DAC Packages na pasta Documentos da conta do Windows.

< Anterior - Retorna à página Definir Propriedades para que você altere suas entradas.

Próxima >- Registra o DAC e exibe os resultados na página Registrar o DAC.

Cancelar - Finaliza o assistente sem registrar o DAC.

Página Registrar o DAC

Essa página relata o êxito ou a falha da operação de registro.

Registrando o DAC - Relata o êxito ou a falha de cada ação realizada para registrar o DAC. Examine as informações para determinar o êxito ou a falha de cada ação. Todas as ações que obtiveram erro terão um link na coluna Resultado. Selecione o link para exibir um relatório do erro para aquela ação.

Salvar Relatório - Selecione esse botão para salvar o relatório de registro em um arquivo HTML. O arquivo relata o status de cada ação, inclusive todos os erros gerados por qualquer uma das ações. A pasta padrão é SQL Server Management Studio\DAC Packages na pasta Documentos da conta do Windows. O nome do arquivo está no formato <DACPackageName>_RegisterDACReport_yyyymmdd.html, onde <DACPackageName> é o nome do pacote que está sendo implantado, yyyy = o ano atual, mm = o mês atual e dd = o dia atual.

Concluir - Finaliza o assistente.

Histórico de alterações

Conteúdo atualizado

Adicionada a seção sobre o uso do PowerShell.