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

Traduções deste artigo Traduções deste artigo
ID do artigo: 294338 - Exibir os produtos aos quais esse artigo se aplica.
BUG #: 351927 (SHILOH_BUGS)
Expandir tudo | Recolher tudo

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:\*]'
    						

Propriedades

ID do artigo: 294338 - Última revisão: quinta-feira, 6 de novembro de 2003 - Revisão: 3.2
A informação contida neste artigo aplica-se a:
  • Microsoft SQL Server 2000 Standard Edition
Palavras-chave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB294338 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 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

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