Ändern der Optionen für die Initialisierung von Momentaufnahmen für die SQL-Replikation

Gilt für:SQL ServerAzure SQL Managed Instance

Zum Initialisieren eines Abonnements mit einer Momentaufnahme stehen verschiedene Optionen zur Verfügung:

Angeben des Momentaufnahmeformats (SQL Server Management Studio)

Geben Sie das Momentaufnahmeformat auf der Seite "Momentaufnahme " des Dialogfelds "Publikationseigenschaften - <Publikation> " an. Weitere Informationen zum Zugreifen auf dieses Dialogfeld finden Sie unter View and Modify Publication Properties.

So geben Sie das Momentaufnahmeformat an

  1. Wählen Sie auf der Seite "Momentaufnahme" der Publikationseigenschaften <- Publikationsdialogfeld> native SQL Server - alle Abonnenten müssen Server sein, auf denen SQL Server oder Character ausgeführt wird – erforderlich, wenn ein Publisher oder Subscriber sql Server nicht ausführt.

    Hinweis

    Sie sollten das native Format auswählen, sofern diese Veröffentlichung keine Abonnements für eine SQL Server Compact-Datenbank und keine Nicht-SQL Server-Datenbank unterstützen muss.

  2. Klicken Sie auf OK.

Speicherorte für Momentaufnahmeordner

Standardspeicherort für Momentaufnahmen

Geben Sie den standardmäßigen Momentaufnahmespeicherort im Verteilungskonfigurations-Assistenten auf der Seite Snapshotordner an. Weitere Informationen zum Verwenden dieses Assistenten finden Sie unter Konfigurieren der Veröffentlichung und der Verteilung. Wenn Sie eine Veröffentlichung auf einem Server erstellen, der nicht als Verteiler konfiguriert ist, geben Sie im Assistenten für neue Veröffentlichung auf der Seite Momentaufnahmeordner einen standardmäßigen Momentaufnahmespeicherort an. Weitere Informationen zum Zugreifen auf diesen Assistenten finden Sie unter Erstellen einer Veröffentlichung.

Ändern Sie den Standardmomentaufnahmespeicherort auf der Seite "Herausgeber " des Dialogfelds "Händlereigenschaften - <Verteiler> ". Weitere Informationen finden Sie unter Anzeigen und Ändern der Verteiler- und Verlegereigenschaften. Legen Sie den Momentaufnahmeordner für jede Publikation im Dialogfeld Publikationseigenschaften - <Publikation> fest. Weitere Informationen finden Sie unter View and Modify Publication Properties.

So ändern Sie den standardmäßigen Momentaufnahmespeicherort

  1. Klicken Sie auf der Seite "Herausgeber" des Dialogfelds "Verteilereigenschaften <- Verteiler>" auf die Schaltfläche "Eigenschaften" (...), für den Sie den Standardspeicherort für Momentaufnahmen ändern möchten.

  2. Geben Sie im Dialogfeld Publisher-Eigenschaften <- Publisher> einen Wert für die Eigenschaft "Standardmomentaufnahmeordner" ein.

    Hinweis

    Der Momentaufnahme-Agent muss Schreibberechtigungen für das angegebene Verzeichnis und der Verteilungs-Agent oder Merge-Agent muss Leseberechtigungen besitzen. Wenn Pullabonnements verwendet werden, müssen Sie ein freigegebenes Verzeichnis als UNC-Pfad (Universal Naming Convention) angeben, z. B. \\computername\snapshot. Weitere Informationen finden Sie unter Schützen des Momentaufnahmeordners.

  3. Klicken Sie auf OK.

Alternative Momentaufnahmespeicherorte

Alternative Momentaufnahmespeicherorte ermöglichen Ihnen das Speichern von Momentaufnahmedateien an einem anderen Speicherort oder zusätzlich zum Standardspeicherort, der sich normalerweise auf dem Verteiler befindet. Alternative Speicherorte können sich auf einem anderen Server, in einem Netzlaufwerk oder auf Wechselmedien befinden, z. B. CD-ROMs oder Wechseldatenträgern.

Alternative Momentaufnahmespeicherorte werden als Eigenschaft der Veröffentlichung gespeichert. Da der alternative Momentaufnahmespeicherort eine Veröffentlichungseigenschaft ist, sind der Verteilungs-Agent und der Merge-Agent in der Lage, die ordnungsgemäße Momentaufnahme als Teil des Synchronisierungsprozesses zu finden.

Wenn Sie einen alternativen Speicherort für Momentaufnahmeordner angeben oder Momentaufnahmedateien komprimieren möchten, erstellen Sie die Veröffentlichung, ohne die AnfangsMomentaufnahme sofort zu erstellen, legen Sie die Veröffentlichungseigenschaften für den Momentaufnahmespeicherort fest, und führen Sie dann den Momentaufnahme-Agent für diese Veröffentlichung aus. Wenn Sie den alternativen Speicherort nach der Erstellung der Anfangsmomentaufnahme ändern, wird keiner der für die Veröffentlichung generierten Momentaufnahmen an den alternativen Speicherort verschoben. In diesem Fall ist der Merge-Agent bzw. Verteilungs-Agent möglicherweise nicht in der Lage, die Momentaufnahmedateien an dem neuen alternativen Speicherort ausfindig zu machen.

Hinweis

Geben Sie keinen alternativen Speicherort (mithilfe des Dialogfelds "Publikationseigenschaften " oder sp_changepublication (Transact-SQL)) an, der dem Standardspeicherort des Snapshotordners entspricht.

Achtung

Verwenden Sie WebSync und alternative Ordnerspeicherorte für Momentaufnahmen nicht gleichzeitig.

Verwenden Sie SQL Server Management Studio

  1. Auf der Seite "Momentaufnahme " des Dialogfelds "Publikationseigenschaften <- Publikation> ":

    1. Aktivieren Sie Dateien im folgenden Ordner speichern, und klicken Sie dann auf Durchsuchen , um ein Verzeichnis auszuwählen, oder geben Sie den Pfad zu dem Verzeichnis ein, in dem Sie die Momentaufnahmedateien speichern möchten.

      Hinweis

      Der Momentaufnahme-Agent muss Schreibberechtigungen für das angegebene Verzeichnis und der Verteilungs-Agent oder Merge-Agent muss Leseberechtigungen besitzen. Wenn Pullabonnements verwendet werden, müssen Sie ein freigegebenes Verzeichnis als UNC-Pfad (Universal Naming Convention) angeben, z. B. \\computername\snapshot. Weitere Informationen finden Sie unter Schützen des Momentaufnahmeordners.

    2. Deaktivieren Sie Dateien im Standardordner speichern , es sei denn Momentaufnahmedateien müssen in beide Speicherorte geschrieben werden.

    Zum Komprimieren von Momentaufnahmedateien aktivieren Sie Momentaufnahmedateien in diesem Ordner komprimieren. Die Komprimierung wird in der Regel für Verbindungen mit niedriger Bandbreite und für alternative Momentaufnahmespeicherorte auf Wechselmedien verwendet, z. B. einer CD-ROM.

  2. Klicken Sie auf OK.

Verwenden von Transact-SQL

Geben Sie beim Konfigurieren von Snapshot-Eigenschaften (Replikation Transact-SQL-Programmierung) den Wert für snapshot_in_defaultfolder als "false" an.

Komprimierte Momentaufnahmen

Das Komprimieren von Momentaufnahmedateien empfiehlt sich, wenn Sie Momentaufnahmen in einem langsamen Netzwerk übertragen, oder wenn Sie große Momentaufnahmen auf einem Wechseldatenträger speichern möchten, die sonst keinen Platz darauf hätten. Das Komprimieren von Momentaufnahmedateien ist in diesen Fällen zwar hilfreich, durch die Komprimierung dauert das Generieren und Anwenden der Momentaufnahme jedoch länger.

Komprimierte Snapshotdateien werden im Microsoft CAB-Dateiformat geschrieben, das Dateien mit 2 GB oder weniger komprimieren kann (wenn die Snapshotdateien größer als 2 GB sind, können sie nicht komprimiert werden). Dateien müssen zum Komprimieren in einen alternativen Momentaufnahmeordner geschrieben werden (in den Standardmomentaufnahmeordner geschriebene Dateien können nicht komprimiert werden).

Dateien werden dort dekomprimiert, wo der Verteilungs-Agent oder der Merge-Agent ausgeführt wird; in der Regel werden Pullabonnements mit komprimierten Momentaufnahme verwendet, sodass Dateien auf dem Abonnenten dekomprimiert werden. Wenn der Abonnent eine komprimierte Datei empfängt, wird die Datei zunächst an einem temporären Speicherort abgelegt. Nachdem die komprimierte Datei auf den Abonnenten kopiert wurde, werden die Momentaufnahmedateien in der Datei jeweils nacheinander vom CAB-Hilfsprogramm dekomprimiert. Der auf dem Abonnenten benötigte Speicherplatz entspricht der Größe der komprimierten Datei plus der größten dekomprimierten Datei.

Hinweis

Komprimierte Momentaufnahmen können in einigen Fällen die Leistung beim Übertragen der Momentaufnahmedateien im Netzwerk verbessern. Beim Komprimieren der Momentaufnahme fällt jedoch zusätzlicher Verarbeitungsaufwand für den Momentaufnahme-Agent an, wenn die Momentaufnahmedateien erstellt werden, sowie für den Verteilungs-Agent oder den Merge-Agent, wenn die Momentaufnahmedateien angewendet werden. Dies könnte das Erstellen von Momentaufnahmen verlangsamen und den Zeitaufwand für das Anwenden einer Momentaufnahme in manchen Fällen erhöhen. Darüber hinaus kann das Übertragen komprimierter Momentaufnahmen bei einem Netzwerkausfall nicht wieder aufgenommen werden, weshalb sie sich nicht für unzuverlässige Netzwerke eignen. Wägen Sie die Vor- und Nachteile sorgfältig ab, wenn Sie komprimierte Momentaufnahmen in einem Netzwerk verwenden.

Verwenden Sie SQL Server Management Studio

  1. Auf der Seite "Momentaufnahme " des Dialogfelds "Publikationseigenschaften <- Publikation> ":

    1. Aktivieren Sie Dateien im folgenden Ordner speichern, und klicken Sie dann auf Durchsuchen , um ein Verzeichnis auszuwählen, oder geben Sie den Pfad zu dem Verzeichnis ein, in dem Sie die Momentaufnahmedateien speichern möchten.

      Hinweis

      Der Momentaufnahme-Agent muss Schreibberechtigungen für das angegebene Verzeichnis und der Verteilungs-Agent oder Merge-Agent muss Leseberechtigungen besitzen. Wenn Pullabonnements verwendet werden, müssen Sie ein freigegebenes Verzeichnis als UNC-Pfad (Universal Naming Convention) angeben, z. B. \\computername\snapshot. Weitere Informationen finden Sie unter Sichern des Momentaufnahmeordners.

    2. Deaktivieren Sie Dateien im Standardordner speichern , es sei denn Momentaufnahmedateien müssen in beide Speicherorte geschrieben werden.

      Hinweis

      Wenn dieses Kontrollkästchen aktiviert ist, werden die im Standardordner gespeicherten Dateien nicht komprimiert. Komprimierte Dateien können nur im alternativen im vorigen Schritt angegebenen Speicherort gespeichert werden.

  2. Wählen Sie Momentaufnahmedateien in diesem Ordner komprimierenaus.

  3. Klicken Sie auf OK.

Verwenden von Transact-SQL

Wenn Sie Momentaufnahmeeigenschaften konfigurieren, geben Sie für den Wert compress_snapshotTRUE an.

Ausführen von Skripts vor und nach dem Anwenden der Momentaufnahme

Sie können angeben, ob Skripts auf dem Abonnenten vor oder nach dem Anwenden der Momentaufnahme ausgeführt werden. Skripts können für verschiedene Zwecke 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 Momentaufnahme-Agent kopiert jeweils bei der Verarbeitung der Momentaufnahme die Skriptdateien in den aktuellen Momentaufnahmeordner. Der Verteilungs-Agent oder der Merge-Agent führt das Vor-Momentaufnahme-Skript vor allen Skripts für replizierte Objekte aus, wenn eine Momentaufnahme angewendet wird. Der Verteilungs-Agent oder der Merge-Agent führt das Nach-Momentaufnahme-Skript nach der Momentaufnahme aus, nachdem alle anderen Skripts für replizierte Objekte und Daten angewendet wurden. Nachdem die Momentaufnahmeanwendung 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 Hilfsprogramm 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 der Momentaufnahme 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 die neue Momentaufnahme während der erneuten Initialisierung angewendet wird.

Wenn Sie die Momentaufnahmedatei komprimieren (indem Sie sie im Microsoft CAB-Dateiformat einfügen), werden die Skripts ebenfalls komprimiert und in der CAB-Datei platziert. Nachdem die komprimierte Momentaufnahmedatei zum Abonnenten übertragen und in ein Arbeitsverzeichnis auf dem Abonnenten dekomprimiert wurde, werden als Vor-Momentaufnahme-Skripts gekennzeichnete Skripts ausgeführt. Genauso werden alle Nach-Momentaufnahme-Skripts dekomprimiert und auf dem Abonnenten als letzter Schritt der Anwendung der Momentaufnahme ausgeführt.

Ausführen eines Skripts

  1. Auf der Seite "Momentaufnahme " des Dialogfelds "Publikationseigenschaften <- Publikation> ":
    • Wenn Sie ein Skript angeben möchten, das vor dem Anwenden der Momentaufnahme ausgeführt werden soll, klicken Sie auf Durchsuchen , um zum entsprechenden Skript zu navigieren, oder geben Sie im Textfeld Dieses Skript vor Anwenden der Momentaufnahme ausführen den Pfad zum gewünschten Skript ein.

      Hinweis

      Der Verteilungs-Agent bzw. Merge-Agent muss für das von Ihnen angegebene Verzeichnis Leseberechtigungen besitzen. Wenn Pullabonnements verwendet werden, müssen Sie ein freigegebenes Verzeichnis als UNC-Pfad (Universal Naming Convention) angeben, z. B. \\computername\scripts\myscript.sql.

    • Wenn Sie ein Skript angeben möchten, das nach dem Anwenden der Momentaufnahme ausgeführt werden soll, klicken Sie auf Durchsuchen , um zum entsprechenden Skript zu navigieren, oder geben Sie im Textfeld Dieses Skript nach Anwenden der Momentaufnahme ausführen den UNC-Pfad zum gewünschten Skript ein.

  2. Klicken Sie auf OK.

Weitere Informationen

Initialisieren eines Abonnements mit einer Momentaufnahme
Übermitteln einer Momentaufnahme über FTP
Konfigurieren von Momentaufnahmeeigenschaften (Replikationsprogrammierung mit Transact-SQL)