Como usar o DBCC CLONEDATABASE para gerar uma cópia somente estatísticas e esquema de um banco de dados do usuário no SQL Server de 2014 SP2 e SP1 de 2016 do SQL Server

IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.

Clique aqui para ver a versão em Inglês deste artigo: 3177838
Sumário
Essa atualização introduz um novo comando de gerenciamento DBCC CLONEDATABASE (Transact-SQL) no Microsoft SQL Server 2014 Service Pack 2 e SQL Server 2016 SP1. Esse comando cria um novo banco de dados que contém o esquema de todos os objetos e as estatísticas do banco de dados de origem especificado.

Sobre os service packs do SQL Server
Service packs são cumulativos. Cada service pack novo contém todas as correções que estão em service packs anteriores, junto com qualquer nova correção. Nossa recomendação é aplicar o service pack mais recente e a atualização cumulativa mais recente para esse service pack. Não é necessário instalar um service pack anterior antes de instalar o service pack mais recente. Use a tabela 1 no seguinte artigo para obter mais informações sobre o service pack mais recente e a atualização cumulativa mais recente.

Sobre DBCC CLONEDATABASE
Suporte técnico da Microsoft pode lhe pedir para gerar um clone de um banco de dados usando DBCC CLONEDATABASE para investigar um problema de desempenho relacionado para o otimizador de consultas.

Observação: O banco de dados recém-gerado gerado a partir de DBCC CLONEDATABASE não é suportado para ser usado como um banco de dados de produção e destina-se principalmente para fins de diagnóstico e solução de problemas. É recomendável desconectar o banco de dados clonado após a criação do banco de dados.

A clonagem do banco de dados de origem é executada, as seguintes operações:
  • Cria um novo banco de dados destino que usa o mesmo layout de arquivo como a fonte, mas com tamanhos de arquivo padrão do banco de dados do modelo.
  • Cria um instantâneo do banco de dados de origem interno.
  • Copia os metadados do sistema de origem no banco de dados de destino.
  • Copia todos os esquema para todos os objetos da origem para o banco de dados de destino.
  • Estatísticas de cópias de todos os índices da origem para o banco de dados de destino.
Sintaxe
DBCC CLONEDATABASE (source_database_name, target_database_name)[WITH [NO_STATISTICS][,NO_QUERYSTORE]]  
Argumentos
  • source_database_name

    Esse argumento é o nome do banco de dados cujo esquema e as estatísticas precisa ser copiados.
  • target_database_name

    Esse argumento é o nome do esquema e as estatísticas do banco de dados de origem serão copiadas para o banco de dados. Este banco de dados será criado por DBCC CLONEDATABASE e ainda não deve existir.
  • NO_STATISTICS

    Esse argumento especifica se estatísticas precisa ser excluído do clone de tabela/índice. Se esta opção não for especificada, as estatísticas de tabela/índice são incluídas automaticamente. Esta opção está disponível a partir do SQL Server 2016 Service Pack 1.
  • NO_QUERYSTORE

    Esse argumento especifica se consulta armazenar precisa ser excluído do clone. Se esta opção não for especificada, armazenamento de dados da consulta são copiados para o clone se ele estiver habilitado no banco de dados de origem. Esta opção está disponível a partir do SQL Server 2016 Service Pack 1.
Quando usar o DBCC CLONEDATABASE?
DBCC CLONEDATABASE deve ser usado para criar um esquema e estatísticas única cópia de um banco de dados de produção para investigar problemas de desempenho de consulta. Esteja ciente das seguintes restrições e objetos com suporte:
  • Restrições

    As validações seguintes são realizadas pelo DBCC CLONEDATABASE. O comando falhará se qualquer uma das validações falhar.
    • O banco de dados de origem deve ser um banco de dados do usuário. Clonagem de bancos de dados de sistema (master, model, msdb, tempdb, banco de dados de distribuição etc.) não é permitido.
    • O banco de dados de origem deve estar online ou legível.
    • Um banco de dados que usa o mesmo nome do banco de dados do clone ainda não deve existir.
    • O comando não está em uma transação do usuário.


    Se todas as validações tiver êxito, o DBCC CLONEDATABASE executará as seguintes operações:
    • Criando arquivo de dados principal e o arquivo de log
    • Adicionando dataspaces secundário
    • Adição de arquivos secundário

    Observação: Todos os arquivos do banco de dados de destino herdarão as configurações de tamanho e crescimento do banco de dados do modelo. Convenção de nome de arquivo: os nomes de arquivo para o banco de dados de destino seguirão a convenção de source_file_name _underscore_random número . Se o nome de arquivo gerado já existe na pasta de destino, DBCC CLONEDATABASE irá falhar.
  • Instantâneo de banco de dados interno

    DBCC CLONEDATABASE usa um instantâneo de banco de dados interno do banco de dados de origem para a consistência transacional que é necessário para realizar a cópia. Isso evita problemas de bloqueio e simultaneidade quando esses comandos são executados. Se não é possível criar um instantâneo, DBCC CLONEDATABASE irá falhar.

    Bloqueios de nível de banco de dados são mantidos durante seguindo as etapas do processo de cópia:
    • Validar o banco de dados de origem
    • Obter o bloqueio S para o banco de dados de origem
    • Criar instantâneo do banco de dados de origem
    • Criar um banco de dados do clone (que é um banco de dados vazio que herda de modelo)
    • Bloqueio de obter X para o banco de dados do clone
    • Copiar os metadados no banco de dados do clone
    • Liberar todos os bloqueios de banco de dados

    Assim que o comando concluiu a execução, o instantâneo interno será descartado. Opções de TRUSTWORTHY e DB_CHAINING estão desativadas em um banco de dados clonado.
Objetos com suporte
Somente o esquema dos seguintes objetos será copiado para o banco de dados de destino. Objetos criptografados são copiados mas não são suportados no clone nesta versão do SQL Server. Todos os objetos que não estão listados na seção a seguir não serão copiados:
  • FUNÇÃO DE APLICATIVO
  • GRUPO DE DISPONIBILIDADE
  • ÍNDICE COLUMNSTORE
  • CDB
  • CDC
  • CLR (apenas no SQL Server 2016 Service Pack 1 e versões posteriores)
  • PROPRIEDADES DO BANCO DE DADOS
  • PADRÃO
  • ARQUIVOS E GRUPOS DE ARQUIVOS
  • FUNÇÃO
  • ÍNDICE
  • LOGIN
  • FUNÇÃO DE PARTIÇÃO
  • ESQUEMA DE PARTIÇÃO
  • PROCEDIMENTO
    Observação: Procedimentos de T-SQL para o SQL Server de 2014 SP2 e posteriores CUs. Stored procedures compiladas nativamente e procedimentos CLR não serão copiados. No SQL Server 2016 Service Pack 1 e versões posteriores, CLR e compilados nativamente procedimentos também serão copiados.
  • ARMAZENAMENTO de CONSULTA (apenas no SQL Server 2016 Service Pack 1 e versões posteriores)
    Observação: Armazenamento de consulta é copiado somente se ele estiver habilitado no banco de dados de origem. Para copiar as estatísticas de tempo de execução mais recentes como parte do armazenamento de consulta, executar sp_query_store_flush_db Para limpar as estatísticas de tempo de execução para o armazenamento de consulta antes de executar o DBCC CLONEDATABASE.
  • FUNÇÃO
  • REGRA
  • ESQUEMA
  • SEQUÊNCIA
  • ÍNDICE ESPACIAL
  • ESTATÍSTICAS
  • SINÔNIMO
  • TABELA
    Observação: Somente usuário e tabelas de filestream são copiadas. Memória otimizada tabelas e FileTables não será copiado no SQL Server de 2014 Service Pack 2 e posteriores CUs. No SQL Server 2016 Service Pack 1 e posteriores CUs, tabelas de memória otimizada, Filestream e FileTable os objetos são copiados.
  • DISPARADOR
  • TIPO
  • BANCO DE DADOS ATUALIZADO
  • USUÁRIO
  • MODO DE EXIBIÇÃO
  • ÍNDICE XML
  • COLEÇÃO DE ESQUEMAS XML

Permissões
Você precisa ter a participação de sysadmin função de servidor fixa.
Mensagens de log de erro
As seguintes mensagens são registradas no log de erros durante o processo de clonagem:

Carimbo de hora> spid53 o banco de dados clonagem para 'sourcedb' foi iniciada com destino como 'sourcedb_clone'.

Carimbo de hora> spid53 iniciar o banco de dados 'sourcedb_clone'.

Carimbo de hora> opção de banco de dados de configuração spid53 TRUSTWORTHY para FORA do banco de dados 'sourcedb_clone'.

Carimbo de hora> opção de banco de dados de configuração spid53 DB_CHAINING para FORA do banco de dados 'sourcedb_clone'.

Carimbo de hora> spid53 iniciar o banco de dados 'sourcedb_clone'.

Carimbo de hora> spid53 banco de dados 'sourcedb_clone' é um banco de dados clonado. Um banco de dados clonado deve ser usado para fins de diagnóstico somente e não é suportado para uso em um ambiente de produção.

Carimbo de hora> spid53 o banco de dados clonagem para 'sourcedb' foi concluída. Banco de dados clonado é 'sourcedb_clone'.
Propriedade de banco de dados
É adicionada uma nova propriedade de banco de dados IsClone . DATABASEPROPERTYEX ('dbname', 'IsClone') retornará 1 se o banco de dados é gerado usando o DBCC CLONEDATABASE.
Exemplos
  1. Criação de um clone do banco de dados AdventureWorks que inclui o esquema, estatísticas e consulta de armazenamento (SQL Server 2016 SP1 e versões posteriores)

    Transact-SQL -- Generate the clone of AdventureWorks database.    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone);    GO  
  2. Criando um clone somente de esquema do banco de dados AdventureWorks sem estatísticas e consulta armazenam (SQL Server 2016 SP1 e versões posteriores)

    DBCC CLONEDATABASE (AdventureWorks, AdventureWorks_Clone) WITH NO_STATISTICS,NO_QUERYSTORE

Referências
Saiba mais sobre o terminologia que a Microsoft usa para descrever as atualizações de software.

Propriedades

ID do Artigo: 3177838 - Última Revisão: 11/24/2016 03:09:00 - Revisão: 3.0

Microsoft SQL Server 2014 Business Intelligence, Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Enterprise Core, Microsoft SQL Server 2014 Express, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2016 Developer, Microsoft SQL Server 2016 Enterprise, Microsoft SQL Server 2016 Enterprise Core, Microsoft SQL Server 2016 Express, Microsoft SQL Server 2016 Parallel Data Warehouse, Microsoft SQL Server 2016 Standard, Microsoft SQL Server 2016 Web

  • kbqfe kbfix kbsurveynew kbexpertiseadvanced kbmt KB3177838 KbMtpt
Comentários