REVISIÓN: Error 7359 cuando ejecuta una consulta contra una vista o una función definida por el usuario que utiliza un sinónimo en un servidor vinculado en SQL Server 2005, SQL Server 2008 o SQL Server 2008 R2

Se aplica a: Microsoft SQL Server 2005 Service Pack 3Microsoft SQL Server 2005 Service Pack 4Microsoft SQL Server 2008 Service Pack 2

Microsoft distribuye Microsoft SQL Server 2005, Microsoft SQL Server 2008 y Microsoft SQL Server 2008 R2 corrige 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 anterior SQL Server 2005, Microsoft SQL Server 2008 y SQL Server 2008 R2.La revisión que se describe en este artículo está disponible para las siguientes versiones de SQL Server:
  • Microsoft SQL Server 2005 Service Pack 3 (SP3)
  • Service Pack 4 (SP4) de Microsoft SQL Server 2005
  • Service Pack 1 (SP1) de Microsoft SQL Server 2008
  • Service Pack 2 (SP2) de Microsoft SQL Server 2008

Síntomas


Imagine la siguiente situación:
  • Crear un servidor vinculado en un equipo que está ejecutando Microsoft SQL Server 2005, Microsoft SQL Server 2008 o Microsoft SQL Server 2008 R2. Los puntos de servidor vinculado a un origen de datos OLE DB en un servidor remoto.
  • Crear un sinónimo para una tabla del servidor vinculado.
  • Crear una función definida por el usuario que utiliza el sinónimo o crear una vista que utiliza el sinónimo. A continuación, se ejecuta una consulta contra la vista o la función definida por el usuario.Nota: Cuando ejecuta la consulta, se almacena en caché un plan de ejecución.
  • Realiza una operación en un servidor remoto para actualizar la versión de esquema de la tabla del servidor vinculado. Por ejemplo, reconstruir el índice de la tabla en el servidor remoto para actualizar la versión de esquema de la tabla del servidor vinculado.
  • Ejecutar otra consulta contra la vista o la función definida por el usuario.
En esta situación, recibe un mensaje de error similar al siguiente:
Servidor: Msg 7359, nivel Número de nivel, estado de Número de estado, línea Número de líneadel proveedor OLE DB "nombre del proveedor" para el servidor vinculado "nombre del servidor vinculado" informó un cambio en la versión de esquema entre (" de tiempo de compilación Tiempo de compilación") y ("Run Time") de tiempo de ejecución para la tabla"nombre de la tabla vinculada".
Nota: Nombre del proveedor es un marcador de posición que representa el nombre del proveedor OLE DB. Nombre de la tabla vinculada es un marcador de posición que representa el nombre de la tabla que está en el servidor vinculado.

Causa


Este problema se produce porque el plan de ejecución existente no desactivado correctamente. Esto hace que la versión del esquema cambiar, porque la vista o la función definida por el usuario se vuelve a compilar cuando se ejecuta la segunda consulta. Por lo tanto, se produce el error.

Solución


Información sobre la actualización acumulativa

Service Pack 1 de SQL Server 2008 R2

La corrección para este problema se publicó primero en la actualización acumulativa 1 para SQL Server 2008 R2 Service Pack 1. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2544793 Paquete de actualización acumulativa 1 de SQL Server 2008 R2 Service Pack 1
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 R2. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2567616 Compilaciones de SQL Server 2008 R2 que se publicaron después del lanzamiento de SQL Server 2008 R2 Service Pack 1

SQL Server 2008 R2

La corrección para este problema en primer lugar se publicó en la actualización acumulativa 7. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 R2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2507770 Paquete de actualización acumulativa 7 para SQL Server 2008 R2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 R2. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
981356 Compilaciones de SQL Server 2008 R2 que se publicaron después del lanzamiento de SQL Server 2008 R2

Para SQL Server 2005 SP3

En primer lugar, la corrección para este problema se publicó en 15 de actualización acumulativa. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2005 SP3, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2507766 Paquete de actualización acumulativa 15 para SQL Server 2005 SP3
Nota: Como las compilaciones son acumulativas, cada versión de correcció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 SP3. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
960598 Compilaciones de SQL Server 2005 que se publicaron después del lanzamiento de SQL Server 2005 SP3

Para el SP4 de SQL Server 2005

En primer lugar, la corrección para este problema se publicó en actualización acumulativa 3. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para el Service Pack 4 de SQL Server 2005, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2507769 Paquete de actualización acumulativa 3 para SQL Server 2005 SP4
Nota: Como las compilaciones son acumulativas, cada versión de correcció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 SP4. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
937137 Compilaciones de SQL Server 2005 que se publicaron después del lanzamiento de Service Pack 4 de SQL Server 2005

Para SQL Server 2008 SP1

En primer lugar, la corrección para este problema se publicó en 13 de actualización acumulativa. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 SP1, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2497673 Paquete de actualización acumulativa 13 para SQL Server 2008 SP1
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 SP1. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
970365 Compilaciones de SQL Server 2008 que se publicaron después del lanzamiento de SQL Server 2008 SP1

Para el SP2 de SQL Server 2008

En primer lugar, la corrección para este problema se publicó en actualización acumulativa 3. Para obtener más información acerca de cómo obtener este paquete de actualización acumulativa para SQL Server 2008 Service Pack 2, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2498535 Paquete de actualización acumulativa 3 para SQL Server 2008 SP2
Nota: Como las compilaciones son acumulativas, cada versión de corrección nueva contiene todas las revisiones y revisión de todas las revisiones de seguridad que se incluyeron con la anterior de SQL Server 2008 SP2. Le recomendamos que considere aplicar la versión más reciente de revisión que contenga este hotfix. Si desea obtener más información, haga clic en el número de artículo siguiente para verlo en Microsoft Knowledge Base:
2402659 El de SQL Server 2008 generaciones que se publicaron después del lanzamiento de SQL Server 2008 SP2

Estado


Microsoft ha confirmado que se trata de un problema de los productos de Microsoft enumerados en la sección "Se aplica a".

Más información


Para obtener más información acerca de cómo utilizar Transact-SQL para crear un sinónimo, visite el siguiente sitio Web de Microsoft Developer Network (MSDN):