Atualizações e opções de configuração recomendadas para o SQL Server com cargas de trabalho de alto desempenho
Este artigo inclui uma lista de melhorias de desempenho e opções de configuração disponíveis para SQL Server 2012 e versões posteriores.
Versão original do produto: SQL Server 2014, SQL Server 2012
Número de KB original: 2964518
Aplicar as atualizações recomendadas e melhorar o desempenho de SQL Server 2014 e SQL Server 2012
Este artigo descreve as melhorias e as alterações de desempenho disponíveis para SQL Server versões de 2014 e SQL Server 2012 por meio de várias atualizações de produto e opções de configuração. Você pode considerar a aplicação dessas atualizações para melhorar o desempenho da instância de SQL Server. O grau de melhoria que você vê dependerá de vários fatores que incluem padrão de carga de trabalho, pontos de contenção, layout do processador (número de grupos de processadores, soquetes, nós NUMA, núcleos em um nó NUMA) e quantidade de memória presente no sistema. SQL Server equipe de suporte usou essas atualizações e alterações de configuração para obter ganhos de desempenho razoáveis para cargas de trabalho do cliente que usavam sistemas de hardware que tinham vários nós NUMA e muitos processadores. A equipe de suporte continuará atualizando este artigo com outras atualizações no futuro.
Sistemas high-end Um sistema high-end normalmente tem vários soquetes, oito núcleos ou mais por soquete e meio terabyte ou mais de memória.
Observação
Nas versões SQL Server 2016 e posteriores, muitos dos sinalizadores de rastreamento mencionados neste artigo são o comportamento padrão e você não precisa habilitá-los nessas versões.
As recomendações são agrupadas em três tabelas da seguinte maneira:
- A Tabela 1 contém as atualizações e sinalizadores de rastreamento mais recomendados para escalabilidade em sistemas high-end.
- A Tabela 2 contém recomendações e diretrizes para ajuste adicional de desempenho.
- A Tabela 3 contém correções de escalabilidade adicionais que foram incluídas junto com uma atualização cumulativa.
Tabela 1. Atualizações importantes e sinalizadores de rastreamento para sistemas high-end
Examine a tabela a seguir e habilite os sinalizadores de rastreamento na coluna Rastrear sinalizadores depois de verificar se sua instância de SQL Server atende aos requisitos na coluna Versão Aplicável e intervalos de build.
Observação
Versão e build aplicáveis indicam a atualização específica na qual o sinalizador de alteração ou rastreamento foi introduzido. Se nenhuma CU for especificada, todas as CU's no SP serão incluídas.
Não Aplicável Versão e build indica a atualização específica na qual o sinalizador de alteração ou rastreamento se tornou o comportamento padrão. Portanto, apenas aplicar essa atualização será suficiente para obter os benefícios.
Importante
Ao habilitar correções com sinalizadores de rastreamento em ambientes Always On, esteja ciente de que você precisa habilitar a correção e rastrear sinalizadores em todas as réplicas que fazem parte do Grupo de Disponibilidade.
Cenário e sintoma a serem considerados | Sinalizador de rastreamento | Intervalos de versão e build aplicáveis | Intervalos de versão e build não aplicáveis | Artigo/Blog da Base de Dados de Conhecimento que fornece mais detalhes |
---|---|---|---|---|
|
T8048 |
|
|
|
|
T8079 | SQL Server 2014 SP2 para SP/CU atual |
|
|
|
T9024 | Pacote de atualização cumulativo 3 para SQL Server Service Pack 1 a SP2 SQL Server 2014 RTM |
|
CORREÇÃO: Alto valor do contador "esperas de gravação de log" em uma instância SQL Server 2012 ou SQL Server 2014 |
Sua instância de SQL Server está lidando com milhares de redefinições de conexão devido ao pool de conexões. | T1236 | Pacote de atualização cumulativo 9 para SQL Server Service Pack 1 a SP2 Cumulativo 1 para SQL Server 2014 |
|
|
|
T1118 |
|
|
Aprimoramentos de simultaneidade para o banco de dados tempdb NOTA Habilite o sinalizador de rastreamento e adicione vários arquivos de dados para o banco de dados tempdb. |
|
T1117 |
|
|
Recomendações para reduzir a contenção de alocação no banco de dados tempdb SQL Server |
A contenção de spinlock pesada SOS_CACHESTORE ou seus planos estão sendo despejados com frequência em cargas de trabalho de consulta ad hoc. |
T174 |
|
Nenhum |
|
|
T8032 |
|
Nenhum |
|
As estatísticas existentes não são atualizadas com frequência devido ao grande número de linhas na tabela. | T2371 |
|
Nenhum | |
|
T7471 | SQL Server 2014 SP1 CU6 para SP/CU atual | Nenhum | Aumentando o desempenho das Estatísticas de Atualização com o SQL 2014 & SQL 2016 |
O comando CHECKDB leva muito tempo para bancos de dados grandes. |
|
|
Nenhum | |
O comando CHECKDB leva muito tempo para bancos de dados grandes. | T2566 |
|
Nenhum |
|
A execução de consultas simultâneas de data warehouse que levam muito tempo de compilação resulta em RESOURCE_SEMAPHORE_QUERY_COMPILE esperas. |
T6498 | Pacote de atualização cumulativo 6 para SQL Server 2014 para SP1 |
|
|
Você está solução de problemas de desempenho de consulta específicos As correções do otimizador são desabilitadas por padrão. | T4199 |
|
Nenhum | |
Você experimenta um desempenho lento usando operações de consulta com tipos de dados espaciais. |
|
|
|
|
|
T8075 |
|
|
CORREÇÃO: erro de memória fora quando o espaço de endereço virtual do processo de SQL Server é baixo em SQL Server |
|
T3449 |
|
|
CORREÇÃO: SQL Server criação de banco de dados em um sistema com um grande volume de memória leva mais tempo do que o esperado |
Tabela 2. Considerações gerais e práticas recomendadas para melhorar o desempenho de sua instância de SQL Server
Examine o conteúdo na coluna Recurso da Base de Dados de Conhecimento/Livros Online e considere implementar as diretrizes na coluna Ações Recomendadas.
Artigo da Base de Conhecimento/Recurso Books Online | Ações recomendadas |
---|---|
Configurar o grau máximo da opção de configuração do servidor de paralelismo | Use o procedimento armazenado sp_configure para fazer alterações de configuração para configurar o grau máximo de paralelismo Opção de Configuração do Servidor para sua instância de SQL Server de acordo com o artigo base de dados de conhecimento. |
Limites de capacidade de computação por edição de SQL Server | Edição Enterprise com o licenciamento de CAL (Licença de Acesso ao Cliente+ Servidor) é limitado a 20 núcleos por instância de SQL Server. Não há limites no modelo de licenciamento de servidor baseado em núcleo. Considere atualizar sua edição de SQL Server para a SKU apropriada para aproveitar todos os recursos de hardware. |
Desempenho lento no Windows Server ao usar o Plano de Energia "Balanceado" | Examine o artigo e trabalhe com o administrador do Windows para implementar uma das soluções que são anotadas na seção "Resolução" do artigo. |
Atribua manualmente nós NUMA a grupos K. | |
Otimizar para cargas de trabalho Ad hocFORCED PARAMETERIZATION | As entradas no cache do plano são despejadas devido ao crescimento em outros caches ou funcionários de memória. Você também pode encontrar o despejo de cache do plano quando o cache atingir o número máximo de entradas. Além do sinalizador de rastreamento 8032 discutido acima, considere a opção otimizar para o servidor de cargas de trabalho ad hoc e também a opção de banco de dados DEMETRIZAÇÃO FORÇADA . |
Como reduzir a paginação da memória do pool de buffer em considerações de configuração e dimensionamento do SQL Server Memory em versões SQL Server 2012 e posteriores | Atribua o usuário Habilitar as Páginas de Bloqueio na Opção de Memória (Windows) diretamente à conta de inicialização do serviço SQL. Consulte Como habilitar o recurso "páginas bloqueadas" no SQL Server 2012. Defina a memória máxima do servidor como aproximadamente 90% da memória física total. Verifique se as opções de configuração de memória do servidor configuram contas de memória somente dos nós configurados para usar configurações de máscara de afinidade. |
SQL Server e páginas grandes explicadas...Opções de ajuste para SQL Server ao executar em cargas de trabalho de alto desempenho | Considere habilitar o TF 834 se você tiver um servidor com uma grande quantidade de memória, especialmente com uma carga de trabalho analítica ou de armazenamento de dados. Lembre-se de que o TF 834 não é recomendado se você estiver usando índices columnstore. |
Descrição das opções "acesso marcar contagem de buckets de cache" e "acesso marcar cota de cache" que estão disponíveis no procedimento armazenado sp_configure | Use o acesso marcar cache Opções de Configuração do Servidor para configurar esses valores de acordo com as recomendações no artigo Base de Dados de Conhecimento. Os valores recomendados para sistemas high-end são os seguintes: "acesso marcar contagem de buckets de cache": 256 "acesso marcar cota de cache": 1024 |
ALTER WORKLOAD GROUPDicas de consulta de concessão de memória | Se você tiver muitas consultas que estão esgotando grandes concessões de memória, reduza request_max_memory_grant_percent para o grupo de carga de trabalho padrão na configuração do governador do recurso dos 25% padrão para um valor menor. Novas opções de concessão de memória de consulta estão disponíveis (min_grant_percent e max_grant_percent ) em SQL Server |
Inicialização de arquivo instantâneo | Trabalhe com o administrador do Windows para conceder à conta de serviço SQL Server o usuário "Executar Tarefas de Manutenção de Volume" de acordo com as informações no tópico Livros Online. |
Considerações sobre as configurações "autogrow" e "autoshrink" no SQL Server | Verifique as configurações atuais do banco de dados e verifique se elas estão configuradas de acordo com as recomendações no artigo Base de Dados de Conhecimento. |
Pontos de verificação de banco de dados (SQL Server) | Considere habilitar pontos de verificação indiretos em bancos de dados de usuário para otimizar o comportamento de E/S em SQL Server 2012 e 2014. |
CORREÇÃO: Sincronização lenta quando os discos têm tamanhos de setor diferentes para arquivos de log de réplica primária e secundária em ambientes de ag e logshipping SQL Server | Se você tiver um Grupo de Disponibilidade em que o log de transações no réplica primário estiver em um disco com tamanho do setor de 512 bytes e o log de transações do réplica secundário estiver em uma unidade com tamanho do setor 4K, você poderá ter um problema em que a sincronização é lenta. Nesses casos, a habilitação do TF 1800 deve corrigir o problema. Para obter mais informações, consulte Sinalizador de rastreamento 1800. |
Se o SQL Server ainda não estiver vinculado à CPU e uma sobrecarga de 1,5% a 2% for insignificante para suas cargas de trabalho, recomendamos habilitar o TF 7412 como um sinalizador de rastreamento de inicialização. Esse sinalizador permite uma criação de perfil leve no SQL Server 2014 SP2 ou posterior, o que lhe dará a capacidade de fazer a solução de problemas de consulta ao vivo em ambientes de produção. |
Tabela 3. Correções de desempenho incluídas em uma atualização cumulativa
Examine a descrição na coluna Sintomas e aplique as atualizações necessárias na coluna atualização necessária em ambientes aplicáveis. Você pode examinar o artigo base de dados de conhecimento para obter mais informações sobre os respectivos problemas. Essas recomendações não exigem que você habilite sinalizadores de rastreamento adicionais como parâmetros de inicialização. Apenas aplicar a atualização cumulativa mais recente ou o Service Pack que inclui essas correções é suficiente para obter o benefício.
Observação
O nome CU na coluna atualização necessária fornece a primeira atualização cumulativa de SQL Server que resolve esse problema. Uma atualização cumulativa contém todos os hotfixes e todas as atualizações incluídas com a versão anterior SQL Server atualização. Portanto, recomendamos instalar a atualização cumulativa mais recente para resolve os problemas.
Notas importantes
Se todas as condições na Tabela 1 se aplicarem a você:
- Diretrizes para SQL Server 2014: Aplique pelo menos a Atualização Cumulativa 1 para SQL Server 2014 para RTM e adicione "-T8048 -T9024 -T1236 -T1117 -T1118" para SQL Server lista de parâmetros de inicialização.
- Diretrizes para SQL Server 2012: Aplique SP2 e adicione "-T8048 -T9024 -T1236 -T1117 -T1118" para SQL Server lista de parâmetros de inicialização.
Para obter informações gerais sobre como usar sinalizadores de rastreamento, marcar o tópico DBCC TRACEON – Trace Flags (Transact-SQL) no SQL Server Books Online.
Você pode encontrar mais informações sobre o número de processadores, a configuração numa e assim por diante, em exibir o SQL Server log de erros no SQL Server Management Studio (SSMS).
Para localizar a versão do SQL Server, marcar o seguinte:
Como determinar a versão e a edição de SQL Server e seus componentes
Referências
Como obter o pacote de serviço mais recente para SQL Server 2012
Onde encontrar informações sobre os builds de SQL Server mais recentes
SQL Server recursos da comunidade em atualizações importantes para SQL Server
Aplicável a
- SQL Server 2014 Enterprise
- SQL Server 2014 Enterprise Core
- SQL Server 2014 Business Intelligence
- SQL Server 2014 Developer
- SQL Server 2014 Standard
- SQL Server 2014 Web
- SQL Server 2014 Express
- SQL Server Business Intelligence 2012
- SQL Server 2012 Developer
- SQL Server 2012 Enterprise
- SQL Server 2012 Standard
- SQL Server 2012 Web
- SQL Server 2012 Enterprise Core
Comentários
https://aka.ms/ContentUserFeedback.
Brevemente: Ao longo de 2024, vamos descontinuar progressivamente o GitHub Issues como mecanismo de feedback para conteúdos e substituí-lo por um novo sistema de feedback. Para obter mais informações, veja:Submeter e ver comentários