Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Um DAC (aplicativo da camada de dados) oferece suporte aos objetos do Mecanismo de Banco de Dados mais usados.
Neste tópico
Objetos SQL Server com suporte
Somente objetos com suporte podem ser especificados em um aplicativo da camada de dados enquanto ele é criado ou editado. Você não pode extrair, registrar ou importar um DAC de um banco de dados existente que contenha objetos sem suporte em um DAC. O SQL Server 2014 dá suporte aos seguintes objetos em um DAC.
DATABASE ROLE | FUNCTION: com valor de tabela embutido |
FUNCTION: com valor de tabela de várias instruções | FUNCTION: escalar |
INDEX: clusterizado | ÍNDICE: Não clusterizado |
INDEX: espacial | INDEX: exclusivo |
LOGIN | Permissões |
Associações de função | SCHEMA |
Estatísticas | STORED PROCEDURE: Transact-SQL |
Sinônimos | TABLE: restrição de verificação |
TABLE: ordenação | TABLE: coluna, incluindo colunas computadas |
TABLE: restrição, padrão | TABLE: restrição, chave estrangeira |
TABLE: restrição, índice | TABLE: restrição, chave primária |
TABLE: restrição, exclusiva | TRIGGER: DML |
TYPE: HIERARCHYID, GEOMETRY, GEOGRAPHY | TYPE: tipo de dados definido pelo usuário |
TYPE: tipo de tabela definido pelo usuário | USER |
VIEW |
Suporte a aplicativo da camada de dados das versões do SQL Server
As versões do SQL Server têm diferentes níveis de suporte para operações de DAC. Todas as operações de DAC com suporte em uma versão do SQL Server têm suporte em todas as edições dessa versão.
As instâncias do Mecanismo de Banco de Dados oferecem suporte às seguintes operações de DAC:
A exportação e a extração têm suporte em todas as versões com suporte do SQL Server.
Todas as operações têm suporte no Banco de Dados SQL do Azure e em todas as versões do SQL Server 2014, SQL Server 2012 e SQL Server 2008 R2.
Todas as operações têm suporte no SQL Server 2008 Service Pack 2 (SP2) ou posterior e no SQL Server 2005 SP4 ou posterior.
O DAC Framework inclui as ferramentas do lado do cliente por compilar e processar pacotes do DAC e arquivos de exportação. Os produtos a seguir incluem o DAC Framework
O SQL Server 2014 e o SQL Server 2012 incluem o DAC Framework 3.0, que dá suporte a todas as operações do DAC.
O SQL Server 2008 R2 SP1 e o Visual Studio 2010 SP1 incluíam o DAC Framework 1.1, que dá suporte a todas as operações de DAC, exceto exportação e importação.
O SQL Server 2008 R2 e o Visual Studio 2010 incluíam o DAC Framework 1.0, que dá suporte a todas as operações de DAC, exceto exportação, importação e atualização in-loco.
As ferramentas de cliente de versões anteriores de SQL Server ou Visual Studio não oferecem suporte a operações de DAC.
Um pacote de DAC ou arquivo de exportação criados com uma versão do DAC Framework não podem ser processados por uma versão anterior do DAC Framework. Por exemplo, um pacote de DAC extraído usando as ferramentas de cliente do SQL Server 2014 não pode ser implantado usando as ferramentas de cliente do SQL Server 2008 R2.
Um pacote de DAC ou arquivo de exportação criados com uma versão do DAC Framework podem ser processados por uma versão posterior do DAC Framework. Por exemplo, um pacote de DAC extraído usando as ferramentas de cliente do SQL Server 2008 R2 pode ser implantado usando as ferramentas de cliente do SQL Server 2008 R2 SP1 ou superior.
Limitações de implantação de dados
Observe estas limitações de fidelidade do mecanismo de implantação de dados da Estrutura DAC no SQL Server 2012 SP1. As limitações se aplicam às seguintes ações da Estrutura DAC: implantar ou publicar um arquivo .dacpac, e importar um arquivo .bacpac.
A perda de metadados em certas condições e tipos de base nas colunas sql_variant. Nos casos afetados, você verá um aviso com a seguinte mensagem: Algumas propriedades em alguns tipos de dados usados dentro de uma coluna sql_variant não são preservadas quando a implantação é feita pela Estrutura DAC.
Tipos de base MONEY, SMALLMONEY, NUMERIC, DECIMAL: a precisão não é preservada.
- Tipos de base DECIMAL/NUMERIC com precisão 38: os metadados de sql_variant “TotalBytes” são sempre definidos como 21.
Todos os tipos de base de texto: a ordenação padrão do banco de dados é aplicada a todo o texto.
Tipos de base BINARY: a propriedade de comprimento máximo não é preservada.
Tipos de base TIME, DATETIMEOFFSET: a precisão é sempre definida como 7.
Perda de dados nas colunas sql_variant. Nos casos afetados, você verá um aviso com a seguinte mensagem: Haverá perda de dados quando um valor em uma coluna sql_variant DATETIME2 com escala maior que 3 for implantado pela Estrutura DAC. O valor DATETIME2 está limitado a uma escala igual a 3 durante a implantação.
- Tipo de base DATETIME2 com escala maior que 3: a escala é limitada ao valor igual a 3.
Ocorre falha na operação de implantação com as condições em colunas sql_variant a seguir. Nos casos afetados, você verá uma caixa de diálogo com a seguinte mensagem: Falha na operação devido às limitações de dados na Estrutura DAC.
Tipos de base DATETIME2, SMALLDATETIME e DATE: se o valor está fora do intervalo DATETIME – por exemplo, o ano é anterior a 1753.
Tipo de base DECIMAL, NUMERIC: quando a precisão do valor é maior que 28.
Considerações adicionais para ações de implantação
Observe as seguintes considerações para ações da implantação de dados da Estrutura DAC:
Extrair/Exportar – Nas ações que usam a Estrutura DAC para criar um pacote de um banco de dados – por exemplo, extrair um arquivo .dacpac, exportar um arquivo .bacpac – essas restrições não se aplicam. Os dados no pacote são uma representação de fidelidade total dos dados no banco de dados de origem. Se alguma dessas condições estiver presente no pacote, o log de extração/exportação conterá um resumo dos problemas através das mensagens observadas anteriormente. Esse é um aviso ao usuário sobre problemas potenciais de implantação de dados com o pacote criado. O usuário também verá a seguinte mensagem de resumo no log: Essas limitações não afetam a fidelidade dos tipos de dados e valores armazenados no pacote de DAC criado pela Estrutura de DAC; elas se aplicam apenas aos tipos de dados e valores resultantes da implantação de um pacote de DAC em um banco de dados. Para obter mais informações sobre os dados afetados e como contornar essa limitação, consulte este tópico.
Implantar/Publicar/Importar – Nas ações que usam a Estrutura DAC para implantar um pacote em um banco de dados, como implantar ou publicar um arquivo .dacpac, e importar um arquivo .bacpac, essas limitações se aplicam. Os dados que resultam no banco de dados de destino não podem conter uma representação de fidelidade total dos dados no pacote. O log Implantar/Importar conterá uma mensagem, observada acima, para cada instância em que o problema for encontrado. A operação será bloqueada por erros (consulte a categoria 3 anterior), mas continuará com os outros avisos.
Para obter mais informações sobre os dados que são afetados neste cenário e como solucionar essa limitação para ações de implantação/publicação/importação, confira este tópico.
Soluções alternativas – as operações de extração e de exportação gravarão arquivos de dados BCP de fidelidade total nos arquivos .dacpac ou .bacpac. Para evitar limitações, use o utilitário de linha de comando BCP.exe do SQL Server para implantar dados de fidelidade total em um banco de dados de destino de um pacote de DAC.