Ausführen von Skripts vor und nach dem Anwenden des Snapshots

Sie können angeben, ob Skripts auf dem Abonnenten vor oder nach dem Anwenden des Snapshots ausgeführt werden. Skripts können für verschiedene Zecke verwendet werden, z. B. zum Erstellen von Anmeldungen und Schemas (Objektbesitzer) auf den einzelnen Abonnenten.

Sie geben einen Dateispeicherort für jedes Skript an, und der Snapshot-Agent kopiert jeweils bei der Verarbeitung des Snapshots die Skriptdateien in den aktuellen Snapshotordner. Der Verteilungs-Agent oder der Merge-Agent führt das Vor-Snapshot-Skript vor allen Skripts für replizierte Objekte aus, wenn ein Snapshot angewendet wird. Der Verteilungs-Agent oder der Merge-Agent führt das Nach-Snapshot-Skript nach dem Snapshot aus, nachdem alle anderen Skripts für replizierte Objekte und Daten angewendet wurden. Nachdem die Snapshotanwendung abgeschlossen ist und Skriptdateien erfolgreich ausgeführt wurden, werden die Skriptdateien aus dem Arbeitsverzeichnis auf dem Abonnenten entfernt.

Das Skript wird ausgeführt, indem das Dienstprogramm sqlcmd gestartet wird. Führen Sie das Skript vor der Bereitstellung mithilfe von sqlcmd aus, um sicherzustellen, dass es erwartungsgemäß ausgeführt wird. Der Inhalt von Skripts, die vor und nach dem Anwenden des Snapshots ausgeführt werden, muss wiederholbar sein. Wenn Sie z. B. eine Tabelle im Skript erstellen, müssen Sie zuerst ihr Vorhandensein überprüfen und daraufhin die entsprechende Aktion vornehmen. Das Skript muss wiederholbar sein, denn beim erneuten Initialisieren eines Abonnements, für das das Skript bereits angewendet wurde, wird das Skript erneut angewendet, wenn der neue Snapshot während der erneuten Initialisierung angewendet wird.

Falls Sie die Snapshotdatei komprimieren (indem sie in das CAB-Dateiformat von Microsoft kopiert wird), werden die Skripts ebenfalls komprimiert und in der CAB-Datei platziert. Nachdem die komprimierte Snapshotdatei zum Abonnenten übertragen und in ein Arbeitsverzeichnis auf dem Abonnenten dekomprimiert wurde, werden als Vor-Snapshot-Skripts gekennzeichnete Skripts ausgeführt. Genauso werden alle Nach-Snapshot-Skripts dekomprimiert und auf dem Abonnenten als letzter Schritt der Anwendung des Snapshots ausgeführt.

Wichtiger HinweisWichtig

Beim Anwenden des Snapshots auf Abonnenten mit Microsoft SQL Server 7.0 können Sie Skripts ausführen, falls Sie Pushabonnements verwenden und der Verteiler SQL Server 2000 ausführt. Sie können Skripts beim Anwenden des Snapshots auf Abonnenten mit SQL Server 7.0 nicht ausführen, falls Sie Pullabonnements verwenden.

So führen Sie Skripts vor und nach dem Anwenden des Snapshots aus