Udostępnij za pośrednictwem


Jak Konfigurowanie właściwości migawki (Programowanie replikacji Transact-SQL)

Właściwości migawki mogą być definiowane i zmodyfikowane programowo przy użyciu procedur przechowywanych replikacja, gdzie procedurach przechowywanych używanych zależą od typu publikacja.

Aby skonfigurować właściwości migawkę podczas tworzenia migawka lub transakcyjnych publikacja

  • Wydawca, należy wykonać sp_addpublication.Określ nazwę publikacja publikacja @, wartości migawka lub ciągłego dla @ repl_freqi jeden lub więcej następujących parametrów związanych z migawka:

    • @ alt_snapshot_folder -określ ścieżka, jeśli migawkę dla tej publikacja jest dostępny z tej lokalizacji lub zamiast oprócz domyślnego folderu migawka.

    • @ compress_snapshot -określ wartość true Jeśli pliki migawkę w folderze alternatywny migawka są kompresowane w Microsoft format pliku CAB.

    • @ pre_snapshot_script -określ pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania przed migawka początkowa jest stosowany.

    • @ post_snapshot_script -określ pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania po migawka początkowa jest stosowany.

    • @ snapshot_in_defaultfolder -określ wartość false Jeśli migawka jest dostępna tylko w lokalizacji innej niż domyślna.

    Aby uzyskać więcej informacji na temat tworzenia publikacji, zobacz Jak Tworzenie publikacji (Programowanie replikacji Transact-SQL).

Aby skonfigurować właściwości migawka, podczas tworzenia publikacja seryjnej

  1. Wydawca, należy wykonać sp_addmergepublication.Określ nazwę publikacja publikacja @, wartości migawka lub ciągłego dla @ repl_freqi jeden lub więcej następujących parametrów związanych z migawka:

    • @ alt_snapshot_folder -określ ścieżka, jeśli migawkę dla tej publikacja jest dostępny z tej lokalizacji lub zamiast oprócz domyślnego folderu migawka.

    • @ compress_snapshot -określ wartość true Jeśli pliki migawka w folderze alternatywny migawka są kompresowane w formacie pliku CAB.

    • @ pre_snapshot_script -określ pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania przed migawka początkowa jest stosowany.

    • @ post_snapshot_script -określ pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania po migawka początkowa jest stosowany.

    • @ snapshot_in_defaultfolder -określ wartość false Jeśli migawka jest dostępna tylko w lokalizacji innej niż domyślna.

  2. Aby uzyskać więcej informacji na temat tworzenia publikacji, zobacz Jak Tworzenie publikacji (Programowanie replikacji Transact-SQL).

Aby zmodyfikować właściwości migawka istniejących migawka lub transakcyjnych publikacja

  1. Wydawca na baza danych publikacja, wykonanie sp_changepublication.Określ wartość 1 dla @ force_invalidate_snapshot i jedną z następujących wartości @ Właściwość:

    • alt_snapshot_folder -także określić nową ścieżka do folderu migawka alternatywny dla wartość @.

    • compress_snapshot -także określić wartości true lub false dla wartość @ aby wskazać, czy pliki migawkę w folderze alternatywny migawka są kompresowane w formacie pliku CAB.

    • pre_snapshot_script - również dla wartość @ określić pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania przed migawka początkowa jest stosowany.

    • post_snapshot_script - również dla wartość @ określić pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania po migawka początkowa jest stosowany.

    • snapshot_in_defaultfolder -także określić wartości true lub false wskazuje, czy migawka jest dostępne tylko w lokalizacji innej niż domyślna.

  2. (Opcjonalnie) Wydawca na baza danych publikacja, wykonanie sp_changepublication_snapshot.Określ publikacja @ i jeden lub więcej parametrów poświadczeń planowania lub zabezpieczenia przed zmianami.

    Uwaga dotycząca zabezpieczeńUwaga dotycząca zabezpieczeń

    Jeśli to możliwe, monitują użytkowników o wprowadzenie poświadczenia zabezpieczeń w czasie wykonywania.Jeśli poświadczenia muszą być przechowywane w pliku skryptu, należy zabezpieczyć plik, aby uniemożliwić nieautoryzowany dostęp.

  3. Uruchom Agent replikacji migawki wiersz polecenia lub rozpoczęcia zadanie agenta migawka do generowania nowej migawka.Aby uzyskać więcej informacji, zobacz Jak Tworzenie migawki początkowego (Programowanie replikacji Transact-SQL).

Aby zmodyfikować migawka właściwości istniejącego scalania publikacja

  1. Wydawca na baza danych publikacja, wykonanie sp_changemergepublication.Określ wartość 1 dla @ force_invalidate_snapshot i jedną z następujących wartości @ Właściwość:

    • alt_snapshot_folder -także określić nową ścieżka do folderu migawka alternatywny dla wartość @.

    • compress_snapshot -także określić wartości true lub false dla wartość @ aby wskazać, czy pliki migawkę w folderze alternatywny migawka są kompresowane w formacie pliku CAB.

    • pre_snapshot_script - również dla wartość @ określić pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania przed migawka początkowa jest stosowany.

    • post_snapshot_script - również dla wartość @ określić pełną ścieżka i nazwę pliku .sql pliku, który będzie wykonywany przez subskrybenta podczas inicjowania po migawka początkowa jest stosowany.

    • snapshot_in_defaultfolder -także określić wartości true lub false wskazuje, czy migawka jest dostępne tylko w lokalizacji innej niż domyślna.

  2. Uruchom Agent replikacji migawki wiersz polecenia lub rozpoczęcia zadanie agenta migawka do generowania nowej migawka.Aby uzyskać więcej informacji, zobacz Jak Tworzenie migawki początkowego (Programowanie replikacji Transact-SQL).

Przykład

W tym przykładzie tworzony publikacja, która korzysta z folderu migawka alternatywnego i skompresowany migawka.

-- 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'AdventureWorks2008R2'; 
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 [AdventureWorks2008R2]
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