Share via


sp_addpublication_snapshot (Transact-sql)

Belirtilen yayını Snapshot aracı oluşturur. Bu saklı yordam, yayını veritabanı üzerinde yayımcı adresindeki yürütülür.

Güvenlik notuGüvenlik Notu

Bir Publisher ile sağlanan tüm parametreler için değerler uzak bir dağıtımcı yapılandırma dahil job_loginve job_password, dağıtımcı düz metin olarak gönderilir. Bu saklı yordam yürütme önce Publisher ve kendi uzak dağıtımcı arasında bağlantı şifrelemek. Daha fazla bilgi için, bkz. Veritabanı altyapısı (SQL Server Configuration Manager) şifreli bağlantıları etkinleştir.

Konu bağlantısı simgesi Transact-SQL Sözdizim 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'
    Yayını addır. publicationise sysname, hiçbir varsayılan ile.

  • **@ frequency_type =**frequency_type
    Snapshot aracı yürütüldüğü sıklığıdır. frequency_typeise int, ve aşağıdaki değerlerden biri olabilir.

    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

    Ne zaman SQL ServerAgent başlatır.

    128

    Bilgisayar boştayken çalıştırma

  • **@ frequency_interval =**frequency_interval
    Ayarlar sıklığı uygulamak için değeri frequency_type. frequency_intervalise int, ve aşağıdaki değerlerden biri olabilir.

    Frequency_type değeri

    Frequency_interval etkisi

    1

    frequency_intervalkullanılmaz.

    4 (varsayılan)

    Her frequency_intervalgün, varsayılan günlük.

    8

    frequency_intervalbir ya da birkaçını (kombine 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

    Tarih frequency_intervalay gün.

    32

    frequency_intervalaşağıdakilerden biri olur:

    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 gün =

    64

    frequency_intervalkullanılmaz.

    128

    frequency_intervalkullanılmaz.

  • **@ frequency_subday =**frequency_subday
    Birim için freq_subday_interval. frequency_subdayise int, ve bu değerlerden birini olabilir.

    Değer

    Açıklama

    1

    Bir kez

    2

    İkinci

    4 (varsayılan)

    Dakika

    8

    Saat

  • **@ frequency_subday_interval =**frequency_subday_interval
    Aralık için frequency_subday. frequency_subday_intervalise int, 5 varsayılan ile yani 5 dakikada.

  • **@ frequency_relative_interval =**frequency_relative_interval
    Snapshot aracı çalışır tarihidir. frequency_relative_intervalise int, 1 varsayılan.

  • **@ frequency_recurrence_factor =**frequency_recurrence_factor
    Tarafından kullanılan yineleme faktörü olduğunu frequency_type. frequency_recurrence_factorise int, 0 varsayılan.

  • **@ active_start_date =**active_start_date
    Snapshot aracı ilk ne zaman tarih YYYYMMDD'nın biçimlendirilmiş planlanmıştır. active_start_dateise int, 0 varsayılan.

  • **@ active_end_date =**active_end_date
    Anlık görüntü Aracısı durduğunda tarih zamanlanmış YYYYMMDD'nın biçimlendirilmiş. active_end_dateise int, 99991231 varsayılan ile yani 31 Aralık 9999.

  • **@ active_start_time_of_day =**active_start_time_of_day
    Snapshot aracı ilk ne zaman günün saati SSDDSS biçimlendirilmiş planlanmıştır. active_start_time_of_dayise int, 0 varsayılan.

  • **@ active_end_time_of_day =**active_end_time_of_day
    Anlık görüntü Aracısı durduğunda günün saati zamanlanmış SSDDSS biçimlendirilmiş. active_end_time_of_dayise int, 235959, varsayılan ile yani 11: 59: 59 p.m. 24 saatlik ölçülen.

  • @ snapshot_job_name = 'snapshot_agent_name'
    Varolan anlık görüntü Aracısı iş adı adı ise, varolan iş kullanılıyor. snapshot_agent_nameise nvarchar(100), varsayılan değeri NULL. Bu parametre, dahili kullanım için tasarlanmış ve yeni bir yayın oluştururken belirtilmemelidir. Eğer snapshot_agent_name, sonra belirtilen job_loginve job_passwordnull olmalıdır.

  • @ publisher_security_mode=] publisher_security_mode
    Güvenlik modu için yayımcı bağlanırken Aracısı tarafından kullanılır. publisher_security_modeise smallint, 1 varsayılan. 0 belirtir SQL Serverkimlik ve 1 Windows kimlik doğrulamasını belirtir. Değeri 0 için belirtilmelidir olmayan- SQL Server Publishers.Mümkünse Windows Kimlik Doğrulaması kullanın.

  • @ publisher_login=] 'publisher_login'
    Oturum açma için yayımcı bağlanırken kullanılır. publisher_loginise sysname, null varsayılan. publisher_loginne zaman belirtilmelidir publisher_security_modeolan 0. Eğer publisher_loginnull olur ve publisher_security_modeolan 1, sonra belirtilen Windows hesabı job_loginiçin yayımcı bağlanırken kullanılacak.

  • publisher_password @=] 'publisher_password'
    Yayımcı için bağlanırken kullanılan parolayı. publisher_passwordise sysname, null varsayılan.

    Güvenlik notuGüvenlik Notu

    Kimlik doğrulama bilgileri, komut dosyalarında depolamayın. Güvenliğini artırmanıza yardımcı olmak için giriş adları ve şifreler zamanında sağlamanızı öneririz.

  • @job_login= ] 'job_login'
    Aracı çalıştığı Windows hesabı için oturum açma 's. job_loginise nvarchar(257), null varsayılan. Bu Windows hesabını 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 non- SQL Server Publishers, bu belirtilen aynı girişi olmalıdır sp_adddistpublisher (Transact-sql).

  • @ job_password=] 'job_password'
    Aracı çalıştığı Windows hesabı için parola değil. job_passwordise sysname, hiçbir varsayılan ile. 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ğrulama bilgileri, komut dosyalarında depolamayın. Güvenliğini artırmanıza yardımcı olmak için giriş adları ve şifreler zamanında sağlamanızı öneririz.

  • @ publisher=] 'publisher'
    Olmayan bir belirtir- SQL Server Yayınevi. publisherise sysname, null varsayılan.

    [!NOT]

    publisherbir anlık görüntü Aracısı oluştururken kullanılmamalıdır bir SQL ServerYayınevi.

Dönüş Kodu Değerleri

0 (başarılı) veya 1 (hata)

Açıklamalar

sp_addpublication_snapshot anlık görüntü ç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'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

İzinler

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

Ayrıca bkz.

Başvuru

için yürütme eşdeğerdirsp_addpublication (Transact-sql)

sp_changepublication_snapshot (Transact-sql)

sp_startpublication_snapshot (Transact-sql)

Çoğaltma depolanan yordamlar (Transact-sql)

Kavramlar

Yayın oluşturma

Oluşturma ve anlık görüntü Uygula