Como implantar um aplicativo da camada de dados

Use o Assistente para Implantar Aplicativo da Camada de Dados para implantar um DAC (aplicativo da camada de dados) a partir de um pacote de DAC em uma instância existente do SQL Azure, do SQL Server 2005 SP4 ou posterior. O processo de implantação registra uma instância de DAC armazenando a definição de DAC no banco de dados de sistema msdb (master no SQL Azure), cria um banco de dados e o popula com todos os objetos de banco de dados definidos no DAC.

Antes de começar

Você pode implantar um DAC em uma instância do Mecanismo de Banco de Dados a partir do SQL Server 2005 Service Pack 4 (SP4), ou posterior, ou no SQL Azure. Você deve usar as ferramentas de cliente do SQL Server 2008 R2 e, possivelmente, o DAC Framework 1.1. Para obter mais informações, consulte Suporte de DAC para objetos e versões do SQL Server.

Para uma instância gerenciada do Mecanismo de Banco de Dados, o DAC implantado será incorporado no 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 do 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á relatado na página de detalhes de Aplicativos da Camada de Dados Implantados.

Para obter mais informações sobre como criar um pacote de DAC, consulte Implementando aplicativos da camada de dados.

Requisitos

Quando conectado ao SQL Server 2005 SP4 ou posterior, um DAC pode ser implantado somente por membros das funções de servidor fixas sysadmin ou serveradmin, ou por logons que estejam na função de servidor fixa dbcreator e tenham permissões ALTER ANY LOGIN. A conta interna de administrador do sistema do SQL Server denominada sa também pode implantar um DAC. A implantação de um DAC com logons no SQL Azure exige associação nas funções loginmanager ou serveradmin. A implantação de um DAC sem logons no SQL Azure exige associação nas funções dbmanager ou serveradmin.

Observação sobre segurançaObservação sobre segurança

Recomenda-se não implantar um pacote de DAC a partir de origens desconhecidas ou não confiáveis. Esses DACs podem conter código mal-intencionado que pode executar código Transact-SQL não intencional ou provocar erros modificando o esquema. Antes de usar um DAC a partir de uma origem desconhecida ou não confiável, desempacote o DAC e examine o código, como procedimentos armazenados ou outro código definido pelo usuário. Para obter mais informações sobre como exibir o conteúdo de um DAC, consulte Como validar um pacote de DAC.

Senhas de logon

Para melhorar a segurança, os logons de Autenticação do SQL Server são armazenados em um pacote de DAC sem nenhuma senha. Quando o pacote é implantado ou atualizado, o logon é criado como um logon desabilitado com uma senha gerada. Para habilitar os logons, faça logon usando um logon que tenha a permissão de ALTER ANY LOGIN e use ALTER LOGIN para habilitar o logon e atribuir uma nova senha que possa ser comunicada ao usuário. Isso não é necessário para logons de Autenticação do Windows uma vez que suas senhas não são gerenciadas pelo SQL Server.

Opções e configurações de banco de dados

Por padrão, o banco de dados criado durante a implantação terá todas as configurações padrão da instrução CREATE DATABASE, exceto:

  • O agrupamento de banco de dados e o nível de compatibilidade são definidos para os valores definidos no pacote de DAC. Um pacote criado a partir de um projeto de DAC no Visual Studio usa os valores definidos no projeto de DAC. Um pacote extraído de um banco de dados existente usa os valores do banco de dados original.

  • É possível ajustar algumas das configurações de banco de dados, como nome de banco de dados e caminhos de arquivo, na página Atualizar Configuração. Não é possível definir os caminhos de arquivo durante a implantação no SQL Azure.

Algumas opções de banco de dados, como TRUSTWORTHY, DB_CHAINING e HONOR_BROKER_PRIORITY, não podem ser ajustadas como parte do processo de implantação. Propriedades físicas, como o número de grupos de arquivos ou os números e os tamanhos de arquivos, não podem ser alteradas como parte do processo de implantação. Após a conclusão da implantação, você pode usar a instrução ALTER DATABASE, o SQL Server Management Studio ou o SQL Server PowerShell para personalizar o banco de dados. Para obter mais informações, consulte Modificando um banco de dados.

Várias implantações

O mesmo pacote de DAC pode ser implantado várias vezes em uma única instância do Mecanismo de Banco de Dados, porém as implantações devem ser executadas uma de cada vez. O nome de instância do DAC especificado para cada implantação deve ser exclusivo dentro da instância do Mecanismo de Banco de Dados.

Implantar um DAC usando o PowerShell

Crie um arquivo de script do PowerShell (.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 abrir um objeto ServerConnection e conectar-se à mesma instância.

    ## Open a Common.ServerConnection to the same instance.
    $serverconnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($srv.ConnectionContext.SqlConnectionObject)
    $serverconnection.Connect()
    $dacstore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverconnection)
    
  3. Adicione código para carregar o arquivo de pacote de DAC. Este exemplo carrega um arquivo MyApplication.dacpac.

    ## Load the DAC package file.
    $dacpacPath = "C:\MyDACs\MyApplication.dacpac"
    $fileStream = [System.IO.File]::Open($dacpacPath,[System.IO.FileMode]::OpenOrCreate)
    $dacType = [Microsoft.SqlServer.Management.Dac.DacType]::Load($fileStream)
    
  4. Adicione código para assinar os eventos de implantação do DAC.

    ## Subscribe to the DAC deployment events.
    $dacstore.add_DacActionStarted({Write-Host `n`nStarting at $(get-date) :: $_.Description})
    $dacstore.add_DacActionFinished({Write-Host Completed at $(get-date) :: $_.Description})
    
  5. Adicione código para implantar o DAC, criar o banco de dados e fechar o arquivo de pacote de DAC:

    ## Deploy the DAC and create the database.
    $dacName  = "MyApplication"
    $evaluateTSPolicy = $true
    $deployProperties = New-Object Microsoft.SqlServer.Management.Dac.DatabaseDeploymentProperties($serverconnection,$dacName)
    $dacstore.Install($dacType, $deployProperties, $evaluateTSPolicy)
    $fileStream.Close()
    

Execute o DeployDAC.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 Implantar Aplicativo da Camada de Dados

No Management Studio, você pode iniciar o Assistente para Implantar Aplicativo da Camada de Dados navegando-se até o nó Gerenciamento em um servidor no Pesquisador de Objetos, clicar com o botão direito do mouse no nó Aplicativos da Camada de Dados e, em seguida, selecionar Implantar Aplicativo da Camada de Dados…

O assistente implanta o DAC na instância do Mecanismo de Banco de Dados associada ao nó selecionado na hierarquia do Pesquisador de Objetos. Por exemplo, se você iniciar o assistente clicando com o botão direito do mouse no nó de servidor para uma instância denominada ProductionServer01/Accounting, o DAC será implantado nessa instância do Mecanismo de Banco de Dados.

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

  • Página de introdução

  • Selecione a página Pacote de DAC

  • Página Analisar Política

  • Página Atualizar Configuração

  • Página de resumo

  • Página Implantar

Página de introdução

Esta página descreve as etapas para implantar 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 > - Prossegue para a página Selecionar Pacote de DAC.

Cancelar - Finaliza o assistente sem implantar um DAC.

Selecione a página Pacote de DAC

Use esta página para especificar o pacote de DAC que contém o aplicativo da camada de dados a ser implantado. A página faz a transição por três estados.

Selecionar o pacote de DAC

Use o estado inicial da página para escolher o pacote de DAC a ser implantado. O pacote de DAC deve ser um arquivo de pacote de DAC válido e deve ter uma extensão .dacpac.

Pacote de DAC - Especifique o caminho e o nome de arquivo do pacote de DAC que contém o aplicativo da camada de dados a ser implantado. Você pode selecionar o botão Procurar no lado direito da caixa para procurar o local do pacote de DAC.

Nome do Aplicativo - Uma caixa somente leitura que exibe o nome do DAC atribuído quando o DAC foi criado ou extraído de um banco de dados.

Versão - Uma caixa somente leitura que exibe a versão atribuída quando o DAC foi criado ou extraído de um banco de dados.

Descrição - Uma caixa somente leitura que exibe a descrição escrita quando o DAC foi criado ou extraído de um banco de dados.

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

Avançar > - Exibe uma barra de progresso enquanto o assistente confirma se o arquivo selecionado é um pacote de DAC válido.

Cancelar - Finaliza o assistente sem implantar o DAC.

Validando o pacote de DAC

Exibe uma barra de progresso enquanto o assistente confirma se o arquivo selecionado é um pacote de DAC válido. Se o pacote de DAC for validado, o assistente prosseguirá para a versão final da página Selecionar Pacote, em que é possível examinar os resultados da validação. Se o arquivo não for um pacote de DAC válido, o assistente permanecerá em Selecionar Pacote de DAC. Selecione outro pacote de DAC válido ou cancele o assistente e gere um novo pacote de DAC.

Validando o conteúdo do DAC - A barra de progresso que relata o status atual do processo de validação.

< Anterior - Retorna ao estado inicial da página Selecionar Pacote.

Avançar > - Vai para a versão final da página Selecionar Pacote.

Cancelar - Finaliza o assistente sem implantar o DAC.

Página Analisar Política

Use esta página para examinar os resultados da avaliação da política de seleção de servidor de DAC, se o DAC tiver uma política. A política de seleção de servidor de DAC é opcional e atribuída ao DAC quando ele é criado no Visual Studio. A política usa as facetas de política de seleção de servidor para especificar as condições que uma instância do Mecanismo de Banco de Dados deve atender para hospedar o DAC.

Resultados da avaliação das condições da política - Um relatório somente leitura que mostra se as condições da política de implantação do DAC foram bem-sucedidas. Os resultados da avaliação de cada condição são informados em uma linha separada.

As políticas de seleção de servidor a seguir sempre são avaliadas como falsas durante a implantação de um DAC no SQL Azure: versão do sistema operacional, idioma, pipes nomeados habilitados, plataforma e tcp habilitado.

Ignorar violações de política - Use esta caixa de seleção para continuar a implantação se houver falha em uma ou mais condições de política. Somente selecione essa opção se você tiver certeza de que todas as condições que falharam não impedirão o funcionamento bem-sucedido do DAC.

< Anterior - Retorna à página Selecionar Pacote.

Avançar > - Vai para a página Atualizar Configuração.

Cancelar - Finaliza o assistente sem implantar o DAC.

Página Atualizar Configuração

Use esta página para especificar os nomes da instância do DAC implantada e do banco de dados criado pela implantação, e para definir opções de banco de dados.

Nome do Banco de Dados: - Especifique o nome do banco de dados a ser criado pela implantação. O padrão é o nome do banco de dados de origem a partir do qual o DAC foi extraído. O nome deve ser exclusivo dentro da instância do Mecanismo de Banco de Dados e está em conformidade com as regras para identificadores do Mecanismo de Banco de Dados.

Se você alterar o nome do banco de dados, os nomes do arquivo de dados e dos arquivos de log serão alterados para corresponder ao novo valor.

O nome do banco de dados também é usado como o nome da instância do DAC. O nome da instância é exibido no nó do DAC no nó Aplicativos da Camada de Dados no Pesquisador de Objetos ou no nó Aplicativos da Camada de Dados Implantados no Gerenciador do Utilitário.

As opções a seguir não se aplicam ao SQL Azure e não são exibidas durante a implantação no SQL Azure.

Usar o local de banco de dados padrão - Selecione essa opção para criar os arquivos de dados e de log de banco de dados no local padrão da instância do Mecanismo de Banco de Dados. Os nomes de arquivo serão criados com o uso do nome do banco de dados.

Especificar arquivos de banco de dados - Selecione esta opção para especificar u local ou nome diferente para os arquivos de dados e log.

Caminho e nome do arquivo de dados: - Especifique o caminho completo e o nome de arquivo do arquivo de dados. A caixa é populada com o caminho e o nome de arquivo padrão. Edite a cadeia de caracteres na caixa para alterar o padrão ou use o botão Procurar para navegar para a pasta em que o arquivo de dados será colocado.

Caminho e nome do arquivo de log: - Especifique o caminho completo e o nome de arquivo para o arquivo de log. A caixa é populada com o caminho e o nome de arquivo padrão. Edite a cadeia de caracteres na caixa para alterar o padrão ou use o botão Procurar para navegar para a pasta em que o arquivo de log será colocado.

< Anterior - Retorna à página Selecionar Pacote de DAC.

Avançar >- Continue na página Resumo.

Cancelar - Finaliza o assistente sem implantar o DAC.

Página de resumo

Use esta página para examinar as ações do assistente ao implantar o DAC.

As configurações a seguir serão usadas para implantar o DAC. - Examine as informações exibidas para assegurar que as ações executadas estarão corretas. A janela exibe o pacote de DAC selecionado e o nome selecionado para a instância de DAC escolhida. A janela também exibe as configurações que serão usadas durante a criação do banco de dados associado ao DAC.

< Anterior - Retorna à página Atualizar Configuração para alterar suas seleções.

Avançar > - Implanta o DAC e exibe os resultados na página Implantar DAC.

Cancelar - Finaliza o assistente sem implantar o DAC.

Página Implantar

Esta página relata o êxito ou falha da operação de implantação.

Implantando o DAC - Relata o êxito ou falha de cada ação realizada para implantar o DAC. Analise as informações para determinar o êxito ou 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 este botão para salvar o relatório de implantação 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\pacotes de DAC na pasta Documentos da conta do Windows.

Concluir - Finaliza o assistente.

Histórico de alterações

Conteúdo atualizado

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