REVISIÓN: Mensaje de Error cuando ejecuta una función definida por el usuario en SQL Server 2005: "parámetro de longitud no válido se pasa a la función de SUBCADENA" o "se produjo un error de nivel de transporte al recibir los resultados del servidor"

Nº de error: 1209 (revisión SQL)
Nº de error: 443526 (SQLBUDT)
Nº de error: 1209 (revisión SQL)BUG #: 443526 (SQL BU seguimiento de defectos)Nº de error: 61538 (Mantenimiento de contenido)
Microsoft distribuye correcciones de Microsoft SQL Server 2005 como un archivo descargable. Como las revisiones son acumulativas, cada versión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la versión anterior de SQL Server 2005.
Este artículo describe lo siguiente acerca de esta versión de hotfix:
  • Los problemas que se corrigen en este paquete de hotfix
  • Los requisitos previos para instalar el paquete de hotfix
  • Información acerca de si debe reiniciar el equipo después de instalar el paquete de hotfix
  • Información sobre si el paquete de revisiones queda reemplazado por otro paquete de hotfix
  • Información acerca de si debe hacer cambios en el registro
  • Los archivos que están contenidos en el paquete de hotfix

Síntomas

Cuando se ejecuta una función definida por el usuario en SQL Server 2005, recibirá un mensaje de error. Este problema se produce si ejecuta la instrucción siguiente antes de ejecutar la función definida por el usuario:
SET FMTONLY ON
Recibe un mensaje de error diferente, dependiendo de la versión de SQL Server 2005 que se ha instalado. Si utiliza SQL Server 2005 Service Pack 1 (SP1), también puede experimentar otros problemas.

La versión original de SQL Server 2005

Cuando se ejecuta la función definida por el usuario en la versión original de SQL Server 2005, recibirá el siguiente mensaje de error.
Msj 536, nivel 16, estado 5, línea 4
Parámetro de longitud no válido se pasa a la función SUBSTRING.

SQL Server 2005 SP1

Cuando se ejecuta la función definida por el usuario en SQL Server 2005 SP1, experimenta los problemas siguientes:
  • Recibe el mensaje de error siguiente:
    Msj 109, nivel 20, estado 0, línea 0
    Ha producido un error de nivel de transporte al recibir los resultados del servidor. (proveedor: proveedor de memoria, error compartidos: 0 - se ha terminado la canalización.)
  • Detiene el servicio SQL Server.
  • La infracción de acceso siguiente se registra en el archivo de registro de errores de SQL Server:
    SqlDumpExceptionHandler: Proceso 53 generó la excepción fatal c0000005 EXCEPTION_ACCESS_VIOLATION. SQL Server está finalizando este proceso.

Solución

Información del Service pack

Para resolver este problema, obtenga el service pack más reciente para SQL Server 2005. Para obtener más información, haga clic en el siguiente número de artículo para verlo en Microsoft Knowledge Base:
913089 cómo obtener el service pack más reciente para SQL Server 2005

Información de la revisión

Existe un hotfix disponible desde Microsoft. Sin embargo, esta revisión se diseñó para corregir únicamente el problema que se describe en este artículo. Aplíquela sólo a sistemas que experimenten este problema específico. Esta revisión podría ser sometida a comprobaciones adicionales. Por lo tanto, si no se ve muy afectado por este problema, recomendamos que espere a la próxima actualización de software que contenga este hotfix.

Si la revisión está disponible para su descarga, hay una sección de "Descarga de revisión disponible" en la parte superior de este artículo de Knowledge Base. Si esta sección no aparece, póngase en contacto con el servicio al cliente de Microsoft y soporte técnico para obtener la revisión.

Nota: Si se producen problemas adicionales o si se requiere cualquier otra solución, será necesario crear una solicitud de revisión independiente. Los costos habituales de soporte se aplicarán a las preguntas de soporte técnico adicionales y problemas que no califican para esta revisión específica. Para obtener una lista completa de los números de teléfono de servicio al cliente de Microsoft o para crear una solicitud de servicio independiente, visite el siguiente sitio Web de Microsoft:Nota: El formulario de "Descarga de Hotfix disponible" muestra los idiomas para los que el Hotfix está disponible. Si no ve su idioma, es porque no hay una revisión para ese idioma.

Requisitos previos

Debe tener SQL Server 2005 Service Pack 1 (SP1) instalado para poder aplicar este hotfix.

Para obtener más información acerca de cómo obtener SQL Server 2005 Service Pack 1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

913089 cómo obtener el service pack más reciente para SQL Server 2005

Información de reinicio

Tendrá que reiniciar el servicio de SQL Server después de aplicar este hotfix.

Información del registro

No es necesario cambiar el registro.

Información de archivo de hotfix

Este hotfix contiene sólo los archivos necesarios para corregir los problemas que se enumera en este artículo. Este hotfix no puede contener de todos los archivos que debe tener para actualizar plenamente un producto a la compilación más reciente.

La versión en inglés de esta revisión tiene los atributos de archivo (o atributos del archivo más reciente) mostrados en la tabla siguiente. Las fechas y horas de estos archivos se muestran en la hora Universal coordinada (UTC). Al ver la información del archivo, se convierte en hora local. Para encontrar la diferencia entre la hora UTC y la hora local, utilice la ficha zona horaria en el elemento de fecha y hora del Panel de Control.
Nombre del archivoVersión del archivoTamaño de archivoFechaHoraPlataforma
Hauresourcedb.ldfNo aplicable524.28817-Aug-200610:39No aplicable
Hauresourcedb.mdfNo aplicable39,911,42417-Aug-200610:39No aplicable
Logread.exe2005.90.2183.0398,11217-Aug-200614:13x86
Microsoft.analysisservices.adomdclient.dll9.0.2183.0543,52017-Aug-200614:13x86
Microsoft.analysisservices.deployengine.dll9.0.2183.0138,01617-Aug-200614:12x86
Microsoft.analysisservices.dll9.0.2183.01,215,26417-Aug-200614:13x86
Microsoft.sqlserver.mgdsqldumper.dll2005.90.2183.075,55217-Aug-200614:11x86
Microsoft.sqlserver.sqlenum.dll9.0.2183.0908,06417-Aug-200614:13x86
Msgprox.dll2005.90.2183.0197,92017-Aug-200614:11x86
Msmdlocal.dll9.0.2183.015,703,84017-Aug-200614:13x86
Msmdredir.dll9.0.2183.03,968,80017-Aug-200614:14x86
Replprov.dll2005.90.2183.0547,61617-Aug-200614:13x86
Replrec.dll2005.90.2183.0782,11217-Aug-200614:12x86
Sqlaccess.dll2005.90.2183.0347,93617-Aug-200614:13x86
Sqlagent90.exe2005.90.2183.0319,26417-Aug-200614:12x86
Sqlservr.exe2005.90.2183.028,959,06417-Aug-200614:13x86
Sysdbupg.sqlNo aplicable192,34619-Jul-200609:02No aplicable
Template_hauresourcedb.ldfNo aplicable524.28817-Aug-200610:39No aplicable
Template_hauresourcedb.mdfNo aplicable39,911,42417-Aug-200610:39No aplicable
Xpstar90.dll2005.90.2183.0292,64017-Aug-200614:16x86
Xpstar90.rll2005.90.2183.0152,86417-Aug-200614:12No aplicable

Solución alternativa

Para evitar este problema, cambie la configuración de SET FMTONLY OFF antes de ejecutar la función definida por el usuario.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft que se enumeran en la sección "Aplicable a". Este problema se corrigió primero en SQL Server 2005 Service Pack 2.

Más información

Para obtener más información acerca del esquema de nomenclatura para las actualizaciones de Microsoft SQL Server, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

Paquetes de actualización de 822499 nuevo esquema de nomenclatura para software de Microsoft SQL Server

Para obtener más información acerca de la terminología de la actualización de software, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:

824684 descripción de la terminología estándar que se utiliza para describir las actualizaciones de software de Microsoft

Información de volcado de pila

En SQL Server 2005 SP1, recibirá la siguiente información de volcado de pila:
2006-08-16 19:30:37.61 spid54      * Short Stack Dump2006-08-16 19:30:37.62 spid54      014718DE Module(sqlservr+004718DE)
2006-08-16 19:30:37.62 spid54 0108B032 Module(sqlservr+0008B032)
2006-08-16 19:30:37.62 spid54 0108B066 Module(sqlservr+0008B066)
2006-08-16 19:30:37.62 spid54 014680F2 Module(sqlservr+004680F2)
2006-08-16 19:30:37.62 spid54 01BDF9D2 Module(sqlservr+00BDF9D2)
2006-08-16 19:30:37.62 spid54 014688D5 Module(sqlservr+004688D5)
2006-08-16 19:30:37.62 spid54 01023E34 Module(sqlservr+00023E34)
2006-08-16 19:30:37.62 spid54 0136764A Module(sqlservr+0036764A)
2006-08-16 19:30:37.62 spid54 013674C1 Module(sqlservr+003674C1)
2006-08-16 19:30:37.62 spid54 01367356 Module(sqlservr+00367356)
2006-08-16 19:30:37.62 spid54 01BF2102 Module(sqlservr+00BF2102)
2006-08-16 19:30:37.62 spid54 01381DA5 Module(sqlservr+00381DA5)
2006-08-16 19:30:37.62 spid54 01023E34 Module(sqlservr+00023E34)
2006-08-16 19:30:37.62 spid54 01041DD5 Module(sqlservr+00041DD5)
2006-08-16 19:30:37.62 spid54 0103DFD4 Module(sqlservr+0003DFD4)
2006-08-16 19:30:37.62 spid54 01006A96 Module(sqlservr+00006A96)
2006-08-16 19:30:37.62 spid54 01006BBC Module(sqlservr+00006BBC)
2006-08-16 19:30:37.62 spid54 01006DAB Module(sqlservr+00006DAB)
2006-08-16 19:30:37.62 spid54 01447562 Module(sqlservr+00447562)
2006-08-16 19:30:37.62 spid54 0144859B Module(sqlservr+0044859B)
2006-08-16 19:30:37.62 spid54 0144789A Module(sqlservr+0044789A)
2006-08-16 19:30:37.64 spid54 01447720 Module(sqlservr+00447720)
2006-08-16 19:30:37.64 spid54 781329AA Module(MSVCR80+000029AA)
2006-08-16 19:30:37.65 spid54 78132A36 Module(MSVCR80+00002A36)

sqlservr!CMsqlXactImp::ClearAllUpdateSequenceMarkers+0x3b (CONV: thiscall)
sqlservr!CMsqlXactImp::RollbackInternal+0x3a (CONV: thiscall)
sqlservr!CMsqlXactImp::Rollback+0x31 (CONV: thiscall)
sqlservr!CAutoMsqlXact::RollbackNestedXact+0x1b (FPO: [0,0,0]) (CONV: thiscall)
sqlservr!CExecuteStatement::RollbackNestedXact+0x14 (FPO: [1,0,0]) (CONV: thiscall)
sqlservr!CExecuteStatement::FinishNormalImp+0x8c (CONV: thiscall)
sqlservr!CExecuteStatement::FinishOnExceptionImp+0x13 (CONV: thiscall)
sqlservr!CMsqlExecContext::FExecute+0x65c (CONV: thiscall)
sqlservr!CSQLSource::Execute+0x73b (CONV: thiscall)
sqlservr!process_request+0x2e3 (CONV: stdcall)
sqlservr!process_commands+0x2e0 (CONV: stdcall)
sqlservr!SOS_Task::Param::Execute+0xe2 (CONV: thiscall)
sqlservr!SOS_Scheduler::RunTask+0xb9 (CONV: thiscall)
sqlservr!SOS_Scheduler::ProcessTasks+0x141 (CONV: stdcall)
sqlservr!SchedulerManager::WorkerEntryPoint+0x1a8 (CONV: stdcall)
sqlservr!SystemThread::RunWorker+0x7f (CONV: thiscall)
sqlservr!SystemThreadDispatcher::ProcessWorker+0x225 (CONV: thiscall)
sqlservr!SchedulerManager::ThreadEntryPoint+0x143 (CONV: stdcall)
msvcr80!_callthreadstartex+0x1b (FPO: [Non-Fpo]) (CONV: cdecl)
msvcr80!_threadstartex+0x66 (FPO: [Non-Fpo]) (CONV: stdcall)

Propiedades

Id. de artículo: 924291 - Última revisión: 14 ene. 2017 - Revisión: 1

Microsoft SQL Server 2005 Standard Edition, Microsoft SQL Server 2005 Developer Edition, Microsoft SQL Server 2005 Workgroup Edition, Microsoft SQL Server 2005 Enterprise Edition

Comentarios