Erstellen von Skripts für die ReplikationScripting Replication

Für die Replikationskomponenten in einer Topologie sollten im Rahmen des Plans zur Wiederherstellung im Notfall Skripts erstellt werden; diese können dann auch zur Automatisierung sich wiederholender Tasks verwendet werden.All replication components in a topology should be scripted as part of a disaster recovery plan, and scripts can also be used to automate repetitive tasks. Skripts enthalten die gespeicherten Transact-SQL-Systemprozeduren, die zum Implementieren der Replikationskomponenten im Skript, wie z. B. der Veröffentlichungen oder Abonnements, benötigt werden.A script contains the Transact-SQL system stored procedures necessary to implement the replication component(s) scripted, such as a publication or subscription. Skripts können nach dem Erstellen einer Komponente nicht mithilfe eines Assistenten (z. B. dem Assistenten für neue Veröffentlichung) oder in MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio erstellt werden.Scripts can be created in a wizard (such as the New Publication Wizard) or in MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio after you create a component. Sie können das Skript mithilfe von SQL Server Management StudioSQL Server Management Studio oder sqlcmdanzeigen, ändern oder ausführen.You can view, modify, and run the script using SQL Server Management StudioSQL Server Management Studio or sqlcmd. Skripts können mit Sicherungsdateien gespeichert und dann verwendet werden, wenn eine Replikationstopologie erneut konfiguriert werden muss.Scripts can be stored with backup files to be used in case a replication topology must be reconfigured.

Wenn die Eigenschaften einer Komponente geändert werden, muss das Skript für diese Komponente neu erstellt werden.A component should be re-scripted if any property changes are made. Wenn Sie bei einer Transaktionsreplikation benutzerdefinierte gespeicherte Prozeduren verwenden, sollte zusammen mit den Skripts eine Kopie aller dieser Prozeduren gespeichert werden. Nach Änderungen an der Prozedur sollte die Kopie dann aktualisiert werden (zu Prozedurupdates kommt es in der Regel nach Schemaänderungen oder wenn sich die Anwendungsanforderungen ändern).If you use custom stored procedures with transactional replication, a copy of each procedure should be stored with the scripts; the copy should be updated if the procedure changes (procedures are typically updated due to schema changes or changing application requirements). Weitere Informationen zu benutzerdefinierten Prozeduren finden Sie unter Angeben der Weitergabemethode für Änderungen bei Transaktionsartikeln.For more information about custom procedures, see Specify How Changes Are Propagated for Transactional Articles.

Bei Mergeveröffentlichungen, die parametrisierte Filter verwenden, enthalten Veröffentlichungsskripts die Aufrufe von gespeicherten Prozeduren zum Erstellen von Datenpartitionen.For merge publications that use parameterized filters, publication scripts contain the stored procedure calls to create data partitions. Die Skripts stellen einen Verweis für die erstellten Partitionen bereit und ermöglichen das erneute Erstellen von Partitionen, falls dies erforderlich wird.The script provides a reference for the partitions created and a way in which to re-create one or more partitions if necessary.

Beispiel für das Automatisieren einer Aufgabe durch SkriptsExample of Automating a Task with Scripts

Adventure Works CyclesAdventure Works Cyclesimplementiert die Mergereplikation, um Daten an die Außendienstmitarbeiter zu verteilen.Consider Adventure Works CyclesAdventure Works Cycles, which implements merge replication to distribute data to its remote sales force. Ein Vertriebsmitarbeiter lädt mithilfe von Pullabonnements alle Informationen zu den Kunden in seinem Vertriebsgebiet herunter.A sales representative downloads all the data that pertains to the customers in her territory using pull subscriptions. Im Offlinebetrieb kann er die Daten aktualisieren und neue Kunden und Bestellungen eingeben.When working offline, the sales representative updates data and enters new customers and orders. Da Adventure Works CyclesAdventure Works Cycles über mehr als 50 Vertriebsmitarbeiter in verschiedenen Gebieten verfügt, wäre das Erstellen der verschiedenen Abonnements auf den einzelnen Abonnenten mit dem Assistenten für neue Abonnements recht zeitaufwendig.Because Adventure Works CyclesAdventure Works Cycles has more than fifty sales representatives in different territories, it would be time-consuming to create the different subscriptions at each Subscriber with the New Subscription Wizard. Stattdessen kann der Replikationsadministrator die folgenden Schritte ausführen:Instead, the replication administrator can follow these steps:

  1. Einrichten der notwendigen Mergeveröffentlichungen mit Partitionen nach Vertriebsmitarbeiter oder VertriebsgebietSet up the necessary merge publications with partitions based on the sales representative or their territory.

  2. Erstellen eines Pullabonnements für einen AbonnentenCreate a pull subscription for one Subscriber.

  3. Generieren eines Skripts auf der Grundlage dieses PullabonnementsGenerate a script based on that pull subscription.

  4. Ändern des Skripts durch Ändern von Werten, wie z. B. des Namens des AbonnentenModify the script, changing such values as the name of the Subscriber.

  5. Ausführen des Skripts auf mehreren Abonnenten zum Generieren der erforderlichen PullabonnementsRun the script at multiple Subscribers to generate the required pull subscriptions.

SkriptreplikationsobjekteScript Replication Objects

Das Erstellen von Skripts für Replikationsobjekte ist über die Replikations-Assistenten bzw. den Ordner Replikation in MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studiomöglich.Script replication objects from the replication wizards or from the Replication folder in MicrosoftMicrosoft SQL Server Management StudioSQL Server Management Studio. Wenn Sie die Skripterstellung über die Assistenten vornehmen, können Sie entweder Objekte erstellen und Skripts für sie erstellen oder nur Skripts für sie erstellen.If you script from the wizards, you can choose to create objects and script them, or you can choose only to script them.

Wichtig

Bei der Erstellung von Skripts für Kennwörter wird stets NULL angegeben.All passwords are scripted as NULL. Benutzer sollten nach Möglichkeit dazu aufgefordert werden, Anmeldeinformationen zur Laufzeit anzugeben.When possible, prompt users to enter security credentials at runtime. Wenn Sie Anmeldeinformationen in einer Skriptdatei speichern, müssen Sie die Datei schützen, um unberechtigtem Zugriff vorzubeugen.If you store credentials in a script file, you must secure the file to prevent unauthorized access.

Weitere Informationen zum Verwenden der Replikations-Assistenten finden Sie hier:For more information about using the replication wizards, see:

So erstellen Sie ein Skript für ein Objekt vom Replikations-Assistenten ausTo script an object from a replication wizard

  1. Aktivieren Sie auf der Seite Aktionen des Assistenten das entsprechende Kontrollkästchen für den Assistenten:On the Wizard Actions page of a wizard, select the check box appropriate for the wizard:

    • Skriptdatei mit Schritten zur Veröffentlichungserstellung generierenGenerate a script file with steps to create a publication

    • Skriptdatei mit Schritten zur Abonnentenerstellung generierenGenerate a script file with steps to create the subscription(s)

    • Skriptdatei mit Schritten zur Verteilungskonfiguration generierenGenerate a script file with steps to configure distribution

  2. Geben Sie Optionen auf der Seite Skriptdatei an.Specify options on the Script File Properties page.

  3. Schließen Sie den Assistenten ab.Complete the wizard.

So erstellen Sie ein Skript für ein Objekt von Management Studio ausTo script an object from Management Studio

  1. Stellen Sie in Management StudioManagement Studioeine Verbindung mit dem Verteiler, Verleger oder Abonnenten her, und erweitern Sie dann den Serverknoten.Connect to the Distributor, Publisher, or Subscriber in Management StudioManagement Studio, and then expand the server node.

  2. Erweitern Sie den Ordner Replikation , und erweitern Sie dann den Ordner Lokale Veröffentlichungen oder Lokale Abonnements .Expand the Replication folder, and then expand the Local Publications folder or the Local Subscriptions folder.

  3. Klicken Sie mit der rechten Maustaste auf eine Veröffentlichung oder ein Abonnement, und klicken Sie dann auf Skripts generieren.Right-click a publication or subscription, and then click Generate Scripts.

  4. Geben Sie Optionen im Dialogfeld SQL-Skript generieren - <ReplicationObject> an.Specify options in the Generate SQL Script - <ReplicationObject> dialog box.

  5. Klicken Sie auf Skript in Datei schreiben.Click Script to File.

  6. Geben Sie im Dialogfeld Speicherort der Skriptdatei einen Dateinamen ein, und klicken Sie dann auf Speichern.Enter a file name in the Script File Location dialog box, and then click Save. Daraufhin wird eine Statusmeldung eingeblendet.A status message is displayed.

  7. Klicken Sie auf OKund dann auf Schließen.Click OK, and then click Close.

So erstellen Sie ein Skript für mehrere Objekte vom Management Studio ausTo script multiple objects from Management Studio

  1. Stellen Sie in Management StudioManagement Studioeine Verbindung mit dem Verteiler, Verleger oder Abonnenten her, und erweitern Sie dann den Serverknoten.Connect to the Distributor, Publisher, or Subscriber in Management StudioManagement Studio, and then expand the server node.

  2. Klicken Sie mit der rechten Maustaste auf den Ordner Replikation , und klicken Sie dann auf Skripts generieren.Right-click the Replication folder, and then click Generate Scripts.

  3. Geben Sie Optionen im Dialogfeld SQL-Skript generieren an.Specify options in the Generate SQL Script dialog box.

  4. Klicken Sie auf Skript in Datei schreiben.Click Script to File.

  5. Geben Sie im Dialogfeld Speicherort der Skriptdatei einen Dateinamen ein, und klicken Sie dann auf Speichern.Enter a file name in the Script File Location dialog box, and then click Save. Daraufhin wird eine Statusmeldung eingeblendet.A status message is displayed.

  6. Klicken Sie auf OK und dann auf Schließen.Click OK, and then click Close.