Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
Les propriétés d’instantané peuvent être définies et modifiées par programmation à l’aide de procédures stockées de réplication, où les procédures stockées utilisées dépendent du type de publication.
Pour configurer les propriétés d’instantané lors de la création d’un instantané ou d’une publication transactionnelle
Sur le serveur de publication, exécutez sp_addpublication. Spécifiez un nom de publication pour @publication, une valeur de capture instantanée ou continue pour @repl_freq, et un ou plusieurs des paramètres liés à l’instantané suivants :
@alt_snapshot_folder : spécifiez un chemin d’accès si l’instantané de cette publication est accessible à partir de cet emplacement au lieu ou en plus du dossier par défaut de l’instantané.
@compress_snapshot : spécifiez la valeur true si les fichiers d’instantanés du dossier d’instantanés de remplacement sont compressés au format de fichier CAB Microsoft.
@pre_snapshot_script : spécifiez le nom de fichier et le chemin d’accès complet d’un fichier .sql qui sera exécuté sur l’Abonné pendant l’initialisation avant l’application de l’instantané initial.
@post_snapshot_script : spécifiez le nom de fichier et le chemin d’accès complet d’un fichier .sql qui sera exécuté sur l’Abonné lors de l’initialisation après l’application de l’instantané initial.
@snapshot_in_defaultfolder : spécifiez la valeur false si l’instantané est disponible uniquement dans un emplacement non par défaut.
Pour plus d’informations sur la création de publications, consultez Créer une publication.
Pour configurer les paramètres d’instantané lorsqu’on crée une publication de fusion
Sur le serveur de publication, exécutez sp_addmergepublication. Spécifiez un nom de publication pour @publication, une valeur de capture instantanée ou continue pour @repl_freq, et un ou plusieurs des paramètres liés à l’instantané suivants :
@alt_snapshot_folder : spécifiez un chemin d’accès si l’instantané de cette publication est accessible à partir de cet emplacement au lieu ou en plus du dossier par défaut de l’instantané.
@compress_snapshot : spécifiez la valeur true si les fichiers d’instantanés du dossier d’instantanés secondaires sont compressés au format de fichier CAB.
@pre_snapshot_script : spécifiez le nom de fichier et le chemin d’accès complet d’un fichier .sql qui sera exécuté sur l’Abonné pendant l’initialisation avant l’application de l’instantané initial.
@post_snapshot_script : spécifiez le nom de fichier et le chemin d’accès complet d’un fichier .sql qui sera exécuté sur l’Abonné lors de l’initialisation après l’application de l’instantané initial.
@snapshot_in_defaultfolder : spécifiez la valeur false si l’instantané est disponible uniquement dans un emplacement non par défaut.
Pour plus d’informations sur la création de publications, consultez Créer une publication.
Pour modifier les propriétés d’un instantané existant ou publication transactionnelle
À l'éditeur dans la base de données de publication, exécutez sp_changepublication. Spécifiez la valeur 1 pour @force_invalidate_snapshot et l’une des valeurs suivantes pour @property :
alt_snapshot_folder -also spécifier un nouveau chemin d’accès au dossier d’instantanés de remplacement pour @value.
compress_snapshot : spécifiez également la valeur true ou false pour @value pour indiquer si les fichiers d’instantané dans le dossier d’instantanés de remplacement sont compressés au format de fichier CAB.
pre_snapshot_script - également pour @value spécifiez le nom de fichier et le chemin d’accès complet d’un fichier .sql qui sera exécuté sur l’Abonné pendant l’initialisation avant l’application de l’instantané initial.
post_snapshot_script - également pour @value spécifier le nom de fichier et le chemin complet d’un fichier .sql qui sera exécuté sur l’Abonné pendant l’initialisation après l’application de l’instantané initial.
snapshot_in_defaultfolder : spécifiez également une valeur true oufalse pour indiquer si l’instantané est disponible uniquement dans un emplacement non par défaut.
(Facultatif) Sur le serveur de publication sur la base de données de publication, exécutez sp_changepublication_snapshot. Spécifiez @publication et un ou plusieurs paramètres de planification ou d’informations d’identification de sécurité modifiés.
Important
Si possible, invitez les utilisateurs à entrer des informations d’identification de sécurité au moment de l’exécution. Si vous devez stocker des informations d’identification dans un fichier de script, vous devez sécuriser le fichier pour empêcher l’accès non autorisé.
Exécutez l’Agent d’instantané de réplication à partir de l’invite de commandes ou démarrez le travail de l’Agent d’instantané pour générer un nouvel instantané. Pour plus d’informations, consultez Créer et appliquer l’instantané initial.
Pour modifier les propriétés du snapshot d’une publication de fusion existante
Dans la base de données de publication du serveur de publication, exécutez sp_changemergepublication. Spécifiez la valeur 1 pour @force_invalidate_snapshot et l’une des valeurs suivantes pour @property :
alt_snapshot_folder -also spécifier un nouveau chemin d’accès au dossier d’instantanés alternatif pour @value.
compress_snapshot : spécifiez également la valeur true ou false pour @value pour indiquer si les fichiers d’instantané dans le dossier d’instantanés de remplacement sont compressés au format de fichier CAB.
pre_snapshot_script - également pour @value spécifiez le nom de fichier et le chemin d’accès complet d’un fichier .sql qui sera exécuté sur l’Abonné pendant l’initialisation avant l’application de l’instantané initial.
post_snapshot_script - également pour @value spécifier le nom de fichier et le chemin complet d’un fichier .sql qui sera exécuté sur l’Abonné pendant l’initialisation après l’application de l’instantané initial.
snapshot_in_defaultfolder : spécifiez également une valeur true oufalse pour indiquer si l’instantané est disponible uniquement dans un emplacement non par défaut.
Exécutez l’Agent d’instantané de réplication à partir de l’invite de commandes ou démarrez le travail de l’Agent d’instantané pour générer un nouvel instantané. Pour plus d’informations, consultez Créer et appliquer l’instantané initial.
Exemple :
Cet exemple crée une publication qui utilise un autre dossier d’instantanés et un instantané compressé.
-- 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'AdventureWorks2012';
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
Voir aussi
Autres emplacements de dossiers d’instantanés
Instantanés compressés
Exécuter des scripts avant et après l’application de l’instantané
Concepts liés aux procédures stockées système de réplication
Transférer des instantanés via FTP
Modifier les propriétés de publication et d’article