Iniciar sessão com a Microsoft
Iniciar sessão ou criar uma conta.
Olá,
Selecione uma conta diferente.
Tem várias contas
Selecione a conta com a qual pretende iniciar sessão.

A Microsoft distribui as correções R2 do Microsoft SQL Server 2008 como um ficheiro transferível. 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 o anterior lançamento de correção de R2008 do SQL Server 2008.

Sintomas

Considere o seguinte cenário:

  • Uma aplicação 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 numa sessão em vez de num procedimento armazenado.

  • O plano de consulta está em cache.

  • Muitos utilizadores executam a mesma consulta num ambiente altamente simultâneo. Por exemplo, muitos utilizadores usam uma aplicação que executa a seguinte consulta:

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

Neste cenário, a aplicação encontra problemas de desempenho.Nota Para obter mais informações sobre como identificar este problema, consulte a secção "Mais informações".

Causa

Este problema ocorre porque os mesmos planos de consulta são inseridos em cache no mesmo balde de haxixe para cada utilizador quando o texto de consulta é o mesmo. Quando um grande número de planos são atados para o mesmo balde (também conhecido como uma cadeia de haxixe), o tempo para procurar um plano na cache aumenta significativamente, e os problemas de desempenho podem ocorrer. Além disso, os fios dos trabalhadores podem encontrar uma forte contenção do giro, e outros fios são afetados quando estes fios do trabalhador não realizam os rendimentos corretos do programador.

Resolução

Nota Apenas a atualização para SQL Server 2008 R2 está atualmente disponível. Para o SQL Server 2008, consulte a secção "Workaround" para contornar este problema.

Informação de atualização cumulativa

Sql Server 2008 R2 Service Pack 1

A correção para este problema foi lançada pela primeira vez na Cumulativa Update 1 para SQL Server 2008 R2 Service Pack 1. Para obter mais informações sobre como obter este pacote de atualização cumulativa, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

2544793 Pacote de atualização cumulativo 1 para SQL Server 2008 R2 Service Pack 1Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção R2008 do SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

2567616 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

A correção para este 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 para SQL Server 2008 R2, clique no seguinte número de artigo para ver o artigo na Base de Conhecimento da Microsoft:

2507770 Pacote de atualização cumulativa 7 para SQL Server 2008 R2 Nota Como as construções são cumulativas, cada nova versão de correção contém todos os hotfixes e todas as correções de segurança que foram incluídas com o anterior lançamento de correção R2008 do SQL Server 2008. Recomendamos que considere aplicar o mais recente lançamento de correção que contém este hotfix. Para mais informações, clique no número de artigo que se segue para ver o artigo na Base de Dados de Conhecimento Microsoft:

981356 O SQL Server 2008 R2 constrói que foram lançados após o lançamento do SQL Server 2008 R2

Estado

A Microsoft confirmou que este problema ocorre nos produtos da Microsoft listados na secção "Aplica-se a".

Solução

Para contornar este problema no SQL Server 2008 e no SQL Server 2008 R2, mova quaisquer referências de tabelas temporárias para procedimentos armazenados no interior.

Mais Informações

Para obter mais informações sobre como criar e modificar os fundamentos da tabela, visite o seguinte website da MSDN:

Como criar e modificar os fundamentos da tabelaA contenção de spinlock pode ser identificada a partir da sys.dm_os_spinlock_stats visão de gestão dinâmica (DMV) que tem uma alta taxa de contenção no SOS_CACHESTORE spinlock. Para identificar esta questão, executar uma consulta que se assemelha ao 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 executar esta consulta, poderá encontrar os problemas de desempenho:

  • Esta consulta gera o mesmo texto de consulta.

  • A contagem para o mesmo balde é grande.Nota Uma grande contagem para o mesmo balde é geralmente superior a 1000.

  • As consultas referem tabelas temporárias

Precisa de mais ajuda?

Quer mais opções?

Explore os benefícios da subscrição, navegue em cursos de formação, saiba como proteger o seu dispositivo e muito mais.

As comunidades ajudam-no a colocar e a responder perguntas, a dar feedback e a ouvir especialistas com conhecimentos abrangentes.

Estas informações foram úteis?

Quão satisfeito está com a qualidade do idioma?
O que afetou a sua experiência?
Ao selecionar submeter, o seu feedback será utilizado para melhorar os produtos e serviços da Microsoft. O seu administrador de TI poderá recolher estes dados. Declaração de Privacidade.

Obrigado pelo seu feedback!

×