sp_addpublication_snapshot (Transact-SQL)

Изменения: 12 декабря 2006 г.

Создает агент моментальных снимков для указанной публикации. Эта хранимая процедура выполняется в базе данных публикации на издателе.

ms174958.security(ru-ru,SQL.90).gifПримечание безопасности.
При настройке издателя с помощью удаленного распространителя значения для всех параметров, включая job_login и job_password, отправляются распространителю в виде простого текста. Прежде чем выполнять эту хранимую процедуру, необходимо зашифровать соединение между издателем и его удаленным распространителем. Дополнительные сведения см. в разделе Шифрование соединений с SQL Server.

Значок ссылки на разделСинтаксические обозначения в Transact-SQL

Синтаксис

sp_addpublication_snapshot [ @publication= ] 'publication'
    [ , [ @frequency_type= ] frequency_type ]
    [ , [ @frequency_interval= ] frequency_interval ]
    [ , [ @frequency_subday= ] frequency_subday ]
    [ , [ @frequency_subday_interval= ] frequency_subday_interval ]
    [ , [ @frequency_relative_interval= ] frequency_relative_interval ]
    [ , [ @frequency_recurrence_factor= ] frequency_recurrence_factor ]
    [ , [ @active_start_date= ] active_start_date ]
    [ , [ @active_end_date= ] active_end_date ]
    [ , [ @active_start_time_of_day= ] active_start_time_of_day ]
    [ , [ @active_end_time_of_day= ] active_end_time_of_day ]
    [ , [ @snapshot_job_name = ] 'snapshot_agent_name' ]
    [ , [ @publisher_security_mode = ] publisher_security_mode ]
    [ , [ @publisher_login = ] 'publisher_login' ]
    [ , [ @publisher_password = ] 'publisher_password' ] 
    [ , [ @job_login = ] 'job_login' ]
    [ , [ @job_password = ] 'job_password' ]
    [ , [ @publisher = ] 'publisher' ]

Аргументы

  • [ @publication=] 'publication'
    Имя публикации. Аргумент publication имеет тип sysname и не имеет значения по умолчанию.
  • [ @frequency_type=] frequency_type
    Периодичность запуска агента моментальных снимков. Аргумент frequency_type имеет тип int и может принимать одно из следующих значений.

    Значение Описание

    1

    Однократно.

    4 (по умолчанию)

    Ежедневно.

    8

    Еженедельно.

    16

    Ежемесячно.

    32

    Ежемесячно относительно интервала частоты.

    64

    При запуске агента SQL Server.

    128

    Запускать, когда компьютер простаивает.

  • [ @frequency_interval=] frequency_interval
    Значение, применяющееся к частоте, заданной аргументом frequency_type. Аргумент frequency_interval имеет тип int и может принимать одно из следующих значений.

    Значение аргумента frequency_type Воздействие на аргумент frequency_interval

    1

    Параметр frequency_interval не используется.

    4 (по умолчанию)

    Раз в frequency_interval суток. По умолчанию — ежедневно.

    8

    Аргумент frequency_interval может принимать одно или несколько из приведенных ниже значений (в сочетании с логическим оператором | (Побитовое ИЛИ) (Transact-SQL)):

    1 = Воскресенье;

    2 = Понедельник;

    4 = Вторник;

    8 = Среда;

    16 = Четверг;

    32 = Пятница;

    64 = Суббота;

    16

    В аргументе frequency_interval день месяца.

    32

    Аргумент frequency_interval принимает следующие значения:

    1 = Воскресенье;

    2 = Понедельник;

    3 = Вторник;

    4 = Среда;

    5 = Четверг;

    6 = Пятница;

    7 = Суббота;

    8 = День;

    9 = Рабочий день;

    10 = Выходной день.

    64

    Параметр frequency_interval не используется.

    128

    Параметр frequency_interval не используется.

  • [ @frequency_subday=] frequency_subday
    Единица измерения для аргумента freq_subday_interval. Аргумент frequency_subday имеет тип int и может принимать одно из следующих значений.

    Значение Описание

    1

    Однократно

    2

    Секунда

    4 (по умолчанию)

    Минута

    8

    Час

  • [ @frequency_subday_interval=] frequency_subday_interval
    Интервал для аргумента frequency_subday. Аргумент frequency_subday_interval имеет тип int и значение по умолчанию 5, что означает каждые 5 минут.
  • [ @frequency_relative_interval=] frequency_relative_interval
    Дата запуска агента моментальных снимков. Аргумент frequency_relative_interval имеет тип int и значение по умолчанию 1.
  • [ @frequency_recurrence_factor=] frequency_recurrence_factor
    Фактор периодичности, используемый аргументом frequency_type. Аргумент frequency_recurrence_factor имеет тип int и значение по умолчанию 0.
  • [ @active_start_date=] active_start_date
    Дата первого планового запуска агента моментальных снимков в формате ГГГГММДД. Аргумент active_start_date имеет тип int и значение по умолчанию 0.
  • [ @active_end_date=] active_end_date
    Дата прекращения действия расписания агента моментальных снимков в формате ГГГГММДД. Аргумент active_end_date имеет тип int и значение по умолчанию 99991231, что соответствует 31 декабря 9999 года.
  • [ @active_start_time_of_day=] active_start_time_of_day
    Время суток, на которое назначен первый запуск агента моментальных снимков в формате ЧЧММСС. Аргумент active_start_time_of_day имеет тип int и значение по умолчанию 0.
  • [ @active_end_time_of_day=] active_end_time_of_day
    Время прекращения действия расписания агента моментальных снимков в формате ЧЧММСС. Аргумент ** имеет тип int и значение по умолчанию 235959, означающее 23:59:59.
  • [ @snapshot_job_name = ] 'snapshot_agent_name'
    Имя существующего задания агента моментальных снимков, если существующее задание применяется. Аргумент snapshot_agent_name имеет тип nvarchar(100) и значение по умолчанию NULL. Этот параметр предназначен для внутреннего использования и не указывается при создании новой публикации. Если указан аргумент snapshot_agent_name, то аргументы job_login и job_password должны иметь значение NULL.
  • [ @publisher_security_mode= ] publisher_security_mode
    Режим безопасности, применяемый агентом для подключения к издателю. Аргумент publisher_security_mode имеет тип smallint и значение по умолчанию 1. Значение 0 задает проверку подлинности SQL Server, а 1 — проверку подлинности Windows. Для издателей, отличных от издателей SQL Server, должно указываться значение 0.
  • [ @publisher_login= ] 'publisher_login'
    Имя входа, используемое для подключения к издателю. Аргумент publisher_login имеет тип sysname и значение NULL по умолчанию. Аргумент publisher_login должен быть указан, если аргумент publisher_security_mode имеет значение 0. Если аргумент publisher_login принимает значение NULL, а аргумент publisher_security_mode равен 1, то при подключении к издателю будет использована учетная запись Windows, указанная в аргументе job_login.
  • [ @publisher_password= ] 'publisher_password'
    Пароль, используемый при установке соединения с издателем. Аргумент publisher_password имеет тип sysname и значение по умолчанию NULL.

    ms174958.security(ru-ru,SQL.90).gifПримечание безопасности.
    Не храните данные проверки подлинности в файлах сценариев. Имена входа и пароли необходимо вводить во время выполнения.
  • [ @job_login= ] 'job_login'
    Имя входа для учетной записи Windows, под которой запускается агент. Аргумент job_login имеет тип nvarchar(257) и значение по умолчанию NULL. Для соединений агента с поставщиком всегда используется эта учетная запись Windows. Необходимо указывать этот аргумент при создании нового задания агента моментальных снимков.
  • [ @job_password= ] 'job_password'
    Пароль для учетной записи Windows, под которой запускается агент. Аргумент job_password имеет тип sysname и не имеет значения по умолчанию. Необходимо указывать этот аргумент при создании нового задания агента моментальных снимков.

    ms174958.security(ru-ru,SQL.90).gifПримечание безопасности.
    Не храните данные проверки подлинности в файлах сценариев. Имена входа и пароли необходимо вводить во время выполнения.
  • [ @publisher= ] 'publisher'
    Задает издатель, отличный от SQL Server. Аргумент publisher имеет тип sysname и значение по умолчанию NULL.

    ms174958.note(ru-ru,SQL.90).gifПримечание.
    При создании агента моментальных снимков для издателя SQL Server не следует использовать аргумент publisher.

Значения кодов возврата

0 (успешное завершение) или 1 (неуспешное завершение)

Замечания

Процедура sp_addpublication_snapshot применяется при репликации моментальных снимков, репликации транзакций и репликации слиянием.

Разрешения

Только члены фиксированной серверной роли sysadmin или фиксированной роли базы данных db_owner могут выполнять хранимую процедуру sp_addpublication_snapshot.

Пример

-- To avoid storing the login and password in the script file, the values 
-- are passed into SQLCMD as scripting variables. 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".

DECLARE @publicationDB AS sysname;
DECLARE @publication AS sysname;
DECLARE @login AS sysname;
DECLARE @password AS sysname;
SET @publicationDB = N'AdventureWorks'; 
SET @publication = N'AdvWorksProductTran'; 
-- Windows account used to run the Log Reader and Snapshot Agents.
SET @login = $(Login); 
-- This should be passed at runtime.
SET @password = $(Password); 

-- Enable transactional or snapshot replication on the publication database.
EXEC sp_replicationdboption 
    @dbname=@publicationDB, 
    @optname=N'publish',
    @value = N'true';

-- Execute sp_addlogreader_agent to create the agent job. 
EXEC sp_addlogreader_agent 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;

-- Create a new transactional publication with the required properties. 
EXEC sp_addpublication 
    @publication = @publication, 
    @status = N'active',
    @allow_push = N'true',
    @allow_pull = N'true',
    @independent_agent = N'true';

-- Create a new snapshot job for the publication, using a default schedule.
EXEC sp_addpublication_snapshot 
    @publication = @publication, 
    @job_login = @login, 
    @job_password = @password,
    -- Explicitly specify the use of Windows Integrated Authentication (default) 
    -- when connecting to the Publisher.
    @publisher_security_mode = 1;
GO

См. также

Справочник

sp_addpublication (Transact-SQL)
sp_changepublication_snapshot (Transact-SQL)
sp_startpublication_snapshot (Transact-SQL)
Хранимые процедуры репликации (Transact-SQL)

Другие ресурсы

How to: Create a Publication (Replication Transact-SQL Programming)
Создание и применение моментального снимка

Справка и поддержка

Получение помощи по SQL Server 2005

Журнал изменений

Версия Журнал

12 декабря 2006 г.

Обновления
  • Обновлены сведения об аргументах @frequency_type и @frequency_interval.