Implantar um aplicativo da camada de dados

Aplica-se a:SQL ServerBanco de Dados SQL do AzureInstância Gerenciada de SQL do Azure

Implante um DAC (aplicativo da camada de dados) de um pacote de DAC em uma instância existente do mecanismo de banco de dados ou do Banco de dados SQL do Azure usando um assistente ou um script do PowerShell.

O processo de implantação registra uma instância do DAC armazenando a definição do DAC no banco de dados do sistema msdb(master no Banco de Dados SQL); cria um banco de dados, em seguida o preenche com todos os objetos de banco de dados definidos no DAC.

Implantar o mesmo pacote de DAC várias vezes

Você pode implantar o mesmo pacote de DAC em uma única instância do Mecanismo de Banco de Dados várias vezes, mas deve executar as implantações uma de cada vez. O nome da instância do DAC especificado para cada implementação deve ser exclusivo dentro da instância do Mecanismo de Banco de Dados.

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:

  • A ordenação de banco de dados e o nível de compatibilidade são definidos para os valores definidos no pacote de DAC. Um pacote DAC criado a partir de um projeto de banco de dados no SQL Server Developer Tools usa os valores definidos no projeto de banco de dados. 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 Banco de Dados SQL.

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ê poderá usar a instrução ALTER DATABASE, o SQL Server Management Studio ou o SQL Server PowerShell para personalizar o banco de dados.

Limitações e restrições

Um DAC pode ser implantado no Banco de Dados SQL ou em uma instância do Mecanismo de Banco de Dados executando o SQL Server 2005 (9.x) Service Pack 4 (SP4) ou posterior. Se você criar um DAC usando uma versão posterior, o DAC poderá conter objetos sem suporte do SQL Server 2005 (9.x). Não é possível implantar esses DACs em instâncias do SQL Server 2005 (9.x).

Segurança e permissões

Os logons de autenticação são armazenados em um pacote de DAC sem senha. Quando o pacote é implantado ou atualizado, o logon é criado como um logon desabilitado com uma senha gerada. Para habilitar os logons, conecte usando um logon com a permissão 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, porque suas senhas não são gerenciadas pelo SQL Server.

Um DAC só pode ser implantado pelos membros das funções de servidor fixas sysadmin ou serveradmin ou por logons na função de servidor fixa dbcreator com as permissões ALTER ANY LOGIN. A conta interna do administrador de sistema do SQL Server chamada sa também pode implantar um DAC.

A implantação de um DAC com logons no Banco de Dados SQL exige associação nas funções loginmanager ou serveradmin. A implantação de um DAC sem logons no Banco de Dados SQL exige a associação nas funções dbmanager ou serveradmin.

Implantar um DAC usando o assistente

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

  2. Clique com o botão direito do mouse no nó Bancos de Dados e selecione Implantar Aplicativo da Camada de Dados...

  3. Conclua as caixas de diálogo do assistente e selecione Concluir.

Mais informações sobre algumas das páginas de assistente abaixo:

Selecione a página Pacote de DAC

Especifique 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

Escolha 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.

Validar 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.

Página Analisar Política

Examine os resultados da avaliação da política de seleção de servidor de DAC (se usada). A política de seleção do servidor DAC é opcional e é atribuída ao DAC quando ele é criado no Visual Studio. A política usa as facetas da 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 – 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 relatados em uma linha separada.

As políticas de seleção de servidor a seguir sempre retornam false ao implantar um DAC no Banco de Dados SQL: versão do sistema operacional, idioma, pipes nomeados habilitados, plataforma, 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. Selecione essa opção somente se tiver certeza de que todas as condições que falharam não impedirão a operação bem-sucedida do DAC.

Página Atualizar Configuração

Especifique 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 na instância do Mecanismo de Banco de Dados e deve estar em conformidade com as regras dos 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 corresponderem 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 sob o nó Aplicativos da Camada de Dados no Pesquisador de Objetos.

As opções a seguir não se aplicam ao Banco de dados SQL e não são exibidas ao implantar no Banco de dados SQL.

Usar o local padrão do banco de dados - Selecione essa opção para criar os dados do banco de dados e os arquivos de log no local padrão da instância do Mecanismo de Banco de Dados. Os nomes dos arquivos são criados usando o 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.

Página de Resumo

Use essa página para revisar as ações que o assistente executa 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.

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 encontrarem um 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.

Usar PowerShell

  1. Crie um objeto de servidor SMO e defina-o como a instância na qual o DAC é implantado.

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

  3. Use System.IO.File para carregar o arquivo de pacote de DAC.

  4. Use add_DacActionStarted e add_DacActionFinished para assinar eventos de implantação do DAC.

  5. Defina o DatabaseDeploymentProperties.

  6. Use o método DacStore.Install para implantar o DAC.

  7. Feche o fluxo de arquivos usado para ler o arquivo de pacote de DAC.

O exemplo a seguir implanta um DAC que se chama MyApplication em uma instância padrão do Mecanismo de Banco de Dados, usando uma definição de DAC de um pacote MyApplication.dacpac.

Exemplos do PowerShell

O exemplo a seguir implanta um DAC que se chama MyApplication em uma instância padrão do Mecanismo de Banco de Dados, usando uma definição de DAC de um pacote MyApplication.dacpac.

## Set a SMO Server object to the default instance on the local computer.
CD SQLSERVER:\SQL\localhost\DEFAULT
$server = Get-Item .
  
## Open a Common.ServerConnection to the same instance.
$serverConnection = New-Object Microsoft.SqlServer.Management.Common.ServerConnection($server.ConnectionContext.SqlConnectionObject)
$serverConnection.Connect()
$dacStore = New-Object Microsoft.SqlServer.Management.Dac.DacStore($serverConnection)
  
## 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)
  
## 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})
  
## 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()

Mais informações