TechNet
Exportar (0) Imprimir
Expandir todo

Configurar propiedades de instantáneas (programación de la replicación con Transact-SQL)

 

Se aplica a: SQL Server 2016

Las propiedades de las instantáneas se pueden definir y modificar mediante programación usando procedimientos almacenados de replicación, los cuales dependerán del tipo de publicación.

Para configurar propiedades de instantáneas al crear una instantánea o una publicación transaccional

  1. En el publicador, ejecute sp_addpublication. Especifique un nombre de publicación para @publication, valor instantánea o continua para @repl_freq, y uno o más de los siguientes parámetros relacionados con instantáneas:

    • @alt_snapshot_folder -Especifique una ruta de acceso si se tiene acceso a la instantánea para esta publicación desde esa ubicación en lugar de o además de la carpeta de instantáneas predeterminada.

    • @compress_snapshot -Especifique un valor de true si los archivos de instantáneas en la carpeta de instantáneas alternativa están comprimidos en el Microsoft formato de archivo CAB.

    • @pre_snapshot_script -Especifique el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización antes de aplica la instantánea inicial.

    • @post_snapshot_script -Especifique el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización después de aplicar la instantánea inicial.

    • @snapshot_in_defaultfolder -Especifique un valor de false Si la instantánea sólo está disponible en una ubicación no predeterminada.

    Para obtener más información acerca de la creación de publicaciones, vea Create a Publication.

Para configurar propiedades de instantáneas al crear una publicación de combinación

  1. En el publicador, ejecute sp_addmergepublication. Especifique un nombre de publicación para @publication, valor instantánea o continua para @repl_freq, y uno o más de los siguientes parámetros relacionados con instantáneas:

    • @alt_snapshot_folder -Especifique una ruta de acceso si se tiene acceso a la instantánea para esta publicación desde esa ubicación en lugar de o además de la carpeta de instantáneas predeterminada.

    • @compress_snapshot -Especifique un valor de true si los archivos de instantáneas en la carpeta de instantáneas alternativa están comprimidos en formato de archivo CAB.

    • @pre_snapshot_script -Especifique el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización antes de aplica la instantánea inicial.

    • @post_snapshot_script -Especifique el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización después de aplicar la instantánea inicial.

    • @snapshot_in_defaultfolder -Especifique un valor de false Si la instantánea sólo está disponible en una ubicación no predeterminada.

  2. Para obtener más información acerca de la creación de publicaciones, vea Create a Publication.

Para modificar las propiedades de instantánea de una instantánea o de una publicación transaccional existente

  1. En el publicador de la base de datos de publicación, ejecute sp_changepublication. Especifique un valor de 1 para @force_invalidate_snapshot y uno de los siguientes valores para @property:

    • alt_snapshot_folder -Especifique también una nueva ruta de acceso a la carpeta de instantáneas alternativa para @value.

    • compress_snapshot -también especificar un valor de uno de ellos true o false para @value para indicar si los archivos de instantáneas en la carpeta de instantáneas alternativa están comprimidos en formato de archivo.

    • pre_snapshot_script - también para @value especificar el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización antes de aplica la instantánea inicial.

    • post_snapshot_script - también para @value especificar el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización después de aplicar la instantánea inicial.

    • snapshot_in_defaultfolder -también especificar un valor de uno de ellos true o false para indicar si la instantánea está disponible sólo en una ubicación no predeterminada.

  2. (Opcional) En el publicador de la base de datos de publicación, ejecute sp_changepublication_snapshot. Especifique @publication y uno o más de los parámetros de credenciales de seguridad o de programación que se están cambiando.

    System_CAPS_ICON_important.jpg Importante


    Cuando sea posible, pida a los usuarios que proporcionen credenciales de seguridad en tiempo de ejecución. Si debe almacenar las credenciales en un archivo de script, proteja el archivo para evitar el acceso no autorizado.

  3. Ejecute el Replication Snapshot Agent desde el símbolo del sistema o inicie el trabajo del Agente de instantáneas para generar una nueva instantánea. Para más información, consulte Create and Apply the Initial Snapshot.

Para modificar las propiedades de instantánea de una publicación de combinación existente

  1. En el publicador de la base de datos de publicación, ejecute sp_changemergepublication. Especifique un valor de 1 para @force_invalidate_snapshot y uno de los siguientes valores para @property:

    • alt_snapshot_folder -Especifique también una nueva ruta de acceso a la carpeta de instantáneas alternativa para @value.

    • compress_snapshot -también especificar un valor de uno de ellos true o false para @value para indicar si los archivos de instantáneas en la carpeta de instantáneas alternativa están comprimidos en formato de archivo.

    • pre_snapshot_script - también para @value especificar el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización antes de aplica la instantánea inicial.

    • post_snapshot_script - también para @value especificar el nombre de archivo y ruta de acceso completa de un .sql archivo que se ejecuta en el suscriptor durante la inicialización después de aplicar la instantánea inicial.

    • snapshot_in_defaultfolder -también especificar un valor de uno de ellos true o false para indicar si la instantánea está disponible sólo en una ubicación no predeterminada.

  2. Ejecute el Replication Snapshot Agent desde el símbolo del sistema o inicie el trabajo del Agente de instantáneas para generar una nueva instantánea. Para obtener más información, consulte Create and Apply the Initial Snapshot.

En este ejemplo se crea una publicación que usa una carpeta de instantáneas alternativa y una instantánea comprimida.

-- 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

Ubicaciones alternativas para las carpetas de instantáneas
Instantáneas comprimidas
Ejecutar scripts antes y después de aplicar la instantánea
Conceptos sobre los procedimientos almacenados del sistema de replicación
Transferir instantáneas mediante FTP
Cambiar las propiedades de la publicación y de los artículos

Adiciones de comunidad

Mostrar:
© 2016 Microsoft