Esecuzione di script prima e dopo l'applicazione dello snapshot

È possibile specificare gli script da eseguire nel Sottoscrittore prima o dopo l'applicazione dello snapshot. È possibile utilizzare script per diversi scopi, ad esempio per creare account di accesso e schemi (proprietari di oggetti) in ogni Sottoscrittore.

Dopo avere specificato un percorso per ogni script, l'agente snapshot copia i file script nella cartella snapshot corrente ogni volta che viene eseguita l'elaborazione dello snapshot. Quando si applica uno snapshot, l'agente di distribuzione o l'agente di merge esegue lo script pre-snapshot prima di qualsiasi script degli oggetti replicati. L'agente di distribuzione o l'agente di merge esegue lo script post-snapshot dopo l'applicazione di tutti gli altri script degli oggetti replicati e dei dati. Al termine dell'applicazione dello snapshot e dell'esecuzione corretta dei file script, gli script vengono rimossi dalla directory di lavoro del Sottoscrittore.

Lo script viene eseguito avviando l'utilità sqlcmd. Prima di distribuire uno script, eseguirlo con sqlcmd per verificarne la corretta esecuzione in base a quanto previsto. È necessario che il contenuto degli script eseguiti prima e dopo l'applicazione dello snapshot sia ripetibile. Se, ad esempio, si crea una tabella nello script, è innanzitutto necessario verificarne l'esistenza e, in tal caso, eseguire le azioni appropriate. Lo script deve essere ripetibile perché, se è necessario reinizializzare una sottoscrizione per cui lo script è già stato applicato, lo script viene applicato nuovamente in corrispondenza dell'applicazione del nuovo snapshot in fase di reinizializzazione.

Se il file di snapshot viene compresso in formato Microsoft CAB, vengono compressi e inclusi nel file CAB anche gli script. Dopo il trasferimento e la decompressione del file di snapshot compresso in una directory di lavoro nel Sottoscrittore, vengono eseguiti tutti gli script indicati come pre-snapshot. In modo analogo, tutti gli script post-snapshot vengono decompressi ed eseguiti nel Sottoscrittore come ultimo passaggio dell'applicazione dello snapshot.

Nota importanteImportante

È possibile eseguire gli script quando si applica lo snapshot ai Sottoscrittori in cui è in esecuzione Microsoft SQL Server 7.0 se si utilizzano le sottoscrizioni push e nel server di distribuzione è in esecuzione SQL Server 2000 o versione successiva. Non è possibile eseguire gli script quando si applica lo snapshot ai Sottoscrittori in cui è in esecuzione SQL Server 7.0 se si utilizzano le sottoscrizioni pull.

Per eseguire gli script prima e dopo l'applicazione dello snapshot