Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Свойства моментального снимка можно определять и изменять программно с помощью хранимых процедур репликации. Используемые хранимые процедуры зависят от категории публикации.
Настройка свойств моментального снимка при создании моментального снимка или публикации транзакций
На публикаторе выполните sp_addpublication. Укажите имя публикации для @publication, значение моментального снимка или непрерывного для @repl_freq, а также один или несколько следующих параметров, связанных с моментальным снимком:
@alt_snapshot_folder — укажите путь, если моментальный снимок для этой публикации доступен из этого расположения вместо папки моментального снимка по умолчанию или в дополнение к ней.
@compress_snapshot — укажите значение true , если файлы моментальных снимков в альтернативной папке моментальных снимков сжимаются в формате CAB-файла Майкрософт.
@pre_snapshot_script — укажите имя файла и полный путь к файлу .sql, который будет выполняться на подписчике во время инициализации перед применением первоначального моментального снимка.
@post_snapshot_script — укажите имя файла и полный путь к файлу .sql, который будет выполняться на подписчике после применения начального слепка при инициализации.
@snapshot_in_defaultfolder — укажите значение false , если моментальный снимок доступен только в расположении, отличном от по умолчанию.
Дополнительные сведения о создании публикаций см. в статье "Создание публикации".
Настройка свойств снимка при создании публикации типа "слияние"
На издателе выполните sp_addmergepublication. Укажите имя публикации для @publication, значение моментального снимка или непрерывного для @repl_freq, а также один или несколько следующих параметров, связанных с моментальным снимком:
@alt_snapshot_folder — укажите путь, если моментальный снимок для этой публикации доступен из этого расположения вместо папки моментального снимка по умолчанию или в дополнение к ней.
@compress_snapshot — укажите значение true , если файлы моментальных снимков в альтернативной папке моментальных снимков сжимаются в формате CAB-файла.
@pre_snapshot_script — укажите имя файла и полный путь к файлу .sql, который будет выполняться на узле-подписчике во время инициализации до применения исходного моментального снимка.
@post_snapshot_script — укажите имя файла и полный путь к файлу .sql, который будет выполняться для подписчика во время инициализации системы после применения начального снимка данных.
@snapshot_in_defaultfolder — укажите значение false , если моментальный снимок доступен только в расположении, отличном от по умолчанию.
Дополнительные сведения о создании публикаций см. в статье "Создание публикации".
Чтобы изменить свойства существующего моментального снимка или публикации транзакций
На издателе в базе данных публикации выполните sp_changepublication. Укажите значение 1 для @force_invalidate_snapshot и одно из следующих значений для @property:
alt_snapshot_folder -also укажите новый путь к альтернативной папке моментальных снимков для @value.
compress_snapshot — также укажите значение true или false для @value , чтобы указать, сжимаются ли файлы моментальных снимков в альтернативной папке моментальных снимков в формате CAB-файла.
pre_snapshot_script — также для @value укажите имя файла и полный путь к файлу .sql, который будет выполняться на стороне подписчика во время инициализации перед применением начального моментального снимка.
post_snapshot_script — также для @value укажите имя файла и полный путь к файлу .sql, который будет выполняться на узле-подписчике после применения начального снимка во время инициализации.
snapshot_in_defaultfolder — также укажите значение true или false , чтобы указать, доступен ли моментальный снимок только в расположении, отличном от по умолчанию.
(Необязательно) На сервере Издателя в базе данных публикации выполните команду sp_changepublication_snapshot. Укажите @publication и один или несколько измененных параметров планирования или учетных данных безопасности.
Это важно
По возможности предлагайте пользователям вводить учетные данные системы безопасности во время выполнения приложения. В случае необходимости хранения учетных данных в файле скрипта этот файл следует защищать во избежание несанкционированного доступа.
Запустите агент моментального снимка репликации из командной строки или начните задание агента моментального снимка, чтобы создать новый моментальный снимок. Дополнительные сведения см. в разделе Create and Apply the Initial Snapshot.
Изменить свойства снимка существующей публикации объединения
На публикаторе в базе данных публикации выполните sp_changemergepublication. Укажите значение 1 для @force_invalidate_snapshot и одно из следующих значений для @property:
alt_snapshot_folder -also укажите новый путь к альтернативной папке моментальных снимков для @value.
compress_snapshot — также укажите значение true или false для @value , чтобы указать, сжимаются ли файлы моментальных снимков в альтернативной папке моментальных снимков в формате CAB-файла.
pre_snapshot_script — также для @value укажите имя файла и полный путь к файлу .sql, который будет выполняться на Подписчике во время инициализации, до применения начального моментального снимка.
post_snapshot_script — также для @value укажите имя файла и полный путь к файлу .sql , который будет выполняться на подписчике во время инициализации после применения начального моментального снимка.
snapshot_in_defaultfolder — также укажите значение true или false , чтобы указать, доступен ли моментальный снимок только в расположении, отличном от по умолчанию.
Запустите агент создания моментального снимка репликации из командной строки или запустите задачу агента создания моментального снимка, чтобы создать новый моментальный снимок. Дополнительные сведения см. в разделе Create and Apply the Initial Snapshot.
Пример
В этом примере создается публикация, в которой используется альтернативная папка для моментального снимка и сжатый моментальный снимок.
-- 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
См. также
Альтернативные расположения папок моментальных снимков
Сжатые моментальные снимки
Выполнение скриптов до и после применения моментального снимка
Основные понятия хранимых процедур системы репликации
Передача моментальных снимков через FTP
Изменение свойств публикации и статьи