valor stored salida retornar resueltos procedimientos procedimiento permisos parametros para mostrar fecha entrada ejercicios ejecutar datos con almacenados almacenado sql-server tsql stored-procedures ssis sql-merge

sql server - salida - Stored Procedure devuelve el error de cambio de la versión del esquema cuando se ejecuta desde SSIS, pero no cuando se ejecuta directamente



procedimiento almacenado sql server select (1)

Entonces, el problema es que estás usando un sinónimo para los objetos del servidor vinculado, que no funciona bien con el catálogo de metadatos de OLEDB (eso es lo que genera esos números que ves en el mensaje de error). Hay dos soluciones para esto:

1) Llamar

DBCC FREEPROCCACHE

en el servidor vinculado Dado que la base de datos se descarta todos los días, borrar la caché puede no ser una carga para otros usuarios de la base de datos.

2) Utilice la notación completa de cuatro partes (ServerName.DatabaseName.SchemaName.ObjectName) en su procedimiento almacenado.

Tengo un procedimiento almacenado de SQL Server que se ejecuta correctamente cada vez que se ejecuta manualmente con EXEC , pero cuando se ejecuta como parte de un paquete SSIS, falla con un error como este:

Executing the query "EXECUTE (ProcName) " failed with the following error: "The OLE DB provider "SQLNCLI10" for linked server "(OtherServer)" reported a change in schema version between compile time ("177833127975044") and run time ("177841717910098") for table (Server.Database.Schema.Table)".

El procedimiento es una instrucción MERGE que combina datos de una vista en una tabla en otra base de datos en el mismo servidor que el SP.

La vista se refiere al servidor vinculado OtherServer . La base de datos a la que se hace referencia en el servidor vinculado se descarta y vuelve a crear cada noche.

Hasta ahora, he intentado estas cosas:

1) Dejar caer y volver a crear la vista antes de ejecutar el MERGE.

2) Definir el SP que contiene el MERGE WITH RECOMPILE .

3) Envolver la instrucción MERGE en EXEC() para que no se compile por adelantado.

4) Configuración de Bypass Prepare a verdadero en el paso relevante en SSIS.

Editar :

El servidor con el procedimiento almacenado ejecuta SQL Server 2008. El servidor vinculado es 2008 R2.