Você está offline; aguardando reconexão

CORRECÇÃO: xp_enumgroups gera uma violação de acesso quando passou um parâmetro de grandes

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 traduzido ou revisto por pessoas. A Microsoft possui artigos traduzidos por aplicações (MT) e artigos traduzidos por tradutores profissionais, com o objetivo de oferecer em português a totalidade dos artigos existentes na base de dados de suporte. No entanto, a tradução automática não é sempre perfeita, podendo conter erros de vocabulário, sintaxe ou gramática. A Microsoft não é responsável por incoerências, erros ou prejuízos ocorridos em decorrência da utilização dos artigos MT por parte dos nossos clientes. A Microsoft realiza atualizações freqüentes ao software de tradução automática (MT). Obrigado.

Clique aqui para ver a versão em Inglês deste artigo: 294338
Este artigo foi arquivado. É oferecido "como está" e não será mais atualizado.
BUG #: 351927 (SHILOH_BUGS)
Sintomas
xp_enumgroups fornece uma lista de grupos locais do Microsoft Windows NT ou uma lista de grupos globais definidos em um domínio Windows NT especificado, fornecida pelo parâmetro.

Se um parâmetro grande é passado para o procedimento xp_enumgroups armazenados, é gerada uma violação de acesso e termina a conexão com as mensagens de erro que seguem:
ODBC: Mensagem 0, nível 19, estado 1
SqlDumpExceptionHandler: Processo 53 gerou exceção fatal c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está encerrando esse processo.

ODBC: Mensagem 0, nível 20, estado 1
Função armazenada xp_enumgroups na biblioteca 'xplog70.dll' gerada uma violação de acesso. O SQL Server está encerrando o processo 53.

Conexão desfeito
Se o tamanho da seqüência passada como um parâmetro for muito maior a violação de acesso interrompe o serviço SQL Server. A mensagem de erro que ocorre é semelhante ao:
[Microsoft][ODBC SQL Server Driver][DBMSLPCN]ConnectionCheckForData (CheckforData()).
Servidor: Mensagem 11, nível 16, estado 1, linha 0
Erro geral de rede. Consulte a documentação de rede.
Resolução
Para resolver esse problema, obtenha o service pack mais recente para o SQL Server 2000. Para obter informações adicionais, clique no número abaixo para ler o artigo na Base de dados de Conhecimento da Microsoft:
290211INF: Como obter o Service Pack mais recente do SQL Server 2000
Situação
A Microsoft confirmou que este é um problema no SQL Server 2000. Esse problema foi corrigido primeiro no SQL Server 2000 Service Pack 1.
Mais Informações
Esse problema ocorre apenas se o tamanho da seqüência que é chamado pelo xp_enumgroups for maior do que 228 bytes. O texto exato da mensagem de erro pode variar dependendo o tamanho da cadeia de caracteres que está sendo passado.

Por exemplo, se a seqüência de caracteres for 229 bytes, exibe essa mensagem de erro:
Servidor: Mensagem 3624, 20 de nível, estado 1, procedimento xp_enumgroups, linha 1

Local: dbccdll.cpp:516
Expressão: pElem == pesquisa (pElem-> m_DLLName.m_str)
SPID: 51
Identificação do processo: 768

Conexão desfeito
etapas para reproduzir o problema

Você pode usar o seguinte para reproduzir o problema.

  • Para fazer com que uma violação de acesso ocorrer, use este código:
    xp_enumgroups 'Scanning directory [C:\*]Scanning directory [C:\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\*]Scanning directory [C:\cmdcons\*]Scanning directory [C:\*]'						
  • Para fazer com que uma violação de acesso ocorrer, e também o serviço do SQL Server pare de usar este código:
    xp_enumgroups 'Scanning directory [C:\*]Scanning directory [C:\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\*]Scanning directory [C:\cmdcons\*]Scanning directory [C:\*]Scanning directory [C:\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\APSETUP\*]Scanning directory [C:\*]Scanning directory [C:\cmdcons\*]Scanning directory [C:\*]'						

Aviso: este artigo foi traduzido automaticamente

Propriedades

ID do Artigo: 294338 - Última Revisão: 01/16/2015 22:08:45 - Revisão: 3.2

Microsoft SQL Server 2000 Standard Edition

  • kbnosurvey kbarchive kbmt kbbug kbfix kbsqlserv2000sp1fix KB294338 KbMtpt
Comentários