Entrar com a conta da Microsoft
Entrar ou criar uma conta.
Olá,
Selecionar uma conta diferente.
Você tem várias contas
Escolha a conta com a qual você deseja entrar.

A Microsoft distribui o Microsoft SQL Server 2008 R2 corrige como um arquivo que pode ser baixado. Como as correções são cumulativas, cada nova versão contém todos os hotfixes e todas as correções de segurança que foram incluídas com a versão anterior do SQL Server 2008 R2 Fix.

Sintomas

Considere o seguinte cenário:

  • Um aplicativo executa uma consulta que faz referência a algumas tabelas temporárias no Microsoft SQL Server 2008 e no Microsoft SQL Server 2008 R2. As tabelas temporárias são criadas em uma sessão em vez de em um procedimento armazenado.

  • O plano de consulta é armazenado em cache.

  • Muitos usuários executam a mesma consulta em um ambiente altamente simultâneo. Por exemplo, muitos usuários usam um aplicativo que executa a seguinte consulta:

    create table #x (col1 int) go insert into #x values (1) go select * from #x where col1 = 1 go

Nesse cenário, o aplicativo encontra problemas de desempenho.Observação Para obter mais informações sobre como identificar esse problema, confira a seção "mais informações".

Causa

Esse problema ocorre porque os mesmos planos de consulta são inseridos no cache no mesmo hash Bucket para cada usuário quando o texto da consulta é o mesmo. Quando um grande número de planos é codificado para o mesmo Bucket (também conhecido como uma cadeia de hash), o tempo para procurar um plano no cache aumenta significativamente, e os problemas de desempenho podem ocorrer. Além disso, os threads de trabalho podem encontrar uma disputa de spinlock grave, e outros threads são afetados quando esses threads de trabalho não executam o Agendador correto.

Resolução

Observação Somente a atualização do SQL Server 2008 R2 está disponível no momento. Para o SQL Server 2008, consulte a seção "solução alternativa" para contornar esse problema.

Informações sobre a atualização cumulativa

SQL Server 2008 R2 Service Pack 1

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 1 para SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter esse pacote de atualização cumulativa, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2544793 Pacote de atualização cumulativa 1 para SQL Server 2008 R2 Service Pack 1Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

2567616 As compilações do SQL Server 2008 R2 que foram lançadas após o lançamento do SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

A correção para esse problema foi lançada pela primeira vez na atualização cumulativa 7. Para obter mais informações sobre como obter este pacote de atualização cumulativa do SQL Server 2008 R2, clique no número abaixo para ler o artigo na base de dados de conhecimento da Microsoft:

2507770 Pacote de atualizações cumulativas 7 para SQL Server 2008 R2 Observação Como as compilações são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança incluídas na versão anterior do SQL Server 2008 R2. Recomendamos que você considere a aplicação do lançamento de correção mais recente que contém esse hotfix. Para obter mais informações, clique no número abaixo para ler os artigos na Base de Dados de Conhecimento Microsoft:

981356 As compilações do SQL Server 2008 R2 que foram lançadas após a liberação do SQL Server 2008 R2

Status

A Microsoft confirmou que este é um problema nos produtos Microsoft listados na seção "Aplicável a".

Solução alternativa

Para contornar esse problema no SQL Server 2008 e no SQL Server 2008 R2, mova todas as referências de tabelas temporárias para procedimentos armazenados dentro de um só lugar.

Informações adicionais

Para obter mais informações sobre como criar e modificar noções básicas de tabela, acesse o seguinte website da MSDN:

Como criar e modificar noções básicas de tabelaA disputa de spinlock pode ser identificada a partir da exibição de gerenciamento dinâmico do Sys.dm_os_spinlock_stats (DMV) que tem uma alta taxa de disputa no SOS_CACHESTORE SpinLock. Para identificar esse problema, execute uma consulta semelhante à seguinte:

select cp.bucketid, count(cp.bucketid) as BucketCount, st.text from sys.dm_exec_cached_plans cp cross apply sys.dm_exec_sql_text(cp.plan_handle) as st group by cp.bucketid, st.text having count(cp.bucketid) >1 order by BucketCount descSe as seguintes condições forem verdadeiras quando você executar esta consulta, você pode encontrar os problemas de desempenho:

  • Esta consulta gera o mesmo texto de consulta.

  • A contagem para o mesmo BucketID é grande.Observação Um número grande para o mesmo BucketID geralmente está acima de 1000.

  • As consultas fazem referência a tabelas temporárias

Precisa de mais ajuda?

Quer mais opções

Explore os benefícios da assinatura, procure cursos de treinamento, saiba como proteger seu dispositivo e muito mais.

As comunidades ajudam você a fazer e responder perguntas, fazer comentários e ouvir especialistas com conhecimento avançado.

Essas informações foram úteis?

Qual é o seu grau de satisfação com a qualidade do idioma?
O que afetou sua experiência?
Ao pressionar enviar, seus comentários serão usados para aprimorar os produtos e serviços da Microsoft. Seu administrador de TI poderá coletar esses dados. Política de Privacidade.

Agradecemos seus comentários!

×