Aracılığıyla paylaş


sp_addpublication_snapshot (Transact-SQL)

Belirtilen yayın için Anlık Görüntü Aracısı oluşturur.Bu saklı yordam, yayın veritabanı üzerinde yayımcı adresindeki yürütülür.

Güvenlik notuGüvenlik Notu

Yayımcı ile yapılandırırken bir uzak Dağıtımcı, sağlanan da dahil olmak üzere tüm parametreler için değerler job_login ve job_password, için dağıtıcı düz metin olarak gönderilirBu saklı yordam yürütmeden önce Yayımcı ve kendi uzak dağıtımcı arasında bağlantı şifrelemek.Daha fazla bilgi için bkz: SQL Server bağlantıları şifreleme.

Konu bağlantısı simgesiTransact-sql sözdizimi kuralları

Sözdizimi

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

Bağımsız değişkenler

  • [ @publication=] 'publication'
    Is the name of the publication.publication is sysname, with no default.

  • [ @frequency_type=] frequency_type
    Is the frequency with which the Snapshot Agent is executed.frequency_type is int, and can be one of the following values.

    Değer

    Açıklama

    1

    Bir kez.

    4 (varsayılan)

    Günlük.

    8

    Haftalık.

    16

    Aylık.

    32

    Frekans aralığı göreli olarak aylık.

    64

    Zaman SQL Server Agent başlatır.

    128

    Bilgisayar boştayken çalıştırma

  • [ @frequency_interval=] frequency_interval
    Is the value to apply to the frequency set by frequency_type.frequency_interval is int, and can be one of the following values.

    Frequency_type değeri

    Frequency_interval etkisi

    1

    frequency_interval kullanılmaz.

    4 (varsayılan)

    Her frequency_interval gün, varsayılan değer günlük.

    8

    frequency_intervalbir veya daha fazlasını (birleştirilen bir | (Bit düzey veya) mantıksal işleç):

    1 Pazar = |

    2 = Pazartesi |

    4 = Salı |

    8 = Çarşamba |

    16 = Perşembe |

    32 Cuma = |

    64 = Cumartesi

    16

    Üzerinde frequency_interval günü, ayı.

    32

    frequency_intervalaşağıdakilerden biridir:

    1 Pazar = |

    2 = Pazartesi |

    3 = Salı |

    4 = Çarşamba |

    5 = Perşembe |

    6 Cuma = |

    7 Cumartesi = |

    8 = Day |

    9 Hafta içi = |

    10 = Hafta sonu

    64

    frequency_interval kullanılmaz.

    128

    frequency_interval kullanılmaz.

  • [ @frequency_subday=] frequency_subday
    Is the unit for freq_subday_interval.frequency_subday is int, and can be one of these values.

    Değer

    Açıklama

    1

    Bir kez

    2

    İkinci

    4 (varsayılan)

    Dakika

    8

    Saat

  • [ @frequency_subday_interval=] frequency_subday_interval
    Is the interval for frequency_subday.frequency_subday_interval is int, with a default of 5, which means every 5 minutes.

  • [ @frequency_relative_interval=] frequency_relative_interval
    Is the date the Snapshot Agent runs.frequency_relative_interval is int, with a default of 1.

  • [ @frequency_recurrence_factor=] frequency_recurrence_factor
    Is the recurrence factor used by frequency_type.frequency_recurrence_factor is int, with a default of 0.

  • [ @active_start_date=] active_start_date
    Is the date when the Snapshot Agent is first scheduled, formatted as YYYYMMDD.active_start_date is int, with a default of 0.

  • [ @active_end_date=] active_end_date
    Is the date when the Snapshot Agent stops being scheduled, formatted as YYYYMMDD.active_end_date is int, with a default of 99991231, which means December 31, 9999.

  • [ @active_start_time_of_day=] active_start_time_of_day
    Is the time of day when the Snapshot Agent is first scheduled, formatted as HHMMSS.active_start_time_of_day is int, with a default of 0.

  • [ @active_end_time_of_day=] active_end_time_of_day
    Is the time of day when the Snapshot Agent stops being scheduled, formatted as HHMMSS.active_end_time_of_day is int, with a default of 235959, which means 11:59:59 P.M.as measured on a 24-hour clock.

  • [ @snapshot_job_name = ] 'snapshot_agent_name'
    Is the name of an existing Snapshot Agent job name if an existing job is being used.snapshot_agent_name is nvarchar(100) with a default value of NULL.Bu parametre, dahili kullanım için tasarlanmış ve yeni bir yayın oluştururken belirttiğiniz değil.If snapshot_agent_name is specified, then job_login and job_password must be NULL.

  • [ @ publisher_security_mode=] publisher_security_mode
    Is the security mode used by the agent when connecting to the Publisher.publisher_security_mode is smallint, with a default of 1.0 belirtir SQL Server , kimlik doğrulama ve 1 Windows kimlik doğrulamasının kullanılacağını belirtir.Değeri, 0 için mutlaka belirtilmeli olmayan-SQL Server Publishers. Mümkünse Windows Kimlik Doğrulaması kullanın.

  • [ @ publisher_login=] 'publisher_login'
    Is the login used when connecting to the Publisher.publisher_login is sysname, with a default of NULL.publisher_login must be specified when publisher_security_mode is 0.If publisher_login is NULL and publisher_security_mode is 1, then the Windows account specified in job_login will be used when connecting to the Publisher.

  • [ publisher_password @=] 'publisher_password'
    Is the password used when connecting to the Publisher.publisher_password is sysname, with a default of NULL.

    Güvenlik notuGüvenlik Notu

    kimlik doğrulaması bilgilerini komut dosyalarında depolar.Güvenliğini artırmanıza yardımcı olmak için oturum açma adlarını ve parolalarını çalışma sırasında sağladığınız önerilir saat.

  • [ @ job_login=] 'job_login'
    Is the login for the Windows account under which the agent runs.job_login is nvarchar(257), with a default of NULL.Bu Windows hesabı her zaman Aracısı bağlantıları dağıtımcı için kullanılır.Yeni bir anlık görüntü Aracısı iş oluştururken, bu parametreyi sağlamanız gerekir.

    Not

    İçin olmayan-SQL Server Publishers, aynı oturum açma olarak belirtilmiş olmalıdır sp_adddistpublisher (Transact-SQL).

  • [ @ job_password=] 'job_password'
    Is the password for the Windows account under which the agent runs.job_password is sysname, with no default.Yeni bir anlık görüntü Aracısı iş oluştururken, bu parametreyi sağlamanız gerekir.

    Güvenlik notuGüvenlik Notu

    kimlik doğrulaması bilgilerini komut dosyalarında depolar.Güvenliğini artırmanıza yardımcı olmak için oturum açma adlarını ve parolalarını çalışma sırasında sağladığınız önerilir saat.

  • [ @ publisher =] 'publisher'
    Specifies a non-SQL Server Publisher.publisher is sysname, with a default of NULL.

    Not

    publisherbir anlık görüntü Aracısı adresindeki oluşturulurken kullanılan değil bir SQL Server Yayımcı.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (başarısız)

Açıklamalar

sp_addpublication_snapshot anlık görüntü çoğaltması çoğaltması çoğaltma, işlem çoğaltma ve birleştirme çoğaltması kullanılır.

Örnek

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

İzinler

Yalnızca üyeleri sysadmin sabit sunucu rolü veya db_owner sabit veritabanı rolü olabilir yürütmek sp_addpublication_snapshot.