Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Gilt für:SQL Server
Azure SQL Managed Instance
Momentaufnahmeeigenschaften können mithilfe gespeicherter Replikationsprozeduren programmgesteuert definiert und geändert werden. Welche gespeicherten Prozeduren verwendet werden, hängt vom Typ der Veröffentlichung ab.
So konfigurieren Sie Momentaufnahmeeigenschaften beim Erstellen einer Momentaufnahme oder einer Transaktionsveröffentlichung
Führen Sie auf dem Publisher sp_addpublication aus. Geben Sie einen Namen der Veröffentlichung für
@publication, entweder den Wert snapshot oder continuous für@repl_freqsowie einen oder mehrere der folgenden Parameter für Momentaufnahmen ein:-
@alt_snapshot_folder- Geben Sie einen Pfad an, wenn auf den Snapshot für diese Veröffentlichung von diesem Speicherort aus anstelle des Standardordners für Snapshots oder zusätzlich dazu zugegriffen wird. -
@compress_snapshot: Geben Sie den Wert true an, wenn die Momentaufnahmedateien im alternativen Momentaufnahmeordner im Microsoft CAB-Dateiformat komprimiert sind. -
@pre_snapshot_script- Geben Sie den Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, bevor der Anfangssnapshot übernommen wird. -
@post_snapshot_script: Geben Sie den Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, nachdem die Anfangsmomentaufnahme angewendet wurde. -
@snapshot_in_defaultfolder- Geben Sie den Wert false an, wenn die Momentaufnahme nur an einem anderen als dem Standardspeicherort verfügbar ist.
Weitere Informationen zum Erstellen von Veröffentlichungen finden Sie unter Create a Publication.
-
So konfigurieren Sie Momentaufnahmeeigenschaften beim Erstellen einer Mergeveröffentlichung
Führen Sie beim Publisher sp_addmergepublication aus. Geben Sie einen Veröffentlichungsnamen für
@publication, den Wert snapshot oder continuous für@repl_freqund einen oder mehrere der folgenden snapshot-bezogenen Parameter ein:- alt_snapshot_folder - Geben Sie einen Pfad an, wenn der Snapshot für diese Veröffentlichung von diesem Speicherort anstelle des Standardordners für Snapshots oder zusätzlich dazu abgerufen wird.
-
@compress_snapshot: Geben Sie den Wert true an, wenn die Momentaufnahmedateien im alternativen Momentaufnahmeordner im CAB-Dateiformat komprimiert sind. -
@pre_snapshot_script- Geben Sie den Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, bevor der erste Snapshot übernommen wird. -
@post_snapshot_script: Geben Sie den Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, nachdem die Anfangsmomentaufnahme angewendet wurde. -
@snapshot_in_defaultfolder- Geben Sie den Wert false an, wenn die Momentaufnahme nur an einem anderen als dem Standardspeicherort verfügbar ist.
Weitere Informationen zum Erstellen von Veröffentlichungen finden Sie unter Create a Publication.
So ändern Sie die Momentaufnahmeeigenschaften einer bestehenden Momentaufnahme- oder Transaktionsveröffentlichung
Führen Sie beim Verleger in der Veröffentlichungsdatenbank sp_changepublication aus. Geben Sie einen Wert 1 für
@force_invalidate_snapshotund einen der folgenden Werte für@propertyan:-
alt_snapshot_folder: Geben Sie außerdem einen neuen Pfad zum alternativen Momentaufnahmeordner für
@valuean. -
compress_snapshot: Geben Sie außerdem entweder true oder false für
@valuean, um zu definieren, ob die Momentaufnahmedateien im alternativen Momentaufnahmeordner im CAB-Dateiformat komprimiert sind. -
pre_snapshot_script: Geben Sie außerdem für
@valueden Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, bevor die Anfangsmomentaufnahme angewendet wird. -
post_snapshot_script: Geben Sie außerdem für
@valueden Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, nachdem die Anfangsmomentaufnahme angewendet wurde. - snapshot_in_defaultfolder – geben Sie außerdem den Wert true oder false an, um anzugeben, ob der Snapshot nur an einem Nicht-Standard-Speicherort verfügbar ist.
-
alt_snapshot_folder: Geben Sie außerdem einen neuen Pfad zum alternativen Momentaufnahmeordner für
(Optional) Führen Sie beim Verleger in der Veröffentlichungsdatenbank sp_changepublication_snapshot aus. Geben Sie
@publicationund einen oder mehrere der zu ändernden Parameter für die Zeitplanung oder Sicherheitsanmeldeinformationen an.Wichtig
Fordern Sie Benutzer nach Möglichkeit auf, Sicherheitsanmeldeinformationen zur Laufzeit einzugeben. Wenn Anmeldeinformationen in einer Skriptdatei gespeichert werden müssen, muss die Datei an einem sicheren Ort gespeichert werden, um unberechtigten Zugriff zu vermeiden.
Führen Sie den Replication Momentaufnahmen-Agent über die Eingabeaufforderung aus, oder starten Sie den Auftrag des Momentaufnahmen-Agents, um eine neue Momentaufnahme zu generieren. Weitere Informationen finden Sie unter Create and Apply the Initial Snapshot.
So ändern Sie die Momentaufnahmeeigenschaften einer bestehenden Mergeveröffentlichung
Führen Sie auf dem Verleger für die Veröffentlichungsdatenbank sp_changemergepublicationaus. Geben Sie einen Wert 1 für
@force_invalidate_snapshotund einen der folgenden Werte für@property**an:-
alt_snapshot_folder: Geben Sie außerdem einen neuen Pfad zum alternativen Momentaufnahmeordner für
@valuean. -
compress_snapshot: Geben Sie außerdem entweder true oder false für
@valuean, um zu definieren, ob die Momentaufnahmedateien im alternativen Momentaufnahmeordner im CAB-Dateiformat komprimiert sind. -
pre_snapshot_script: Geben Sie außerdem für
@valueden Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, bevor die Anfangsmomentaufnahme angewendet wird. -
post_snapshot_script: Geben Sie außerdem für
@valueden Dateinamen und den vollständigen Pfad einer .sql-Datei an, die während der Initialisierung auf dem Abonnenten ausgeführt wird, nachdem die Anfangsmomentaufnahme angewendet wurde. - snapshot_in_defaultfolder – geben Sie außerdem den Wert true oder false an, um anzugeben, ob die Momentaufnahme nur an einem Nicht-Standard-Speicherort verfügbar ist.
-
alt_snapshot_folder: Geben Sie außerdem einen neuen Pfad zum alternativen Momentaufnahmeordner für
Führen Sie den Replication Momentaufnahmen-Agent von der Eingabeaufforderung aus, oder starten Sie den Momentaufnahme-Agentauftrag, um eine neue Momentaufnahme zu erzeugen. Weitere Informationen finden Sie unter Create and Apply the Initial Snapshot.
Beispiel
In diesem Beispiel wird eine Publikation erstellt, die einen alternativen Snapshotordner und einen komprimierten Snapshot verwendet.
-- This script uses sqlcmd scripting variables. They are in the form
-- $(MyVariable). For information about how to use scripting variables
-- on the command line and in SQL Server Management Studio, see the
-- "Executing Replication Scripts" section in the topic
-- "Programming Replication Using System Stored Procedures".
--Declarations for adding a merge publication
DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @article AS sysname;
DECLARE @owner AS sysname;
DECLARE @snapshot_share AS sysname;
SET @publicationDB = N'AdventureWorks2022';
SET @publication = N'AdvWorksSalesOrdersMergeAltSnapshot';
SET @article = N'SpecialOffer';
SET @owner = N'Sales';
SET @snapshot_share = '\\' + $(InstanceName) + '\AltSnapshotFolder';
-- Enable merge replication on the publication database, using defaults.
USE master
EXEC sp_replicationdboption
@dbname = @publicationDB,
@optname=N'merge publish',
@value = N'true';
-- Create new merge publication with an alternate snapshot location.
USE [AdventureWorks]
EXEC sp_addmergepublication
-- required parameters
@publication = @publication,
@snapshot_in_defaultfolder = N'false',
@alt_snapshot_folder = @snapshot_share,
@compress_snapshot = N'true';
-- Create the snapshot job for the publication.
EXEC sp_addpublication_snapshot
@publication = @publication,
@job_login = $(Login),
@job_password = $(Password);
-- Add an article.
EXEC sp_addmergearticle
@publication = @publication,
@article = @article,
@source_object = @article,
@type = N'table',
@source_owner = @owner,
@destination_owner = @owner;
-- Start the snapshot job.
EXEC sp_startpublication_snapshot
@publication = @publication;
GO
Zugehöriger Inhalt
- Ändern der Optionen für die Initialisierung von Momentaufnahmen für die SQL-Replikation
- Skripte vor und nach dem Anwenden der Momentaufnahme ausführen
- Konzepte für gespeicherte Replikationssystem-Prozeduren
- Übermitteln einer Momentaufnahme über FTP
- Ändern von Veröffentlichungs- und Artikeleigenschaften