sp_changepublication_snapshot (Transact-SQL)
適用対象: SQL Server Azure SQL Managed Instance
指定したパブリケーションのスナップショット エージェントのプロパティを変更します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。
重要
リモート ディストリビューターを使用してパブリッシャーを構成すると、 @job_login や @job_passwordを含むすべてのパラメーターに指定された値がプレーン テキストとしてディストリビューターに送信されます。 このストアド プロシージャを実行する前に、パブリッシャーとリモート ディストリビューターの間の接続を暗号化する必要があります。 詳細については、「接続を暗号化するために SQL Server データベース エンジンを構成する」を参照してください。
構文
sp_changepublication_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' ]
[ ; ]
引数
[ @publication = ] N'publication'
出版物の名前。 @publication は sysname で、既定値はありません。
[ @frequency_type = ] frequency_type
エージェントをスケジュールする頻度を指定します。 @frequency_type は int で、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
1 |
指定日時 |
2 |
オン デマンド |
4 |
毎日 |
8 |
週単位 |
16 |
月単位 |
32 |
月単位の相対 |
64 |
自動開始 |
128 |
定期的 |
NULL (既定) |
[ @frequency_interval = ] frequency_interval
エージェントが実行される日数を指定します。 @frequency_interval は int で、次のいずれかの値を指定できます。
値 | 説明 |
---|---|
1 |
土曜日 |
2 |
月曜日 |
3 |
火曜日 |
4 |
水曜日 |
5 |
Thursday |
6 |
金曜日 |
7 |
土曜日 |
8 |
日付 |
9 |
平日 |
10 |
週末 |
NULL (既定) |
[ @frequency_subday = ] frequency_subday
@freq_subday_intervalの単位。 @frequency_subday は int であり、これらの値のいずれかを指定できます。
値 | 説明 |
---|---|
1 |
1 回。 |
2 |
Second |
4 |
分 |
8 |
時間 |
NULL (既定) |
[ @frequency_subday_interval = ] frequency_subday_interval
@frequency_subdayの間隔。 @frequency_subday_interval は int で、既定値は NULL
です。
[ @frequency_relative_interval = ] frequency_relative_interval
スナップショット エージェントが実行される日付。 @frequency_relative_interval は int で、既定値は NULL
です。
[ @frequency_recurrence_factor = ] frequency_recurrence_factor
@frequency_typeによって使用される繰り返し係数。 @frequency_recurrence_factor は int で、既定値は NULL
です。
[ @active_start_date = ] active_start_date
スナップショット エージェントが最初にスケジュールされた日付で、yyyyMMdd
として書式設定されます。 @active_start_date は int で、既定値は NULL
です。
[ @active_end_date = ] active_end_date
スナップショット エージェントのスケジュールが終了した日付(yyyyMMdd
形式)。 @active_end_date は int で、既定値は NULL
です。
[ @active_start_time_of_day = ] active_start_time_of_day
スナップショット エージェントが最初にスケジュールされ、HHmmss
形式の時刻。 @active_start_time_of_day は int で、既定値は NULL
です。
[ @active_end_time_of_day = ] active_end_time_of_day
スナップショット エージェントのスケジュールが終了した時刻。HHmmss
形式。 @active_end_time_of_day は int で、既定値は NULL
です。
[ @snapshot_job_name = ] N'snapshot_job_name'
既存のジョブが使用されている場合は、既存のスナップショット エージェント ジョブ名の名前。 @snapshot_job_name は nvarchar(100) で、既定値は NULL
です。
[ @publisher_security_mode = ] publisher_security_mode
パブリッシャーに接続するときにエージェントによって使用されるセキュリティ モード。 @publisher_security_mode は int で、既定値は NULL
です。 SQL Server 以外のパブリッシャーには、 0
の値を指定する必要があります。
0
は SQL Server 認証を指定します1
Windows 認証を指定します
重要
可能な場合は、Windows 認証を使用します。
[ @publisher_login = ] N'publisher_login'
パブリッシャーに接続するときに使用されるログイン。 @publisher_login は sysname で、既定値は NULL
です。
@publisher_security_modeが0
されている場合は、@publisher_loginを指定する必要があります。 @publisher_loginがNULL
され、@publisher_security_modeが1
されている場合、@job_loginで指定された Windows アカウントがパブリッシャーに接続するときに使用されます。
[ @publisher_password = ] N'publisher_password'
パブリッシャーに接続するときに使用するパスワード。 @publisher_password は sysname で、既定値は NULL
です。
重要
空白のパスワードを使用しないでください。 強力なパスワードを使用してください。 可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。
[ @job_login = ] N'job_login'
エージェントが実行される Windows アカウントのログイン。 @job_login は nvarchar(257) で、既定値は NULL
です。 この Windows アカウントは、ディストリビューターへのエージェント接続に常に使用されます。 新しいスナップショット エージェント ジョブを作成するときに、このパラメーターを指定する必要があります。 SQL Server 以外のパブリッシャーの場合、これは変更できません。
[ @job_password = ] N'job_password'
エージェントが実行される Windows アカウントのパスワード。 @job_password は sysname で、既定値は NULL
です。 新しいスナップショット エージェント ジョブを作成するときに、このパラメーターを指定する必要があります。
重要
可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。
[ @publisher = ] N'publisher'
SQL Server 以外のパブリッシャーを指定します。 @publisher は sysname で、既定値は NULL
です。
Note
@publisherは、SQL Server パブリッシャーでスナップショット エージェントを作成するときに使用しないでください。
リターン コードの値
0
(成功) または 1
(失敗)。
解説
sp_changepublication_snapshot
は、スナップショット レプリケーション、トランザクション レプリケーション、マージ レプリケーションで使用されます。
アクセス許可
sysadmin固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーのみがsp_changepublication_snapshot
を実行できます。