sp_addscriptexec (Transact-SQL)
Expone una secuencia de comandos SQL (archivo .sql) para todos los suscriptores de una publicación. Este procedimiento almacenado se ejecuta en el publicador de la base de datos de publicaciones.
Convenciones de sintaxis de Transact-SQL
Sintaxis
sp_addscriptexec [ @publication = ] publication
[ , [ @scriptfile = ] 'scriptfile' ]
[ , [ @skiperror = ] 'skiperror' ]
[ , [ @publisher = ] 'publisher' ]
Argumentos
- [ @publication= ] 'publication'
Es el nombre de la publicación. publication es de tipo sysname y no tiene ningún valor predeterminado.
- [ @scriptfile= ] 'scriptfile'
Es la ruta de acceso completa al archivo de secuencias de comandos SQL. scriptfile es de tipo nvarchar(4000) y no tiene ningún valor predeterminado.
[ @skiperror= ] 'skiperror'
Indica si el Agente de distribución o el Agente de mezcla se debe detener cuando se encuentra un error durante el procesamiento de las secuencias de comandos. SkipError es de tipo bit y su valor predeterminado es 0.0 = el agente se detiene.
1 = el agente continúa con la secuencia de comandos y omite el error.
[ @publisher= ] 'publisher'
Especifica un publicador que no es de Microsoft SQL Server. publisher es de tipo sysname y su valor predeterminado es NULL.[!NOTA] publisher no se puede utilizar al publicar desde un publicador de SQL Server.
Notas
sp_addscriptexec se utiliza en la réplica transaccional y de mezcla.
sp_addscriptexec no se utiliza para la réplica de instantáneas.
Para utilizar sp_addscriptexec, la cuenta del servicio SQL Server debe tener permisos de lectura y escritura en la ubicación de la instantánea y permisos de lectura en la ubicación en la que se almacenan las secuencias de comandos.
La utilidad sqlcmd se usa para ejecutar la secuencia de comandos en el suscriptor y la secuencia de comandos se ejecuta en el contexto de seguridad usado por el Agente de distribución o el Agente de mezcla al conectarse a la base de datos de suscripciones. Cuando se ejecuta el agente en una versión anterior de SQL Server, se usa la utilidad osql en lugar de sqlcmd.
sp_addscriptexec resulta muy útil para aplicar secuencias de comandos a suscriptores y usa sqlcmd para aplicar el contenido de la secuencia de comandos al suscriptor. No obstante, dado que las configuraciones del suscriptor pueden variar, las secuencias de comandos probadas antes de enviarlas al publicador también pueden generar errores en un suscriptor. skiperror ofrece la posibilidad de que el Agente de distribución o el Agente de mezcla omita los errores y continúe. Use sqlcmd para probar las secuencias de comandos antes de ejecutar sp_addscriptexec.
[!NOTA] Los errores omitidos se registran en el historial del agente como referencia.
Si se utiliza sp_addscriptexec para enviar un archivo de secuencias de comandos para las publicaciones, el uso de FTP para la entrega de instantáneas sólo se admite para los suscriptores de Microsoft SQL Server.
Permisos
Sólo los miembros de la función fija de servidor sysadmin o de la función fija de base de datos db_owner pueden ejecutar sp_addscriptexec.
Valores de código de retorno
0 (correcto) o 1 (error)
Vea también
Referencia
Procedimientos almacenados del sistema (Transact-SQL)
Otros recursos
How to: Execute Scripts During Synchronization (Replication Transact-SQL Programming)
Sincronizar datos