Você está offline; aguardando reconexão

Como gerar um script dos metadados do banco de dados necessários para criar um banco de dados somente estatísticas no 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: 914288
INTRODUÇÃO
O otimizador de consulta do Microsoft SQL Server usa os seguintes tipos de informações para determinar um plano de consulta ideal:
  • Os metadados do banco de dados
  • O ambiente de hardware
  • O estado de sessão do banco de dados
Normalmente, você deve simular todos esses mesmos tipos de informações se você deseja reproduzir o comportamento do otimizador de consultas em um sistema de teste.

Suporte técnico da Microsoft pode lhe pedir para gerar um script dos metadados do banco de dados. Suporte técnico da Microsoft usa esse script dos metadados do banco de dados para investigar um problema de otimizador. Este artigo descreve as etapas para gerar o script de estatísticas. O artigo também descreve como o otimizador de consulta usa as informações.
Mais Informações
Se você usar o SQL Server 2005, antes de executar as etapas para gerar o script, certifique-se de que o SQL Server Management Studio é a versão do SQL Server 2005 Service Pack 2 ou uma versão posterior. Se você usar versões anteriores do SQL Server Management Studio no SQL Server 2005, o Assistente de Script não contém todas as opções necessárias para as etapas neste artigo para funcionar corretamente.

Script de banco de dados inteiro

Quando você gera um banco de dados somente estatísticas clone, talvez seja mais fácil e mais confiável para o banco de dados inteiro em vez de objetos individuais de script de script. Quando você criar um script de banco de dados inteiro, você pode receber os seguintes benefícios:
  • Você evita problemas com ausência de objetos dependentes que são necessárias para reproduzir o problema.
  • Você precisa significativamente menos etapas para selecionar os objetos necessários.
Observação: Se você gerar um script para um banco de dados e os metadados do banco de dados contém milhares de objetos, o processo de scripting consome muitos recursos da CPU. Recomendamos que você gerar o script horário de pico. Ou, você pode usar a segunda opção para gerar o script para objetos individuais.

Para cada banco de dados que é referenciado por sua consulta de script, siga estas etapas:
  1. Abra o SQL Server Management Studio.
  2. No Object Explorer, expanda bancos de dadose, em seguida, localize o banco de dados que você deseja o script.
  3. Clique com botão direito no banco de dados, aponte para tarefase, em seguida, clique em Gerar Scripts.
  4. No Assistente de Script, verificar se o banco de dados correto está selecionado. Clique para selecionar a caixa de seleção Script todos os objetos no banco de dados selecionado e, em seguida, clique em Avançar.
  5. Na caixa de diálogo Escolher opções de Script , altere as configurações a seguir do valor padrão para o valor que está listado na tabela a seguir.
    Opção scriptsValor para selecionar
    Preenchimento de ANSITrue
    Continuar erro de scriptTrue
    Gerar Script de objetos dependentesTrue
    Incluir nomes de restrição do sistemaTrue
    Agrupamento de scriptTrue
    Criar script de banco de dadosTrue
    Logons de scriptTrue
    Permissões de nível de objeto scriptTrue
    Estatísticas de scriptEstatísticas de script e histogramas
    Índices de scriptTrue
    Disparadores de scriptTrue
    Observação: A opção de Logons de Script e a opção de Permissões em nível de objeto Script podem não ser necessárias, a menos que o esquema contém objetos que pertencem a logons que não seja dbo.
  6. Clique em Avançar.
  7. Clique na opção de Script em arquivo e, em seguida, digite um nome de arquivo.
  8. Clique em Concluir.

Objetos individuais do script

Você pode somente script objetos individuais que são referenciados por uma consulta específica em vez de scripts de banco de dados completo. No entanto, a menos que todos os objetos de banco de dados foram criados usando a cláusula WITH SCHEMABINDING, as informações de dependência na tabela do sistema sys.depends podem não ser precisas. Essa imprecisão pode causar um dos seguintes problemas:
  • O processo de scripting do script não um objeto dependente.
  • O processo de scripting pode criar um script objetos na ordem incorreta. Para executar o script com êxito, você deve editar manualmente o script gerado.
Portanto, não é recomendável que você script objetos individuais, a menos que o banco de dados possui muitos objetos e scripts caso contrário levaria muito tempo. Se você deve usar objetos individuais do script, execute estas etapas:
  1. No SQL Server Management Studio, expanda bancos de dadose, em seguida, localize o banco de dados que você deseja o script.
  2. Clique com botão direito no banco de dados, aponte para Banco de dados de Script como, aponte para CREATE parae, em seguida, clique em arquivo.
  3. Digite um nome de arquivo e, em seguida, clique em Salvar.

    Serão inseridos no script do recipiente de banco de dados principal. Esse contêiner inclui arquivos, grupos de arquivos, banco de dados e propriedades.
  4. Clique com botão direito no banco de dados, aponte para tarefase, em seguida, clique em Gerar Scripts.
  5. Certifique-se de que o banco de dados correto está selecionado e, em seguida, clique em Avançar.
  6. Na caixa de diálogo Escolher opções de Script , altere as configurações a seguir do valor padrão para o valor que está listado na tabela a seguir.
    Opção scriptsValor para selecionar
    Preenchimento de ANSITrue
    Continuar erro de scriptTrue
    Incluir nomes de restrição do sistemaTrue
    Gerar Script de objetos dependentesTrue
    Agrupamento de scriptTrue
    Logons de scriptTrue
    Permissões de nível de objeto scriptTrue
    Estatísticas de scriptEstatísticas de script e histogramas
    Script de banco de dados de usoTrue
    Índices de scriptTrue
    Disparadores de scriptTrue
    Observação: A opção de Logons de Script e a opção de Permissões em nível de objeto Script podem não ser necessárias, a menos que o esquema contém objetos que pertencem a logons que não seja dbo.
  7. Na caixa de diálogo Escolher tipos de objeto , selecione todos os tipos de objeto de banco de dados que faz referência a consulta problemática.

    Por exemplo, se a consulta faz referência apenas a tabelas, selecione <b00> </b00>tabelas. Se a consulta faz referência a um modo de exibição, selecione as tabelas e modos de exibição. Se a consulta problemática usa uma função definida pelo usuário, selecione funções.
  8. Quando você tiver selecionado todos os tipos de objeto são referenciados pela consulta, clique em Avançar.
  9. Uma caixa de diálogo é exibida para cada tipo de objeto de banco de dados que você selecionou na etapa 7. Em cada caixa de diálogo, selecione as tabelas específicas, exibições, funções ou outros objetos de banco de dados e, em seguida, clique em Avançar.
  10. Clique na opção de Script em arquivo e, em seguida, especifique o mesmo nome de arquivo que você digitou na etapa 3.
  11. Clique em Concluir para iniciar o script.
Quando o script terminar, envie o arquivo de script para o engenheiro de suporte da Microsoft. O engenheiro de suporte da Microsoft também podem solicitar as seguintes informações:
  • A configuração de hardware, incluindo o número de processadores e a quantidade de memória física existe
  • Definir opções que estavam ativas quando você executou a consulta
Observação: Você já pode ter fornecido essas informações através do envio de um relatório SQLDiag ou um rastreamento do SQL Profiler. Você também pode ter usado outro método para fornecer essas informações.

Como as informações são usadas

As tabelas a seguir ajudam a explicar como o otimizador de consulta usa essas informações para selecionar um plano de consulta.

Metadados

RestriçõesO otimizador de consulta freqüentemente usa restrições para detectar contradições entre a consulta e o esquema subjacente. Por exemplo, se a consulta tem uma "col onde = 5" cláusula e uma seleção"(col.< 5)"="" check="" constraint="" exists,="" the="" query="" optimizer="" knows="" that="" no="" rows="" will="">

O otimizador de consultas faz com que tipos de deduções sobre nulabilidade semelhantes. Por exemplo, a cláusula "Onde col é NULL" é conhecida por ser true ou false dependendo da condição de nulidade da coluna e se a coluna está da tabela externa de uma relação externa. A presença de restrições de chave externa é útil para determinar a ordem de associação apropriado e de cardinalidade. O otimizador de consulta pode usar informações de restrição para eliminar associações ou simplificar predicados. Essas alterações podem remover a necessidade de acessar as tabelas base.
EstatísticasAs informações de estatísticas contém densidade e um histograma que mostra a distribuição da coluna à esquerda da chave de índice e estatísticas. Dependendo da natureza do predicado, o otimizador pode usar densidade, o histograma ou ambos para estimar a cardinalidade de um predicado. Estatísticas atualizadas são necessárias para estimativas de cardinalidade precisas. As estimativas de cardinalidade são usadas como uma entrada em estimar o custo de um operador. Portanto, você deve ter as estimativas de cardinalidade boa para obter planos de consulta ideais.
Tamanho da tabela (número de linhas e páginas)O otimizador de consulta usa os histogramas e densidade para calcular a probabilidade de que um determinado predicado é verdadeira ou falsa. A estimativa de cardinalidade final é calculada multiplicando-se a probabilidade pelo número de linhas retornadas pelo operador filho.O número de páginas no índice ou o índice é um fator de estimar o custo de e/s. O tamanho da tabela é usado para calcular o custo de um exame, e ele é útil quando você estimar o número de páginas que serão acessados durante uma pesquisa de índice.
Opções de banco de dadosVárias opções de banco de dados podem afetar a otimização. As opções AUTO_CREATE_STATISTICS e AUTO_UPDATE_STATISTICS afetam se o otimizador de consulta criará novas estatísticas ou atualizar estatísticas que estão desatualizadas. O nível de PARAMETRIZAÇÃO afeta como a entrada da consulta é parametrizada antes que a consulta de entrada é entregue para o otimizador de consultas. Parametrização pode afetar a estimativa de cardinalidade e também pode impedir a correspondência com base em modos de exibição indexados e outros tipos de otimizações. A configuração DATE_CORRELATION_OPTIMIZATION faz com que o optimizer procurar correlações entre as colunas. Esta configuração afeta a estimativa de cardinalidade e custo.

Ambiente

Definir opções de sessãoANSI_NULLS configuração afeta se o "NULL = NULL" expressão seja avaliada como true. Estimativa de cardinalidade para associações externas pode ser alterados dependendo da configuração atual. Além disso, expressões ambíguas também podem ser alteradas. Por exemplo, o "col = NULL" expressão avalia diferentemente com base na configuração. No entanto, o "col IS NULL" sempre expressão é avaliada da mesma maneira.
Recursos de hardwareO custo para operadores hash e de classificação depende da quantidade relativa de memória que está disponível para SQL Server. Por exemplo, se o tamanho dos dados for maior do que o cache, o otimizador de consulta sabe que os dados devem sempre ser colocada em spool para o disco. No entanto, se o tamanho dos dados é muito menor do que o cache, a operação é provável a ser feito na memória. SQL Server também considera otimizações diferentes se o servidor tiver mais de um processador e paralelismo não foi desativado por meio de uma dica "MAXDOP" ou a opção de configuração grau máximo de paralelismo .
banco de dados do clone

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 914288 - Última Revisão: 01/27/2015 21:02:00 - Revisão: 1.0

Microsoft SQL Server 2014 Developer, Microsoft SQL Server 2014 Enterprise, Microsoft SQL Server 2014 Standard, Microsoft SQL Server 2014 Web, Microsoft SQL Server 2012 Developer, Microsoft SQL Server 2012 Enterprise, Microsoft SQL Server 2012 Standard, Microsoft SQL Server 2012 Web, Microsoft SQL Server 2008 R2 Developer, Microsoft SQL Server 2008 R2 Enterprise, Microsoft SQL Server 2008 R2 Standard, Microsoft SQL Server 2008 R2 Web, Microsoft SQL Server 2008 R2 Workgroup, Microsoft SQL Server 2008 Developer, Microsoft SQL Server 2008 Enterprise, Microsoft SQL Server 2008 Standard, Microsoft SQL Server 2008 Web, Microsoft SQL Server 2008 Workgroup, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Enterprise Edition, Microsoft SQL Server 2005 Enterprise X64 Edition, Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems, Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Standard X64 Edition, Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems

  • kbexpertiseinter kbexpertiseadvanced kbsql2005engine kbhowto kbinfo kbmt KB914288 KbMtpt
Comentários