Notatka
Dostęp do tej strony wymaga autoryzacji. Może spróbować zalogować się lub zmienić katalogi.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Dotyczy:SQL Server
Azure SQL Managed Instance
Tworzy Snapshot Agent dla określonej publikacji. Ta procedura składowana jest wykonywana w programie Publisher w bazie danych publikacji.
Ważna
Podczas konfiguracji Publisher z odległym dystrybutorem, wartości dla wszystkich parametrów, w tym @job_login i @job_password, są przesyłane do dystrybutora jako tekst jawny. Przed wykonaniem tej procedury składowanej należy zaszyfrować połączenie między wydawcą a jego zdalnym dystrybutorem. Aby uzyskać więcej informacji, zobacz sekcję Konfigurowanie silnika bazy danych SQL Server w celu szyfrowania połączeń.
Transact-SQL konwencje składni
Syntax
sys.sp_addpublication_snapshot
[ @publication = ] N'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 = ] N'snapshot_job_name' ]
[ , [ @publisher_security_mode = ] publisher_security_mode ]
[ , [ @publisher_login = ] N'publisher_login' ]
[ , [ @publisher_password = ] N'publisher_password' ]
[ , [ @job_login = ] N'job_login' ]
[ , [ @job_password = ] N'job_password' ]
[ , [ @publisher = ] N'publisher' ]
[ , [ @distributor_security_mode = ] distributor_security_mode ]
[ , [ @distributor_login = ] N'distributor_login' ]
[ , [ @distributor_password = ] N'distributor_password' ]
[ , [ @job_security_mode = ] job_security_mode ]
[ ; ]
Arguments
[ @publication = ] N'publikacja'
Nazwa publikacji. @publication to sysname, bez domyślnego zapisu.
[ @frequency_type = ] frequency_type
Częstotliwość, z jaką wykonywany jest Snapshot Agent. @frequency_type to int i może być jedną z następujących wartości.
| Value | Description |
|---|---|
1 |
Raz |
4 (ustawienie domyślne) |
Codziennie |
8 |
Co tydzień |
16 |
Miesięczny |
32 |
Miesięcznie, w stosunku do przedziału częstotliwości |
64 |
Kiedy uruchamia się SQL Server Agent |
128 |
Uruchamiaj, gdy komputer jest bezczynny |
[ @frequency_interval = ] frequency_interval
Wartość należy zastosować do częstotliwości ustawionej przez @frequency_type. @frequency_interval to int i może być jedną z następujących wartości.
| Wartość frequency_type | Wpływ na frequency_interval |
|---|---|
1 |
@frequency_interval jest nieużywana. |
4 (ustawienie domyślne) |
Co @frequency_interval dni, z domyślnym "codziennym". |
8 |
@frequency_interval to jedna lub więcej z następujących (połączonych z | (BITOWO-OR) operator logiczny):1 = Niedziela |2 = Poniedziałek |4 = Wtorek |8 = Środa |16 = Czwartek |32 = Piątek |64 = Sobota |
16 |
W @frequency_interval dnia miesiąca. |
32 |
@frequency_interval jest jedną z następujących wartości:1 = Niedziela |2 = Poniedziałek |3 = Wtorek |4 = Środa |5 = Czwartek |6 = Piątek |7 = Sobota |8 = Dzień |9 = Dzień powszednie |10 = Dzień weekendowy |
64 |
@frequency_interval jest nieużywana. |
128 |
@frequency_interval jest nieużywana. |
[ @frequency_subday = ] frequency_subday
Jednostka do freq_subday_interval. @frequency_subday jest inti może być jedną z tych wartości.
| Value | Description |
|---|---|
1 |
Raz |
2 |
Second |
4 (ustawienie domyślne) |
Minuta |
8 |
Godzina |
[ @frequency_subday_interval = ] frequency_subday_interval
Przerwa na @frequency_subday, w kilka minut.
@frequency_subday_interval jest int z wartością domyślną 5.
[ @frequency_relative_interval = ] frequency_relative_interval
Data, kiedy Snapshot Agent biegnie.
@frequency_relative_interval jest int, z domyślnym .1
[ @frequency_recurrence_factor = ] frequency_recurrence_factor
Współczynnik powtarzalności używany przez @frequency_type.
@frequency_recurrence_factor jest int z wartością domyślną 0.
[ @active_start_date = ] active_start_date
Data, kiedy Snapshot Agent jest po raz pierwszy zaplanowany, sformatowana jako yyyyMMdd.
@active_start_date jest int z wartością domyślną 0.
[ @active_end_date = ] active_end_date
Data, kiedy Snapshot Agent przestaje być zaplanowany, sformatowana jako yyyyMMdd.
@active_end_date to int, z domyślnym wynikiem 99991231, co oznacza 31 grudnia 9999.
[ @active_start_time_of_day = ] active_start_time_of_day
Pora dnia, w której Snapshot Agent jest po raz pierwszy zaplanowany, sformatowana jako HHmmss.
[ @active_end_time_of_day = ] active_end_time_of_day
Pora dnia, kiedy Snapshot Agent przestaje być planowany, sformatowana jako HHmmss.
@active_end_time_of_day to int, z domyślnym , 235959co oznacza 23:59:59 według zegara 24-godzinnego.
[ @snapshot_job_name = ] N'snapshot_job_name'
Nazwa istniejącej nazwy stanowiska Snapshot Agent, jeśli używane jest już stanowisko.
@snapshot_job_name to nvarchar(100), z domyślnym obciążeniem NULL. Ten parametr jest przeznaczony do użytku wewnętrznego i nie powinien być określany przy tworzeniu nowej publikacji. Jeśli @snapshot_agent_name jest określone, to @job_login i @job_password muszą być .NULL
[ @publisher_security_mode = ] publisher_security_mode
Note
Microsoft Entra ID wcześniej był znany jako Azure Active Directory (Azure AD).
Tryb bezpieczeństwa używany przez agenta podczas łączenia z Publisher.
@publisher_security_mode jest int, z domyślnym obciążeniem 1. Dla wydawców niebędących SQL Server musi być określona wartość .0 Jeśli to możliwe, użyj uwierzytelniania systemu Windows. Następujące wartości definiują tryb bezpieczeństwa:
-
0określa uwierzytelnianie SQL Server. -
1określa uwierzytelnianie Windows. -
2określa uwierzytelnianie hasłem Microsoft Entra, zaczynając od SQL Server 2022 (16.x) CU 6. -
3określa zintegrowaną uwierzytelnianie Microsoft Entra, począwszy od SQL Server 2022 (16.x) CU 6. -
4określa uwierzytelnianie tokenów Microsoft Entra, zaczynając od SQL Server 2022 (16.x) CU 6.
[ @publisher_login = ] N'publisher_login'
Login używany podczas łączenia się z Publisher.
@publisher_login to nazwa systemu, z domyślnym .NULL
@publisher_login musi być określony, gdy @publisher_security_mode jest .0 Jeśli @publisher_login jest i NULL@publisher_security_mode to , 1to konto określone w @job_login jest używane podczas łączenia z Publisher.
[ @publisher_password = ] N'publisher_password'
Hasło używane podczas łączenia się z Wydawcą.
@publisher_password jest nazwą systemu z domyślnym .NULL
Ważna
Nie przechowuj informacji uwierzytelniających w plikach skryptów. Aby poprawić bezpieczeństwo, zalecamy podanie nazw logowania i haseł w czasie działania.
[ @job_login = ] N'job_login'
Logowanie do konta, na które działa agent. Na Azure SQL Managed Instance używaj konta SQL Server.
@job_login to nvarchar(257), z domyślnym obciążeniem NULL. To konto jest zawsze używane do połączeń agentów z dystrybutorem. Musisz podać ten parametr podczas tworzenia nowego zadania Snapshot Agent.
Dla wydawców niebędących SQL Server musi to być ten sam login, który podano w sp_adddistpublisher.
[ @job_password = ] N'job_password'
Hasło do konta Windows, pod którym działa agent. @job_password to sysname, bez domyślnego ustawienia. Musisz podać ten parametr podczas tworzenia nowego zadania Snapshot Agent.
Ważna
Nie przechowuj informacji uwierzytelniających w plikach skryptów. Aby poprawić bezpieczeństwo, zalecamy podanie nazw logowania i haseł w czasie działania.
[ @publisher = ] N'publisher'
Określa wydawcę niebędącego SQL Serverem.
@publisher to nazwa systemu, z domyślnym .NULL
@publisher nie powinno być używane przy tworzeniu Snapshot Agent na SQL Server Publisher.
[ @distributor_security_mode = ] distributor_security_mode
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.
[ @distributor_login = ] N'distributor_login'
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.
[ @distributor_password = ] N'distributor_password'
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.
[ @job_security_mode = ] job_security_mode
Zidentyfikowane tylko do celów informacyjnych. Niewspierane. Zgodność w przyszłości nie jest gwarantowana.
Zwracanie wartości kodu
0 (powodzenie) lub 1 (niepowodzenie).
Remarks
sp_addpublication_snapshot jest używany w replikacji migawki, replikacji transakcyjnej i replikacji scalania.
Examples
-- 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
Permissions
Tylko członkowie roli stałego serwera systemowego lub stałej db_owner stałej bazy danych mogą wykonywać sp_addpublication_snapshot.