sp_changepublication_snapshot (Transact-SQL)

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

セキュリティに関する注意セキュリティに関する注意

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

トピック リンク アイコンTransact-SQL 構文表記規則

構文

sp_changepublication_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' ]

引数

  • [ [ @publication =] 'publication'
    パブリケーションの名前を指定します。publication のデータ型は sysname で、既定値はありません。

  • [ [ @frequency_type =] frequency_type
    エージェントをスケジュールに組み込む頻度を指定します。frequency_type のデータ型は int で、次のいずれかの値を指定できます。

    説明

    1

    1 回

    2

    要求時

    4

    毎日

    8

    毎週

    16

    毎月

    32

    月単位

    64

    自動的に起動

    128

    定期的

    NULL (既定値)

     

  • [ [ @frequency_interval =] frequency_interval
    エージェントを実行する日を指定します。frequency_interval のデータ型は int で、次のいずれかの値を指定できます。

    説明

    1

    日曜日

    2

    月曜日

    3

    火曜日

    4

    水曜日

    5

    木曜日

    6

    金曜日

    7

    土曜日

    8

    9

    平日

    10

    週末

    NULL (既定値)

     

  • [ [ @frequency_subday =] frequency_subday
    freq_subday_interval の単位を指定します。frequency_subday のデータ型は int で、次のいずれかの値をとります。

    説明

    1

    一度だけ

    2

    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 = ] 'snapshot_agent_name'
    既存のジョブが使用されている場合、既存のスナップショット エージェントのジョブ名を指定します。snapshot_agent_name データ型は nvarchar(100) で、既定値は NULL です。

  • [ [ @publisher_security_mode = ] publisher_security_mode
    パブリッシャへの接続時にエージェントが使用するセキュリティ モードを指定します。publisher_security_mode のデータ型は smallint で、既定値は NULL です。0 は、SQL Server 認証を、1 は Windows 認証をそれぞれ指定します。SQL Server 以外のパブリッシャに対しては 0 の値を指定する必要があります。

    セキュリティに関する注意セキュリティに関する注意

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

  • [ [ @publisher_login = ] 'publisher_login'
    パブリッシャへの接続時に使用するログインを指定します。publisher_login のデータ型は sysname で、既定値は NULL です。publisher_security_mode が 0 の場合は、publisher_login を指定する必要があります。publisher_login が NULL で publisher_security_mode が 1 の場合、パブリッシャへの接続時には job_login で指定した Windows アカウントが使用されます。

  • [ [ @publisher_password = ] 'publisher_password'
    パブリッシャへの接続時に使用するパスワードを指定します。publisher_password のデータ型は sysname で、既定値は NULL です。

    セキュリティに関する注意セキュリティに関する注意

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

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

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

    セキュリティに関する注意セキュリティに関する注意

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

  • [ [ @publisher = ] 'publisher'
    SQL Server 以外のパブリッシャを指定します。publisher のデータ型は sysname で、既定値は NULL です。

    注意

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

リターン コード値

成功した場合は 0 を、失敗した場合は 1 をそれぞれ返します。

説明

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

権限

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