REVISIÓN: xp_enumgroups genera una infracción de acceso cuando se pasa un parámetro grande

Seleccione idioma Seleccione idioma
Id. de artículo: 294338 - Ver los productos a los que se aplica este artículo
Nº DE ERROR: 351927 (SHILOH_BUGS)
Expandir todo | Contraer todo

Síntomas

xp_enumgroups proporciona una lista de grupos locales de Microsoft Windows NT o una lista de grupos globales definidos en un dominio de Windows especificado, proporcionado por el parámetro.

Si un parámetro de gran se pasa al procedimiento xp_enumgroups almacenado, se genera una infracción de acceso y la conexión termina con los mensajes de error que siguen:
ODBC: Msg 0, nivel 19, estado 1
SqlDumpExceptionHandler: Proceso 53 generó la excepción fatal c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está finalizando este proceso.

ODBC: Msg 0, nivel 20, estado 1
Función almacenada 'xp_enumgroups' en la biblioteca 'xplog70.dll' genera una infracción de acceso. SQL Server está finalizando proceso 53.

Conexión interrumpida
Si el tamaño de la cadena pasada como parámetro es mucho mayor la infracción de acceso detiene el servicio de SQL Server. El mensaje de error que se produce es similar a:
[Microsoft][ODBC SQL Server Driver][DBMSLPCN]ConnectionCheckForData (CheckforData()).
Servidor: Msg 11, nivel 16, estado 1, línea 0
Error general de red. Compruebe su documentación de red.

Solución

Para resolver este problema, consiga el Service Pack más reciente para SQL Server 2000. Para obtener información adicional, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
290211INF: Cómo obtener el Service Pack más reciente de SQL Server 2000

Estado

Microsoft ha confirmado que este es un problema de SQL Server 2000. Este problema se corrigió por primera vez en SQL Server 2000 Service Pack 1.

Más información

Este problema sólo se produce si el tamaño de la cadena que se llama por xp_enumgroups es mayor que 228 bytes. El texto exacto de la mensaje de error puede variar de función en el tamaño de la cadena se pasa.

Por ejemplo, si la cadena es 229 bytes, se muestra este mensaje de error:
Servidor: Mensaje 3624, nivel 20, estado 1, procedimiento xp_enumgroups, 1

Ubicación: dbccdll.cpp:516
Expresión: pElem == búsqueda (pElem-> m_DLLName.m_str)
SPID: 51
ID. de proceso: 768

Conexión interrumpida
pasos para reproducir este comportamiento

Puede utilizar lo siguiente para reproducir el problema.

  • Para hacer que una infracción de acceso que se produzca, utilice 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 provocar una infracción de acceso a producirse y también el servicio SQL Server deje de utilizar 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:\*]'
    						

Propiedades

Id. de artículo: 294338 - Última revisión: jueves, 06 de noviembre de 2003 - Versión: 3.2
La información de este artículo se refiere a:
  • Microsoft SQL Server 2000 Standard Edition
Palabras clave: 
kbmt kbbug kbfix kbsqlserv2000sp1fix KB294338 KbMtes
Traducción automática
IMPORTANTE: Este artículo ha sido traducido por un software de traducción automática de Microsoft (http://support.microsoft.com/gp/mtdetails) en lugar de un traductor humano. Microsoft le ofrece artículos traducidos por un traductor humano y artículos traducidos automáticamente para que tenga acceso en su propio idioma a todos los artículos de nuestra base de conocimientos (Knowledge Base). Sin embargo, los artículos traducidos automáticamente pueden contener errores en el vocabulario, la sintaxis o la gramática, como los que un extranjero podría cometer al hablar el idioma. Microsoft no se hace responsable de cualquier imprecisión, error o daño ocasionado por una mala traducción del contenido o como consecuencia de su utilización por nuestros clientes. Microsoft suele actualizar el software de traducción frecuentemente.
Haga clic aquí para ver el artículo original (en inglés): 294338

Enviar comentarios

 

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