Mengonfigurasi Properti Rekam Jepret (Pemrograman Transact-SQL Replikasi)
Berlaku untuk: SQL Server Azure SQL Managed Instance
Properti rekam jepret dapat ditentukan dan dimodifikasi secara terprogram menggunakan prosedur tersimpan replikasi, di mana prosedur tersimpan yang digunakan bergantung pada jenis publikasi.
Untuk mengonfigurasi properti rekam jepret saat membuat rekam jepret atau publikasi transaksional
Di Publisher, jalankan sp_addpublication. Tentukan nama publikasi untuk
@publication
, nilai rekam jepret atau berkelanjutan untuk@repl_freq
, dan satu atau beberapa parameter terkait rekam jepret berikut:@alt_snapshot_folder
- tentukan jalur jika rekam jepret untuk publikasi ini diakses dari lokasi tersebut alih-alih atau selain folder default rekam jepret.@compress_snapshot
- tentukan nilai true jika file rekam jepret di folder rekam jepret alternatif dikompresi dalam format file Microsoft CAB.@pre_snapshot_script
- tentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi sebelum rekam jepret awal diterapkan.@post_snapshot_script
- tentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi setelah rekam jepret awal diterapkan.@snapshot_in_defaultfolder
- tentukan nilai false jika rekam jepret hanya tersedia di lokasi non-default.
Untuk informasi selengkapnya tentang membuat publikasi, lihat Membuat Publikasi.
Untuk mengonfigurasi properti rekam jepret saat membuat publikasi gabungan
Di Publisher, jalankan sp_addmergepublication. Tentukan nama publikasi untuk
@publication
, nilai rekam jepret atau berkelanjutan untuk@repl_freq
, dan satu atau beberapa parameter terkait rekam jepret berikut:- alt_snapshot_folder - tentukan jalur jika rekam jepret untuk publikasi ini diakses dari lokasi tersebut alih-alih atau selain folder default rekam jepret.
@compress_snapshot
- tentukan nilai true jika file rekam jepret di folder rekam jepret alternatif dikompresi dalam format file CAB.@pre_snapshot_script
- tentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi sebelum rekam jepret awal diterapkan.@post_snapshot_script
- tentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi setelah rekam jepret awal diterapkan.@snapshot_in_defaultfolder
- tentukan nilai false jika rekam jepret hanya tersedia di lokasi non-default.
Untuk informasi selengkapnya tentang membuat publikasi, lihat Membuat Publikasi.
Untuk memodifikasi properti rekam jepret dari rekam jepret atau publikasi transaksi yang ada
Di Publisher pada database publikasi, jalankan sp_changepublication. Tentukan nilai 1 untuk
@force_invalidate_snapshot
dan salah satu nilai berikut untuk@property
:- alt_snapshot_folder -juga tentukan jalur baru ke folder rekam jepret alternatif untuk
@value
. - compress_snapshot - tentukan juga nilai true atau false untuk
@value
menunjukkan apakah file rekam jepret di folder rekam jepret alternatif dikompresi dalam format file CAB. - pre_snapshot_script - juga untuk
@value
menentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi sebelum rekam jepret awal diterapkan. - post_snapshot_script - juga untuk
@value
menentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi setelah rekam jepret awal diterapkan. - snapshot_in_defaultfolder - tentukan juga nilai benar atau salah untuk menunjukkan apakah rekam jepret hanya tersedia di lokasi non-default.
- alt_snapshot_folder -juga tentukan jalur baru ke folder rekam jepret alternatif untuk
(Opsional) Di Publisher pada database publikasi, jalankan sp_changepublication_snapshot. Tentukan
@publication
dan satu atau beberapa parameter penjadwalan atau kredensial keamanan sedang diubah.Penting
Jika memungkinkan, minta pengguna untuk memasukkan kredensial keamanan saat runtime. Jika Anda harus menyimpan kredensial dalam file skrip, Anda harus mengamankan file untuk mencegah akses yang tidak sah.
Jalankan Agen Replikasi Rekam Jepret dari prompt perintah atau mulai pekerjaan Agen Rekam Jepret untuk menghasilkan rekam jepret baru. Untuk informasi selengkapnya, lihat Membuat dan Menerapkan Rekam Jepret Awal.
Untuk memodifikasi properti rekam jepret dari publikasi gabungan yang sudah ada
Di Publisher pada database publikasi, jalankan sp_changemergepublication. Tentukan nilai 1 untuk
@force_invalidate_snapshot
dan salah satu nilai berikut untuk@property**
:- alt_snapshot_folder -juga tentukan jalur baru ke folder rekam jepret alternatif untuk
@value
. - compress_snapshot - tentukan juga nilai true atau false untuk
@value
menunjukkan apakah file rekam jepret di folder rekam jepret alternatif dikompresi dalam format file CAB. - pre_snapshot_script - juga untuk
@value
menentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi sebelum rekam jepret awal diterapkan. - post_snapshot_script - juga untuk
@value
menentukan nama file dan jalur lengkap file .sql yang akan dijalankan di Pelanggan selama inisialisasi setelah rekam jepret awal diterapkan. - snapshot_in_defaultfolder - tentukan juga nilai benar atau salah untuk menunjukkan apakah rekam jepret hanya tersedia di lokasi non-default.
- alt_snapshot_folder -juga tentukan jalur baru ke folder rekam jepret alternatif untuk
Jalankan Agen Replikasi Rekam Jepret dari prompt perintah atau mulai pekerjaan Agen Rekam Jepret untuk menghasilkan rekam jepret baru. Untuk informasi selengkapnya, lihat Membuat dan Menerapkan Rekam Jepret Awal.
Contoh
Contoh ini membuat publikasi yang menggunakan folder rekam jepret alternatif dan rekam jepret terkompresi.
-- 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
Lihat Juga
Mengubah opsi rekam jepret
Jalankan Skrip Sebelum dan Sesudah Rekam Jepret Diterapkan
Konsep Prosedur Tersimpan Sistem Replikasi
Transfer Rekam Jepret Melalui FTP
Mengubah Properti Publikasi dan Artikel