次の方法で共有


sp_changepublication_snapshot (Transact-SQL)

適用対象: SQL Server Azure SQL Managed Instance

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

重要

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

Transact-SQL 構文表記規則

構文

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'

出版物の名前。 @publicationsysname で、既定値はありません。

[ @frequency_type = ] frequency_type

エージェントをスケジュールする頻度を指定します。 @frequency_typeint で、次のいずれかの値を指定できます。

Value 説明
1 指定日時
2 オン デマンド
4 毎日
8 週単位
16 月単位
32 月単位の相対
64 自動開始
128 定期的
NULL (既定)

[ @frequency_interval = ] frequency_interval

エージェントが実行される日数を指定します。 @frequency_intervalint で、次のいずれかの値を指定できます。

Value 説明
1 日曜日
2 月曜日
3 火曜日
4 水曜日
5 Thursday
6 金曜日
7 土曜日
8 日付
9 平日
10 週末
NULL (既定)

[ @frequency_subday = ] frequency_subday

@freq_subday_intervalの単位。 @frequency_subdayint であり、これらの値のいずれかを指定できます。

Value 説明
1 1 回。
2 Second
4
8 時間
NULL (既定)

[ @frequency_subday_interval = ] frequency_subday_interval

@frequency_subdayの間隔。 @frequency_subday_intervalint で、既定値は NULL です。

[ @frequency_relative_interval = ] frequency_relative_interval

スナップショット エージェントが実行される日付。 @frequency_relative_intervalint で、既定値は NULL です。

[ @frequency_recurrence_factor = ] frequency_recurrence_factor

@frequency_typeによって使用される繰り返し係数。 @frequency_recurrence_factorint で、既定値は NULL です。

[ @active_start_date = ] active_start_date

スナップショット エージェントが最初にスケジュールされた日付で、yyyyMMddとして書式設定されます。 @active_start_dateint で、既定値は NULL です。

[ @active_end_date = ] active_end_date

スナップショット エージェントのスケジュールが終了した日付(yyyyMMdd形式)。 @active_end_dateint で、既定値は NULL です。

[ @active_start_time_of_day = ] active_start_time_of_day

スナップショット エージェントが最初にスケジュールされ、HHmmss形式の時刻。 @active_start_time_of_dayint で、既定値は NULL です。

[ @active_end_time_of_day = ] active_end_time_of_day

スナップショット エージェントのスケジュールが終了した時刻。HHmmss形式。 @active_end_time_of_dayint で、既定値は NULL です。

[ @snapshot_job_name = ] N'snapshot_job_name'

既存のジョブが使用されている場合は、既存のスナップショット エージェント ジョブ名の名前。 @snapshot_job_namenvarchar(100) で、既定値は NULL です。

[ @publisher_security_mode = ] publisher_security_mode

パブリッシャーに接続するときにエージェントによって使用されるセキュリティ モード。 @publisher_security_modeint で、既定値は NULL です。 SQL Server 以外のパブリッシャーには、 0 の値を指定する必要があります。

  • 0 は SQL Server 認証を指定します
  • 1Windows 認証を指定します

重要

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

[ @publisher_login = ] N'publisher_login'

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

@publisher_security_mode0されている場合は、@publisher_loginを指定する必要があります。 @publisher_loginNULLされ、@publisher_security_mode1されている場合、@job_loginで指定された Windows アカウントがパブリッシャーに接続するときに使用されます。

[ @publisher_password = ] N'publisher_password'

パブリッシャーに接続するときに使用するパスワード。 @publisher_passwordsysname で、既定値は NULL です。

重要

空白のパスワードを使用しないでください。 強力なパスワードを使用してください。 可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。

[ @job_login = ] N'job_login'

エージェントが実行される Windows アカウントのログイン。 @job_loginnvarchar(257) で、既定値は NULL です。 この Windows アカウントは、ディストリビューターへのエージェント接続に常に使用されます。 新しいスナップショット エージェント ジョブを作成するときに、このパラメーターを指定する必要があります。 SQL Server 以外のパブリッシャーの場合、これは変更できません。

[ @job_password = ] N'job_password'

エージェントが実行される Windows アカウントのパスワード。 @job_passwordsysname で、既定値は NULL です。 新しいスナップショット エージェント ジョブを作成するときに、このパラメーターを指定する必要があります。

重要

可能であれば、実行時、ユーザーに対してセキュリティ資格情報の入力を要求します。 スクリプト ファイルに資格情報を格納する必要がある場合は、不正アクセスを防ぐために、ファイルを保護します。

[ @publisher = ] N'publisher'

SQL Server 以外のパブリッシャーを指定します。 @publishersysname で、既定値は NULL です。

Note

@publisherは、SQL Server パブリッシャーでスナップショット エージェントを作成するときに使用しないでください。

リターン コードの値

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

解説

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

アクセス許可

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