sys.sp_changepublication_snapshot(Transact-SQL)

適用対象:SQL ServerAzure SQL Managed Instance

指定したパブリケーションのスナップショット エージェントのプロパティを変更します。 このストアド プロシージャは、パブリッシャー側のパブリケーション データベースで実行されます。

重要

リモート ディストリビューターを使用してパブリッシャーを構成すると、 @job_login や @job_passwordを含むすべてのパラメーターに指定された値がプレーン テキストとしてディストリビューターに送信されます。 このストアド プロシージャを実行する前に、パブリッシャーとリモート ディストリビューターの間の接続を暗号化する必要があります。 詳細については、「接続を暗号化するために SQL Server データベース エンジンを構成する」を参照してください。

Transact-SQL 構文表記規則

構文

sys.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' ]
    [ , [ @job_security_mode = ] job_security_mode ]
[ ; ]

引数

[ @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 認証を指定します
  • 1Windows 認証を指定します

重要

可能な場合は、Windows 認証を使用します。

[ @publisher_login = ] N'publisher_login

パブリッシャーに接続するときに使用されるログイン。 @publisher_login は sysname で、既定値は NULL です。

を指定する必要があります。 @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 パブリッシャーでスナップショット エージェントを作成するときに使用しないでください。

[ @job_security_mode = ] job_security_mode

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

リターン コードの値

0 (成功) または 1 (失敗)。

解説

sp_changepublication_snapshot は、スナップショット レプリケーション、トランザクション レプリケーション、マージ レプリケーションで使用されます。

アクセス許可

sysadmin固定サーバー ロールまたは固定データベース ロールdb_ownerのメンバーのみがsp_changepublication_snapshotを実行できます。