CORRECÇÃO: Não é possível destruir uma sessão que está a executar uma consulta um servidor ligado em SQL Server 2005 e no SQL Server 2008

Traduções de Artigos Traduções de Artigos
Artigo: 961237 - Ver produtos para os quais este artigo se aplica.
A Microsoft distribui Microsoft SQL Server 2005 ou Microsoft SQL Server 2008 corrige como um ficheiro transferível. Uma vez que as correcções são cumulativas, cada nova edição contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2005 ou Microsoft SQL Server 2008 anteriores corrigir lançamento.
Expandir tudo | Reduzir tudo

Nesta página

Sintomas

Sintoma 1

No Microsoft SQL Server 2005 ou no Microsoft SQL Server 2008, executar uma consulta num servidor ligado. Quando tenta terminar a sessão que está a executar a consulta, não é possível destruir a sessão. Além disso, o desempenho do SQL Server fica muito lento.

É gerado um ficheiro de mini cópia de informação na pasta de registo do SQL Server. If you query the sys.dm_os_waiting_tasks dynamic management view, you receive a result that resembles the following:
session_id request_id  ecid        blocking_session_id blocking_ecid task_state      wait_type      wait_duration_ms     
---------- ----------- ----------- ------------------- ------------- --------------- ------------------------------- 
        14        NULL        NULL                NULL             0 NULL                             0 
        20           0           0                   0             0 SUSPENDED       WRITELOG         1360 
        53           0           0                  58             0 SUSPENDED       LCK_M_S          31982080 
        55           0           0                   0             0 RUNNING                          0 
        58           0           0                   0             0 SUSPENDED       LOGBUFFER        1350 
        59           0           0                   0             0 SUSPENDED       LOGBUFFER        1350 
        60           0           0                   0             0 RUNNING                          0 
        61           0           0                   0             0 SUSPENDED       LOGBUFFER        1350 
        63           0           0                  14             0 SUSPENDED       LCK_M_X          76460 
        66           0           0                   0             0 SUSPENDED       LOGBUFFER        1350 
        68           0           0                   0             0 SUSPENDED       LOGBUFFER        1330 
        70           0           0                   0             0 RUNNING                          0 
        77           0           0                   0             0 SUSPENDED       LOGBUFFER        1350 
        84           0           0                   0             0 SUSPENDED       WRITELOG         1230 
        87           0           0                   0             0 SUSPENDED       WRITELOG         3970 
        88           0           0                   0             0 SUSPENDED       WRITELOG         1210 
Note You must restart the SQL Server service to resolve this issue.

Sintoma 2

Também poderá detectar SQLAgent memória crescimento tamanhos invulgares. Isto ocorre porque uma tarefa que agenda SQLAgent executa um procedimento armazenado num servidor ligado. O procedimento armazenado desencadeia um erro OLEDB. O texto do erro do OLEDB é enviado até SQLAgent e memória é continuamente atribuída para a mensagem de texto mas nunca desatribuída. Isto faz com que SQLAgent memória crescimento. O ciclo indefinate faz com que o grande número de atribuições de memória de SQLAgent.

Informações sobre a pilha de chamada

 # Child-SP          RetAddr           Call Site
00 00000000`1e29c548 00000000`77adccec ntdll!memcpy+0x314 
01 00000000`1e29c550 00000000`77adbed4 ntdll!RtlpReAllocateHeap+0x741 
02 00000000`1e29c800 00000000`73e62504 ntdll!RtlReAllocateHeap+0xa4 
03 00000000`1e29c910 00000000`73de8356 sqlncli10!XxMpHeapReAlloc+0xca 
04 00000000`1e29c950 00000000`73de82de sqlncli10!MpHeapReAlloc+0x44 
05 00000000`1e29c9e0 00000000`73de826e sqlncli10!MpReallocZeroMemory+0x69 
06 00000000`1e29ca10 00000000`73dfb015 sqlncli10!SQLReAllocateMemoryEx+0x2a 
07 00000000`1e29ca50 00000000`73df8b7b sqlncli10!PlAddNewIEx+0x8e 
08 00000000`1e29caa0 00000000`73df869b sqlncli10!SortErrors+0x6b 
09 00000000`1e29cae0 000007fe`f6448d44 sqlncli10!SQLGetDiagFieldW+0x2bc 
0a 00000000`1e29d180 000007fe`f64471b9 odbc32!DriverGetDiagField+0x124 
0b 00000000`1e29d200 00000000`743a253e odbc32!SQLGetDiagFieldW+0x471 
0c 00000000`1e29d750 00000000`7439d0d3 sqlsvc!GetInfoMessage+0x4e 
0d 00000000`1e29d7b0 00000000`7439fee2 sqlsvc!dbQSQLMessageHandler+0x3a3 
0e 00000000`1e2a1b50 00000000`0021c416 sqlsvc!QSQLExecDirectAsync+0x1a2 
0f 00000000`1e2a1bb0 00000000`0021bac7 SQLAGENT!DoSQL+0x316 
10 00000000`1e2a21a0 00000000`002339a3 SQLAGENT!ExecuteTSQL+0xd97 
11 00000000`1e2a6cd0 00000000`00231f8a SQLAGENT!StartStep+0x693 
12 00000000`1e2a77d0 00000000`00230daf SQLAGENT!DoStep+0x3ba 
13 00000000`1e2ac7a0 00000000`756437d7 SQLAGENT!JobManager+0xa6f

Causa

Quando tenta terminar a sessão que está a executar a consulta, ocorre uma excepção interna. SQL Server inicia a iteração num ciclo indefinido. Assim, não é possível destruir a sessão e o desempenho diminui.

Resolução

Informações sobre a actualização cumulativa para o SQL Server 2005 Service Pack 2

A correcção para este problema foi disponibilizada pela primeira vez na actualização cumulativa 12 para o SQL Server 2005 Service Pack 2. Para obter mais informações sobre este pacote de actualização cumulativa, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
96297012 De pacote de actualização cumulativa para o SQL Server 2005 Service Pack 2
Nota Uma vez que as compilações são cumulativas, cada nova versão da correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2005 anteriores corrigir lançamento. A Microsoft recomenda que considerem a aplicação pela mais recente versão de correcção que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
937137Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 2
Microsoft SQL Server 2005 são criadas correcções para service packs do SQL Server específicos. Tem de aplicar uma correcção 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.

Informações sobre a actualização cumulativa para o SQL Server 2005 Service Pack 3

A correcção deste problema primeiro foi disponibilizada em actualização cumulativa 3 para SQL Server 2005 Service Pack 3. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2005, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
967909Pacote de actualização cumulativa 3 para SQL Server 2005 Service Pack 3
Nota Uma vez que as compilações são cumulativas, cada nova versão da correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2005 anteriores corrigir lançamento. Recomendamos que considerem a aplicação pela mais recente versão de correcção que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
960598Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3

Informação de actualização cumulativa para a versão do SQL Server 2008

A correcção deste problema primeiro foi disponibilizada em 4 de actualização cumulativa. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
963036Pacote de actualização cumulativa 4 para o SQL Server 2008
Nota Uma vez que as compilações são cumulativas, cada nova versão da correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. Recomendamos que considerem a aplicação pela mais recente versão de correcção que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
956909O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008

Informação de actualização cumulativa para o SQL Server 2008 Service Pack 1

A correcção deste problema primeiro foi disponibilizada em acumulado de actualizações 1 para o SQL Server 2008 Service Pack 1. Para obter mais informações sobre como obter este pacote de actualização cumulativa para o SQL Server 2008, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
969099Pacote de actualização cumulativa 1 para o SQL Server 2008 Service Pack 1
Nota Uma vez que as compilações são cumulativas, cada nova versão da correcção contém todas as correcções e todas as correcções de segurança que foram incluídas com o SQL Server 2008 anteriores corrigir lançamento. Recomendamos que considerem a aplicação pela mais recente versão de correcção que contenha esta correcção. Para obter mais informações, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
970365O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1

Como contornar

Para resolver o sintoma 1, utilize uma expressão para a propriedade SQLStatementSource da tarefa executar SQL para especificar a instrução SELECT, utilizando a variável. Por exemplo, defina a seguinte expressão para a propriedade SQLStatementSource da tarefa executar SQL.
SELECT filed1 AS a FROM table1 WHERE filed1="+ @[User::variable1]
Para o sintoma 2, se SQLAgent memória invulgarmente elevado crescimento é visto, a causa do erro OLEDB principal também deve ser investigado e resolvido, bem como a aplicação da actualização cumulativa para o processo 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

Mais informações sobre o pacote de actualização cumulativa 12 para SQL Server 2005 Service Pack 2

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre qualquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção 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 base de dados de conhecimento da Microsoft:
96297012 De pacote de actualização cumulativa para o SQL Server 2005 Service Pack 2

Mais informações sobre o pacote de actualização cumulativa 3 para SQL Server 2005 Service Pack 3

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre qualquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção 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 base de dados de conhecimento da Microsoft:
967909Pacote de actualização cumulativa 3 para SQL Server 2005 Service Pack 3

Obter mais informações sobre o pacote de actualização cumulativa 4 para a versão do SQL Server 2008

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre qualquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção 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 base de dados de conhecimento da Microsoft:
963036Pacote de actualização cumulativa 4 para o SQL Server 2008

Mais informações sobre o pacote de actualização cumulativa 1 para o SQL Server 2008 Service Pack 1

Para obter mais informações sobre os ficheiros que são alterados e para obter informações sobre qualquer pré-requisitos para aplicar o pacote de actualização cumulativa que contém a correcção 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 base de dados de conhecimento da Microsoft:
969099Pacote de actualização cumulativa 1 para o SQL Server 2008 Service Pack 1

Informações sobre a pilha de chamada

0:053> kL30
Child-SP          Child-BSP         RetAddr           Call Site
00000000`46a3b320 00000000`46a41a78 00000000`77b99750 ntdll!RtlVirtualUnwind+0x100
00000000`46a3bc80 00000000`46a418f8 00000000`781a5900 ntdll!RtlUnwindEx+0x110
00000000`46a3c890 00000000`46a41870 00000000`781a2d40 msvcr80!_UnwindNestedFrames+0x2a0
00000000`46a3c970 00000000`46a41810 00000000`781a3950 msvcr80!CatchIt+0xe0
00000000`46a3c9d0 00000000`46a41730 00000000`781a41a0 msvcr80!FindHandler+0x710
00000000`46a3d480 00000000`46a416b8 00000000`781a4d90 msvcr80!__InternalCxxFrameHandler+0x4e0
00000000`46a3d480 00000000`46a41628 00000000`77c28860 msvcr80!__CxxFrameHandler3+0x370
00000000`46a3d4a0 00000000`46a41628 00000000`77b9a2d0 ntdll!RtlpExecuteEmHandlerForException+0x50
00000000`46a3d4c0 00000000`46a414a8 00000000`77b993a0 ntdll!RtlDispatchException+0x3f0
00000000`46a3e170 00000000`46a41450 00000000`77b99440 ntdll!RtlpRaiseException+0x120
00000000`46a3ec00 00000000`46a41438 00000000`76eb1d40 ntdll!RtlRaiseException+0x20
00000000`46a3ec00 00000000`46a413c8 00000000`781a5aa0 kernel32!GetDateFormatW+0x7a6d8
00000000`46a3eca0 00000000`46a41360 00000000`014f2d30 msvcr80!_CxxThrowException+0x160
00000000`46a3ecf0 00000000`46a412f0 00000000`014f3150 sqlservr!TurnUnwindAndThrowImpl+0x2f0
00000000`46a3ee50 00000000`46a411f0 00000000`014f37b0 sqlservr!ex_raise2+0x6b0
00000000`46a3f110 00000000`46a41190 00000000`038ee0e0 sqlservr!ex_raise+0xc0
00000000`46a3f150 00000000`46a41158 00000000`028bffa0 sqlservr!`anonymous namespace'::LogTdsProtocolError+0xd0
00000000`46a3f160 00000000`46a41138 00000000`0200eed0 sqlservr!`anonymous namespace'::RaiseErrorOnNestedStream+0x60
00000000`46a3f160 00000000`46a41088 00000000`01172180 sqlservr!CPostHydraTds::SendMsgImpl+0xe98100
00000000`46a3f1c0 00000000`46a41030 00000000`01172040 sqlservr!ODS_SENDFULLMSG+0x100
00000000`46a3f220 00000000`46a40fa0 00000000`011738b0 sqlservr!SendErrorToUser+0x1d0
00000000`46a3f290 00000000`46a40f20 00000000`01105a00 sqlservr!CErrorReportingManager::SendErrorToUser+0x260
00000000`46a3f320 00000000`46a40e10 00000000`0118a3d0 sqlservr!CErrorReportingManager::CwchFormatAndPrint+0x610
00000000`46a3f470 00000000`46a40dd8 00000000`0118a2f0 sqlservr!ex_vcallprint+0xb0
00000000`46a3f4b0 00000000`46a40d80 00000000`024cbfb0 sqlservr!ex_callprint+0xa0
00000000`46a3f4f0 00000000`46a40c90 00000000`02514e20 sqlservr!COledbError::FRelayErrorInfo+0x960
00000000`46a3f570 00000000`46a40c58 00000000`02f82030 sqlservr!COledbError::FPrintSQLServerError+0x190
00000000`46a3f5a0 00000000`46a40c10 00000000`0441b450 sqlservr!COledbError::GatherAndPrintMultipleResultsError+0x30
00000000`46a3f5b0 00000000`46a40b28 00000000`0164d160 sqlservr!CQScanRmtQueryNew::GetRow+0xad0
00000000`46a3f660 00000000`46a40a28 00000000`01768560 sqlservr!CQScanNLJoinTrivialNew::GetRow+0x1a90
00000000`46a3f690 00000000`46a40928 00000000`01333d30 sqlservr!CXStmtQuery::ErsqExecuteQuery+0xe50
00000000`46a3f760 00000000`46a407c8 00000000`0130ce40 sqlservr!CMsqlExecContext::ExecuteStmts<1,1>+0x19d0
00000000`46a3f870 00000000`46a406d0 00000000`0130ac70 sqlservr!CMsqlExecContext::FExecute+0x7c0
00000000`46a3f960 00000000`46a405f0 00000000`010fa300 sqlservr!CSQLSource::Execute+0x5f0
00000000`46a3fa10 00000000`46a404f8 00000000`010fa5c0 sqlservr!process_request+0x5c0
00000000`46a3fbe0 00000000`46a40478 00000000`0100e4b0 sqlservr!process_commands+0x6d0
00000000`46a3fdf0 00000000`46a40420 00000000`0100e210 sqlservr!SOS_Task::Param::Execute+0x1a0
00000000`46a3fe70 00000000`46a40378 00000000`0100dc30 sqlservr!SOS_Scheduler::RunTask+0x190
00000000`46a3fe90 00000000`46a402b0 00000000`01061ea0 sqlservr!SOS_Scheduler::ProcessTasks+0x170

Referências

Para obter mais informações sobre a lista de compilações disponíveis depois do SQL Server 2005 Service Pack 3, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
960598Cria o SQL Server 2005 que foram disponibilizadas após o lançamento do SQL Server 2005 Service Pack 3
Para obter mais informações sobre a lista de compilações disponíveis após o lançamento do SQL Server 2008 Service Pack 1, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
970365O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008 Service Pack 1
Para obter mais informações sobre a lista de compilações disponíveis após o lançamento do SQL Server 2008, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
956909O SQL Server 2008 cria disponibilizadas após o lançamento do SQL Server 2008
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 base de dados de conhecimento da Microsoft:
937137Cria 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 base de dados de conhecimento da Microsoft:
935897Um modelo de assistência incremental está disponível a partir de 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 base de dados de conhecimento da Microsoft:
913089Como obter o service pack mais recente para o SQL Server 2005
Para obter 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
Para obter mais informações sobre o esquema de atribuição de nomes para actualizações do SQL Server, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
822499Novo esquema de nomenclatura para pacotes de actualização de software do Microsoft SQL Server
Para obter mais informações sobre a terminologia de actualizações de software, clique no número de artigo que se segue para visualizar o artigo na base de dados de conhecimento da Microsoft:
824684Descrição da terminologia padrão utilizada para descrever actualizações de software da Microsoft

Propriedades

Artigo: 961237 - Última revisão: 13 de maio de 2010 - Revisão: 6.0
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
  • Microsoft SQL 2005 Server Workgroup
  • Microsoft SQL Server 2008 Workgroup
  • Microsoft SQL Server 2008 Web
  • Microsoft SQL Server 2008 Standard
  • Microsoft SQL Server 2008 Enterprise
Palavras-chave: 
kbmt kbsql2005engine kbsurveynew kbexpertiseadvanced kbqfe kbfix KB961237 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: 961237

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