Ejecutar scripts antes y después de aplicar la instantánea

Puede especificar scripts que se ejecuten en el suscriptor antes o después de aplicar la instantánea. Los scripts pueden utilizarse por distintos motivos, por ejemplo, para crear inicios de sesión y esquemas (propietarios de objetos) en cada suscriptor.

Al especificar una ubicación de archivos para cada script, el Agente de instantáneas copia los archivos de scripts en la carpeta actual de instantáneas cada vez que se procesan instantáneas. El Agente de distribución o el Agente de mezcla ejecutan el script previo a la instantánea antes que cualquiera de los scripts de objetos replicados al aplicar una instantánea. El Agente de distribución o el Agente de mezcla ejecutan el script posterior a la instantánea después de aplicar todos los demás datos y scripts de objetos replicados. Después de completar la aplicación de instantáneas y de ejecutar correctamente los archivos de scripts, estos archivos se quitan del directorio de trabajo del suscriptor.

El script se ejecuta con la utilidad sqlcmd. Antes de implementar un script, ejecútelo con sqlcmd para asegurarse de que se ejecuta según lo previsto. El contenido de los scripts que se ejecutan antes y después de aplicar la instantánea debe ser repetible. Por ejemplo, si crea una tabla en el script, debe comprobar primero si ya existe y tomar las medidas apropiadas si no existe. El script debe ser repetible, porque si necesita reinicializar una suscripción en la que ya se aplicó el script, éste se volverá a aplicar cuando se aplique la nueva instantánea durante la reinicialización.

Si comprime el archivo de instantáneas en formato CAB de Microsoft, los scripts también se comprimen y se colocan en el archivo CAB. Después de que el archivo de instantáneas comprimido se transfiere al suscriptor y se descomprime en un directorio de trabajo del suscriptor, se ejecutan los scripts indicados como anteriores a la instantánea. De la misma manera, los scripts posteriores a la instantánea se descomprimen y se ejecutan en el suscriptor como el último paso para la aplicación de la instantánea.

Nota importanteImportante

Puede ejecutar scripts al aplicar la instantánea a los suscriptores con Microsoft SQL Server 7.0 si utiliza suscripciones de inserción y el distribuidor está ejecutando SQL Server 2000 o posterior. No se pueden ejecutar scripts al aplicar la instantánea a los suscriptores con SQL Server 7.0 si se utilizan suscripciones de extracción.

Para ejecutar los scripts antes y después de aplicar la instantánea