REVISIÓN: Llamada de procedimiento almacenado remoto en el procedimiento almacenado local al pasar el parámetro de texto hace que va

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

En esta página

Síntomas

Llamar a un procedimiento almacenado remoto dentro de un procedimiento almacenado local al pasar un parámetro de texto, puede causar una infracción de acceso (AV) en el servidor local.

Este problema se ha limitado a las condiciones siguientes:
  • En el servidor de destino hay en contacto con un procedimiento almacenado que acepta un parámetro de texto (o NTEXT).
  • En el servidor de origen, hay en contacto con un procedimiento almacenado local que llama al procedimiento remoto almacenado en el servidor de destino por nombre completo al pasar un parámetro de texto (o NTEXT).

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

Solución

Modifique el campo texto (o NTEXT) directamente, en lugar de llamadas de procedimiento almacenado.

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

Pasos para reproducir este comportamiento

Los pasos siguientes reproducir el problema en generación 8.00.194 de SQL Server 2000:
  1. En el servidor de origen, cree un servidor vinculado para el servidor de destino.
  2. Conéctese al servidor de origen mediante el Analizador de consultas y ejecute la siguiente consulta:
    use pubs
    go
    
    CREATE procedure sp_local
    @ptxtText TEXT
    as
    exec destination_servername here.pubs.dbo.sp_remote  @ptxtText
    GO
    					
  3. En el servidor de destino, cree un procedimiento almacenado como sigue:
    use pubs
    go
    
    create procedure sp_remote
    @ptxtTest TEXT
    as
    go
    					
  4. Ejecutar la consulta siguiente en el servidor de origen:
    sp_local 'mytest'
    					
    se produce una infracción de acceso en el servidor de origen.
-------------------------------------------------------------------------------
Short Stack Dump
00000000 Module(sqlservr+FFC00000)
006D6FF9 Module(sqlservr+002D6FF9) (CXVariant::ClearDeep(void)+00000047)
0040A849 Module(sqlservr+0000A849) (CXVariant::Clear(void)+0000000D)
006134D6 Module(sqlservr+002134D6)(CExecParamTbl::ResetTextParams(void)+00000046)
0079726F Module(sqlservr+0039726F) (CRuleCollection::LoadRules(class IMemObj *)+00004B19)
-------------------------------------------------------------------------------
				

Propiedades

Id. de artículo: 299366 - Última revisión: miércoles, 05 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 KB299366 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): 299366

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