CORRECÇÃO: Motor de base de dados do SQL Server 2005 gera erros de falha de asserção quando utiliza o Monitor de replicação para monitorizar a base de dados de distribuição

Traduções de Artigos Traduções de Artigos
Artigo: 934106 - Ver produtos para os quais este artigo se aplica.
Erro: # 50000948 (correcção SQL)
Importante
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.
Expandir tudo | Reduzir tudo

Nesta página

Este artigo descreve o seguinte sobre esta versão de correcção:
  • Problemas corrigidos por este pacote de correcções
  • Pré-requisitos para instalar o pacote de correcções
  • Se tem de reiniciar o computador depois de instalar o pacote de correcção
  • Se o pacote de correcções é substituído por qualquer outro pacote de correcção
  • Se terá de efectuar quaisquer alterações de registo
  • Ficheiros contidos no pacote de correcção

Sintomas

Quando utiliza o Monitor de replicação para monitorizar a base de dados distribuição do Microsoft SQL Server 2005, o motor de base de dados do SQL Server 2005 repetidamente gera erros de falha de asserção. Além disso, a sessão do Monitor de replicação é desligada temporariamente. Quando ocorrem os erros de falha de asserção, detectar os seguintes problemas:
  • Se estiver a executar algumas instruções de Transact-SQL ou alguns procedimentos armazenados em relação a instância do SQL Server 2005, as instruções de Transact-SQL ou procedimentos armazenados não são executadas.
  • Se ligar uma aplicação para a instância do SQL Server 2005, a ligação é fechada.
Nesta situação, as informações de desempenho replicação não estão visíveis. Quando premir F5 para actualizar o Monitor de replicação, Monitor de replicação restabelece a ligação e as informações são actualizadas.

Se detectar o problema quando estiver a executar algumas instruções de Transact-SQL ou alguns armazenadas procedimentos, as instruções de Transact-SQL ou procedimentos armazenados executar com êxito se voltar a ligar a instância do SQL Server 2005 e execute as instruções de Transact-SQL ou procedimentos armazenados.

Se uma aplicação não é possível ligar a instância, pode voltar a ligar com êxito à instância.

Resolução

Está disponível a partir da Microsoft uma correcção suportada. No entanto, esta correcção destina-se a corrigir o problema descrito neste artigo. Aplique esta correcção apenas em sistemas que tenham este problema específico. Esta correcção poderá submetida a testes adicionais. Por conseguinte, se não estiver a ser gravemente afectado por este problema, recomendamos que aguarde pela próxima actualização de software que contenha esta correcção.

Se a correcção está disponível para transferência, existe uma secção "denominada transferência de correcção disponível" na parte superior deste artigo da base de dados de conhecimento. Se esta secção não for apresentado, contacte o serviço de cliente do Microsoft e suporte para obter a correcção.

Nota Se ocorram problemas adicionais ou se for necessária qualquer resolução de problemas, poderá ter de criar um pedido de assistência separado. Os custos normais do suporte serão aplicados a problemas adicionais e questões de suporte que não se enquadrem esta correcção específica. Para obter uma lista completa dos números de telefone do suporte de cliente do Microsoft ou para criar um pedido serviço separado, visite o seguinte Web site da Microsoft:
http://support.microsoft.com/contactus/?ws=support
Nota O formulário "Transferência de correcção disponível" apresenta os idiomas para a qual a correcção está disponível. Se não vir o idioma, é porque uma correcção não está disponível para esse idioma.

Pré-requisitos

Tem de ter o SQL Server 2005 Service Pack 2 instalado.

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:
913089Como obter o service pack mais recente para o SQL Server 2005

Informações sobre reinício

Não é necessário reiniciar o computador depois de aplicar esta correcção.

Informações de registo

Não é necessário alterar o registo.

Informações sobre ficheiros da correcção

Esta correcção contém apenas os ficheiros necessários para corrigir os problemas referidos neste artigo. Esta correcção não pode conter de todos os ficheiros que necessita para actualizar completamente um produto para a compilação mais recente.

A versão inglesa desta correcção tem os atributos de ficheiro (ou atributos de ficheiro posteriores) listados na seguinte tabela. As datas e horas destes ficheiros são indicadas na hora universal coordenada (UTC). Quando visualiza as informações do ficheiro, é convertido para a hora local. Para determinar a diferença entre a UTC e a hora local, utilize o separador fuso horário no item data e hora no painel de controlo.
Versão do SQL Server 2005 32 bits
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3154.0296,30410-Mar de 200705: 49x 86
Mssqlsystemresource.ldfNão aplicável524,28810-Mar de 200702: 59Não aplicável
Mssqlsystemresource.mdfNão aplicável40,173,56810-Mar de 200702: 59Não aplicável
Rdistcom.dll2005.90.3154.0644,46410-Mar de 200705: 49x 86
Msmdlocal.dll9.0.3154.015,930,22410-Mar de 200705: 49x 86
Sqlaccess.dll2005.90.3154.0350,57610-Mar de 200705: 49x 86
Sqlservr.exe2005.90.3154.029,191,53610-Mar de 200705: 49x 86
SQL Server 2005 x 64 versão
Reduzir esta tabelaExpandir esta tabela
Nome de ficheiroVersão do ficheiroTamanho do ficheiroDataTempoPlataforma
Microsoft.SQLServer.maintenanceplantasks.dll9.0.3154.0296,30410-Mar de 200705: 49x 86
Mssqlsystemresource.ldfNão aplicável524,28810-Mar de 200702: 59Não aplicável
Mssqlsystemresource.mdfNão aplicável40,173,56810-Mar de 200702: 59Não aplicável
Rdistcom.dll2005.90.3154.0828,27210-Mar de 200711: 12x 64
Msmdlocal.dll9.0.3154.015,930,22410-Mar de 200705: 49x 86
Sqlaccess.dll2005.90.3154.0357,74410-Mar de 200711: 12x 86
Sqlservr.exe2005.90.3154.038,655,34410-Mar de 200711: 12x 64

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

Este problema afecta apenas temporariamente o desempenho de replicação. Este problema não é fatal para o motor de base de dados do SQL Server 2005. Este problema tem sem efeitos secundários lentos. Além disso, este problema só ocorre em determinadas alturas e em determinadas situações. Se repetir o mesmo comando, a operação provavelmente terá êxito.

Para determinar se tem este problema, abra o ficheiro Errorlog do SQL Server. Se tiver este problema, consulte o seguinte texto:
Falha de asserção = 'LCK_SUCCESS (resultado)'
Quando a asserção, um ficheiro de mini cópia de informação é gerado na seguinte pasta:
Drive: \Programas\Microsoft SQL Server\ MSSQL.x \MSSQL\LOG
Nota MSSQL.x é um marcador de posição para o ID de instância de instância do SQL Server. Pode determinar o valor correspondente para o sistema a partir do valor da entrada de registo MSSQLSERVER na seguinte subchave de registo:
HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\Instance Names\SQL\
Se este problema ocorrer frequentemente, pode eliminar ou arquivar ficheiros de mini cópia de informação antigo da pasta de registo para libertar espaço no disco.

O ficheiro de SQL Server Errorlog apresenta o comando do problema, uma cópia da pilha e a condição de declaração.

Por exemplo, é possível localizar o comando de problema utilizando o seguinte texto no ficheiro de SQL Server Errorlog:
12-2006-18 09:43:01.52 spid345 * localização: IndexDataSet.cpp:18180
12-2006-18 09:43:01.52 spid345 * expressão: LCK_SUCCESS (resultado)
12-2006-18 09:43:01.52 spid345 * SPID: 345
12-2006-18 09:43:01.52 spid345 * ID do processo: 1864
12-2006-18 09:43:01.52 spid345 *
12-2006-18 09:43:01.52 spid345 * bytes de entrada da memória intermédia 470 -
12-2006-18 09:43:01.52 spid345 * utilizar.sys.sp_replmonitorhelpsubsc exec [principal] [distribuição]
12-2006-18 09:43:01.52 spid345 * ription @ publisher = N'MyPublisherServer ', @ publisher_db = N'mydbname
12-2006-18 09:43:01.52 spid345 * ', @ publicação = N'mypub ' @ modo = 0, @ exclude_anonymous = 0, @ r
12-2006-18 09:43:01.52 spid345 * efreshpolicy = N ' 0 '
12-2006-18 09:43:07.03 spid345 erro: 17066, gravidade: 16, estado: 1.
12-2006-18 09:43:07.03 spid345 SQL Server declaração: ficheiro: <IndexDataSet.cpp>, linha = 18180 declaração não foi possível = 'LCK_SUCCESS (resultado)'. Este erro pode ser relacionadas com a temporização. Se o erro persistir depois de executar novamente a instrução, utilize DBCC CHECKDB para verificar a base de dados para integridade estrutural ou reiniciar o servidor para se certificar de que as estruturas de dados na memória não estão danificadas.
O comando problema pode variar. Além disso, o número da linha de código de origem da asserção pode variar entre as versões e plataformas, tais como a plataforma de 32 bits e a plataforma de 64 bits. A condição de falha de asserção que corresponde a este problema é a condição LCK_SUCCESS (resultado) .

Informações de pilha de chamadas

0:000> kL 100
Child-SP          RetAddr           Call Site
00000000`38637930 00000000`034b1e9c kernel32!RaiseException+0x73
00000000`38637a00 00000000`02fd8811 sqlservr!CDmpDump::Dump+0x7c
00000000`38637a50 00000000`02fcbeed sqlservr!CImageHelper::DoMiniDump+0x4e1
00000000`38637bc0 00000000`02ca9159 sqlservr!stackTrace+0x83d
00000000`38639110 00000000`02d71478 sqlservr!utassert_fail+0x6c9
00000000`38639ae0 00000000`02d8d593 sqlservr!UnlockDeallocatedPage+0x228
00000000`38639c20 00000000`02d9629b sqlservr!RemoveBTreePageIfUnchanged+0x113
00000000`38639ca0 00000000`02d9b247 sqlservr!BTreeRow::DeleteRecord+0xa9b
00000000`38639e70 00000000`02f5148e sqlservr!IndexDataSetSession::SetData+0x23c7
00000000`3863e0b0 00000000`02580bc1 sqlservr!RowsetNewSS::SetData+0x6e
00000000`3863e100 00000000`01c5d371 sqlservr!CValRowMult::SetDataX+0x1d1
00000000`3863e1c0 00000000`02616916 sqlservr!CEs::GeneralEval4+0x101
00000000`3863e270 00000000`02551d66 sqlservr!CQScanUpdateNew::GetRow+0x636
00000000`3863e300 00000000`0218f2ac sqlservr!CQueryScan::GetRow+0x76
00000000`3863e330 00000000`021908de sqlservr!CXStmtQuery::ErsqExecuteQuery+0x66c
00000000`3863e480 00000000`021910ec sqlservr!CXStmtDML::XretDMLExecute+0x2fe
00000000`3863e550 00000000`020d38a5 sqlservr!CXStmtDML::XretExecute+0xac
00000000`3863e580 00000000`020daac5 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x4f5
00000000`3863e6d0 00000000`02123668 sqlservr!CMsqlExecContext::FExecute+0x775
00000000`3863e880 00000000`02148d62 sqlservr!CSQLSource::Execute+0xa38
00000000`3863e9f0 00000000`0214cd9c sqlservr!CStmtExecProc::XretLocalExec+0x262
00000000`3863ea70 00000000`02141250 sqlservr!CStmtExecProc::XretExecExecute+0x54c
00000000`3863f130 00000000`020d38a5 sqlservr!CXStmtExec::XretExecute+0x20
00000000`3863f170 00000000`020daac5 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x4f5
00000000`3863f2c0 00000000`02123668 sqlservr!CMsqlExecContext::FExecute+0x775
00000000`3863f470 00000000`01f46a5a sqlservr!CSQLSource::Execute+0xa38
00000000`3863f5e0 00000000`01f4bbab sqlservr!process_request+0x43a
00000000`3863f860 00000000`03411dd6 sqlservr!process_commands+0x32b
00000000`3863fb40 00000000`034122ef sqlservr!SOS_Task::Param::Execute+0x116
00000000`3863fc40 00000000`03417713 sqlservr!SOS_Scheduler::RunTask+0xcf
00000000`3863fcb0 00000000`033f6a30 sqlservr!SOS_Scheduler::ProcessTasks+0x1c3
00000000`3863fd10 00000000`033faed6 sqlservr!SchedulerManager::WorkerEntryPoint+0x1f0
00000000`3863fda0 00000000`03400f67 sqlservr!SystemThread::RunWorker+0xd6
00000000`3863fde0 00000000`034015b1 sqlservr!SystemThreadDispatcher::ProcessWorker+0x337
00000000`3863fe70 00000000`781337a7 sqlservr!SchedulerManager::ThreadEntryPoint+0x271
00000000`3863ff20 00000000`78133864 msvcr80!_callthreadstartex+0x17
00000000`3863ff50 00000000`77d6b69a msvcr80!_threadstartex+0x84
00000000`3863ff80 00000000`00000000 kernel32!BaseThreadStart+0x3a
Para obter mais informações sobre o esquema de atribuição de nomes para actualizações do Microsoft SQL Server, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
822499Novo 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:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft
Esta correcção também está incluída no pacote de actualização cumulativa (compilação 3161) para o SQL Server 2005 Service Pack 2. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na Microsoft Knowledge Base:
935356O pacote de actualização cumulativa (compilação 3161) para o SQL Server 2005 Service Pack 2 está disponível

Propriedades

Artigo: 934106 - Última revisão: 20 de novembro de 2007 - Revisão: 2.5
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL 2005 Server Enterprise
  • Microsoft SQL Server 2005 Standard Edition
  • 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 kbautohotfix kbsql2005repl kbfix kbexpertiseadvanced kbhotfixserver kbqfe kbpubtypekc KB934106 KbMtpt
Traduçã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: 934106

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com