REVISIÓN: mensaje de error cuando el agente de distribución intenta aplicar la instantánea al suscriptor en SQL Server 2005: "debe declarar la variable escalar"@ variable""

Seleccione idioma Seleccione idioma
Id. de artículo: 936534 - Ver los productos a los que se aplica este artículo
Nº de error: 50001158 (revisión SQL)
Expandir todo | Contraer todo

En esta página

Síntomas

Tenga en cuenta la situación siguiente. Configurar una replicación transaccional en Microsoft SQL Server 2005. Crear la instantánea inicial correctamente en el publicador. En este escenario, cuando el agente de distribución intenta aplicar la instantánea al suscriptor, recibirá el siguiente mensaje de error:
Error: 137, gravedad: 15, estado: 2
Debe declarar la variable escalar "@ variable".
Este problema ocurre cuando se cumplen las condiciones siguientes:
  • La replicación transaccional contiene un artículo creado que se basa en una tabla que ha columnas calculadas.
  • La columna de clave principal se ordena después de que se ordenan las columnas calculadas.
  • De la tabla de sistema syscolumns , puede ver que el identificador de columna de la columna de clave principal es mayor que la columna de identificadores de las columnas calculadas.
  • La publicación utiliza procesamiento simultáneo de instantáneas.

Causa

El agente de distribución crea un procedimiento almacenado para insertar datos en el suscriptor. Sin embargo, el procedimiento almacenado tiene números de parámetro incorrecto.

Solución

Información de actualización acumulativa

La corrección para este problema se publicó por primera vez en actualización acumulativa 2. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2005 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
936305Paquete de actualización acumulativa 2 para SQL Server 2005 Service Pack 2
Nota Como las compilaciones son acumulativas, cada versión de revisión nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad incluidas en el anterior de SQL Server 2005. Microsoft recomienda que considere aplicar la versión de revisión más reciente que contenga este hotfix. Para obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
937137Compilaciones de SQL Server 2005 que se publicaron después del lanzamiento de SQL Server 2005 Service Pack 2
Las revisiones de Microsoft SQL Server 2005 se crean para los service Pack específicos de SQL Server. Debe aplicar una revisión de SQL Server 2005 Service Pack 2 a una instalación de SQL Server 2005 Service Pack 2. De forma predeterminada, cualquier revisión suministrada en un service pack se incluye en el siguiente service pack.

Solución

Para evitar este problema, utilice uno de los métodos siguientes:
  • Al crear la tabla subyacente del artículo, asegúrese de que se ordena la columna de clave principal antes de que se ordenan las columnas calculadas.
  • Utilizar procesamiento nativo de instantáneas o procesamiento de instantáneas de base de datos en lugar de procesamiento simultáneo de instantáneas.

Estado

Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "La información de este artículo se refiere a:".

Más información

Por ejemplo, este problema se produce cuando utiliza la instrucción siguiente para crear la tabla subyacente del artículo:
CREATE TABLE [dbo].[test](
	[col1] [char](10) NOT NULL,
	[col2] [char](10) NOT NULL,
	[col_1_2]  AS ([col1] + [col2]),
	[ID] [int] IDENTITY(1,1) NOT FOR REPLICATION PRIMARY KEY NOT NULL
)

Propiedades

Id. de artículo: 936534 - Última revisión: lunes, 20 de agosto de 2007 - Versión: 1.3
La información de este artículo se refiere a:
  • Microsoft SQL Server 2005 Standard Edition
  • Microsoft SQL Server 2005 Developer Edition
  • Microsoft SQL Server 2005 Enterprise Edition
  • Microsoft SQL Server 2005 Enterprise X64 Edition
  • Microsoft SQL Server 2005 Enterprise Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Standard X64 Edition
  • Microsoft SQL Server 2005 Standard Edition for Itanium Based Systems
  • Microsoft SQL Server 2005 Workgroup Edition
Palabras clave: 
kbmt kbfix kbsql2005repl kbexpertiseadvanced kbpubtypekc kbqfe KB936534 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): 936534

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