DetailPage-MSS-KB

Base de Dados de Conhecimento

Artigo: 947204 - Última revisão: terça-feira, 19 de Fevereiro de 2008 - Revisão: 1.2

 
N.º de bugs: 50002301 (correcção SQL)
A Microsoft distribui correcções Microsoft SQL Server 2005 como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova versão contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2005 anterior corrigir lançamento.

Sintomas

No Microsoft SQL Server 2005, executar uma consulta que cria objectos internos na base de dados tempdb . Quando executar a consulta muitas vezes, o espaço utilizado na base de dados tempdb aumenta continuamente. Finalmente, a base de dados tempdb fica cheio. Além disso, tem de reiniciar o serviço SQL Server para limpar a base de dados tempdb .

Quando este problema ocorre, execute a seguinte instrução na base de dados tempdb muitas vezes.
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used],
(SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB]
FROM sys.dm_db_file_space_usage;
Se o fizer, o valor da coluna internal_object_reserved_page_count aumenta sempre que executa esta declaração.

Em seguida, consulta a vista de gestão dinâmica sys.dm_db_session_space_usage. Quando o fizer, o valor da coluna internal_objects_alloc_page_count aumenta sem um aumento no valor da coluna internal_objects_dealloc_page_count correspondente.

Causa

Sempre que executar a consulta, o SQL Server cria objectos internos na base de dados tempdb . Em algumas circunstâncias, SQL Server não deallocate as páginas que estão atribuídas para os objectos internos na base de dados tempdb .

Resolução

A correcção para este problema foi primeiro disponibilizada na actualização cumulativa 6. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2005 Service Pack 2, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
946608  (http://support.microsoft.com/kb/946608/LN/ ) Pacote de actualização cumulativa 6 para o SQL Server 2005 Service Pack 2
Nota Uma vez que as compilações são cumulativas, cada nova versão de correcção contém todas as correcções e todas as correcções de segurança incluídas com o SQL Server 2005 anterior corrigir lançamento. A Microsoft recomenda que considerar a aplicação a versão de correcção mais recente que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
937137  (http://support.microsoft.com/kb/937137/LN/ ) Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 2
As correcções Microsoft SQL Server 2005 são criadas para service packs do SQL Server específicos. Tem de aplicar uma correcção do SQL Server 2005 Service Pack 2 para uma instalação do SQL Server 2005 Service Pack 2. Por predefinição, qualquer correcção fornecida num service pack do SQL Server está incluída no próximo service pack do SQL Server.

Ponto Da Situação

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

Mais Informação

Para obter mais informações sobre uma lista completa das operações que utilizam objectos internos, visite os seguintes Web sites da Microsoft:
http://msdn2.microsoft.com/en-us/library/ms174412.aspx (http://msdn2.microsoft.com/en-us/library/ms174412.aspx)

http://technet.microsoft.com/en-us/library/cc966545.aspx (http://technet.microsoft.com/en-us/library/cc966545.aspx)
Para determinar a sessão problemática ID (SPID) que atribuir páginas na base de dados tempdb , pode examinar a anel de atribuição de memória intermédia. Para efectuar este procedimento, tem de activar primeiro o sinalizador de rastreamento 1106 do. Por predefinição, o sinalizador de rastreamento 1106 do não está activado. Em seguida, tem de executar a seguinte instrução para apresentar as informações de atribuição e as informações de desatribuição na base de dados tempdb .
SELECT 
record.value('(Record/@id)[1]', 'int') AS record_id,
CONVERT (varchar, DATEADD (ms, -1 * ((inf.cpu_ticks / inf.cpu_ticks_in_ms) - [timestamp]), GETDATE()), 126) AS EventTime,
[timestamp] ,
 record.value('(Record/@id)[1]', 'int') AS RingBuffer_Record_Id,
 record.value('(Record/ALLOC/Event)[1]', 'int') AS AllocationEventType,
 record.value('(Record/ALLOC/SpId)[1]', 'int') AS SpId,
 record.value('(Record/ALLOC/EcId)[1]', 'int') AS EcId,
 record.value('(Record/ALLOC/PageId)[1]', 'nvarchar(50)') AS AllocatedPageId,
 record.value('(Record/ALLOC/AuId)[1]', 'nvarchar(50)') AS AllocationUnitId,
 record.value('(Record/ALLOC/LsId)[1]', 'nvarchar(50)') AS LsId
FROM sys.dm_os_sys_info inf CROSS JOIN (
SELECT timestamp, CONVERT (xml, record) AS record 
FROM sys.dm_os_ring_buffers 
WHERE ring_buffer_type = 'RING_BUFFER_ALLOC_TRACE'
AND ( record LIKE '%<Event>23</Event>%' -- uniform extent allocation
OR record LIKE '%<Event>22</Event>%' -- uniform extent deallocation
OR record LIKE '%<Event>24</Event>%' -- mixed extent allocation
OR record LIKE '%<Event>25</Event>%' -- mixed extent deallocation
OR record LIKE '%<Event>10</Event>%' -- page allocation
OR record LIKE '%<Event>11</Event>%' -- page deallocation
)) AS t
    ORDER BY record.value('(Record/@id)[1]', 'int') ASC 
pode comparar estas informações com as informações a partir do SQL Server Profiler para determinar as consultas que atribuir páginas e que não deallocate páginas base de dados tempdb .

Nota Recomendamos que não utilize o sinalizador de rastreamento 1106 em servidores de produção porque o sinalizador de rastreamento 1106 do afecta o desempenho do SQL Server.

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre quaisquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção que é descrita neste artigo da base de dados de conhecimento da Microsoft, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
946608  (http://support.microsoft.com/kb/946608/LN/ ) Pacote de actualização cumulativa 6 para o SQL Server 2005 Service Pack 2

Referências

Para obter mais informações sobre a lista de compilações disponíveis depois de SQL Server Service Pack 2, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
937137  (http://support.microsoft.com/kb/937137/LN/ ) Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 2
Para obter mais informações sobre o modelo de assistência incremental para o SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
935897  (http://support.microsoft.com/kb/935897/LN/ ) Um modelo de assistência incremental está disponível a equipa do SQL Server para proporcionar correcções para problemas comunicados
Para obter mais informações sobre como obter o SQL Server 2005 Service Pack 2, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
913089  (http://support.microsoft.com/kb/913089/LN/ ) Como obter o service pack mais recente para o SQL Server 2005
Para mais informações sobre as novas funcionalidades e melhorias no SQL Server 2005 Service Pack 2, visite o seguinte Web site da Microsoft:
http://go.microsoft.com/fwlink/?LinkId=71711 (http://go.microsoft.com/fwlink/?LinkId=71711)
Para obter mais informações sobre o esquema de atribuição de nomes para as actualizações do SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499  (http://support.microsoft.com/kb/822499/LN/ ) Novo esquema de atribuição de nomes de ficheiros para pacotes de actualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de actualização de software, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
824684  (http://support.microsoft.com/kb/824684/LN/ ) Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
Palavras-chave: 
kbmt kbsql2005engine kbhotfixrollup kbfix kbpubtypekc kbqfe kbexpertiseadvanced KB947204 KbMtpt
Tradução automáticaTradução automática
IMPORTANTE: Este artigo foi traduzido por um sistema de tradução automática (também designado por Machine translation ou MT), não tendo sido portanto revisto ou traduzido por humanos. A Microsoft tem artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais. O objectivo é simples: oferecer em Português a totalidade dos artigos existentes na base de dados do suporte. Sabemos no entanto que a tradução automática não é sempre perfeita. Esta pode conter erros de vocabulário, sintaxe ou gramática… erros semelhantes aos que um estrangeiro realiza ao falar em Português. A Microsoft não é responsável por incoerências, erros ou estragos realizados na sequência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza actualizações frequentes ao software de tradução automática (MT). Obrigado.
Clique aqui para ver a versão em Inglês deste artigo: 947204  (http://support.microsoft.com/kb/947204/en-us/ )
Partilhar
Opções de suporte adicionais
Fóruns de Suporte da Comunidade Microsoft
Contacte-nos directamente
Encontre um parceiro certificado Microsoft
Loja Microsoft