次の方法で共有


sp_add_log_shipping_secondary_primary (Transact-SQL)

指定したプライマリ データベースのセカンダリ サーバーに対して、プライマリ情報の設定、ローカルおよびリモート監視リンクの追加、コピー ジョブと復元ジョブの作成を行います。

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

構文

sp_add_log_shipping_secondary_primary
 [ @primary_server = ] 'primary_server', 
[ @primary_database = ] 'primary_database',
[ @backup_source_directory = ] 'backup_source_directory' , 
[ @backup_destination_directory = ] 'backup_destination_directory'
[ @copy_job_name = ] 'copy_job_name'
[ @restore_job_name = ] 'restore_job_name'
[, [ @file_retention_period = ] 'file_retention_period']
[, [ @monitor_server = ] 'monitor_server']
[, [ @monitor_server_security_mode = ] 'monitor_server_security_mode']
[, [ @monitor_server_login = ] 'monitor_server_login']
[, [ @monitor_server_password = ] 'monitor_server_password']
[, [ @copy_job_id = ] 'copy_job_id' OUTPUT ]
[, [ @restore_job_id = ] 'restore_job_id' OUTPUT ]
[, [ @secondary_id = ] 'secondary_id' OUTPUT]

引数

  • [ @primary_server = ] 'primary_server'
    ログ配布構成における、MicrosoftSQL Server データベース エンジンのプライマリ インスタンスの名前を指定します。primary_server のデータ型は sysname で、NULL 値は許可されません。

  • [ @primary_database = ] 'primary_database'
    プライマリ サーバーのデータベースの名前を指定します。primary_database のデータ型は sysname で、既定値はありません。

  • [ @backup_source_directory = ] 'backup_source_directory'
    プライマリ サーバーからのトランザクション ログ バックアップ ファイルを格納するディレクトリを指定します。backup_source_directory のデータ型は nvarchar(500) で、NULL 値は許可されません。

  • [ @backup_destination_directory = ] 'backup_destination_directory'
    バックアップ ファイルのコピー先となるセカンダリ サーバーのディレクトリを指定します。backup_destination_directory のデータ型は nvarchar(500) で、NULL 値は許可されません。

  • [ @copy_job_name = ] 'copy_job_name'
    セカンダリ サーバーにトランザクション ログ バックアップをコピーする場合に作成される、SQL Server エージェント ジョブの名前を指定します。copy_job_name のデータ型は sysname で、既定値は NULL です。

  • [ @restore_job_name = ] 'restore_job_name'
    セカンダリ データベースにバックアップを復元する、セカンダリ サーバーでの SQL Server エージェント ジョブの名前を指定します。restore_job_name のデータ型は sysname で、NULL 値は指定できません。

  • [ @file_retention_period = ] 'file_retention_period'
    履歴を保持する期間を分単位で指定します。history_retention_period のデータ型は int で、既定値は NULL です。何も指定しない場合は、値 14420 が使用されます。

  • [ @monitor_server = ] 'monitor_server'
    監視サーバーの名前を指定します。Monitor_server のデータ型は sysname で、既定値はありません。NULL 値は許可されません。

  • [ @monitor_server_security_mode = ] 'monitor_server_security_mode'
    監視サーバーへの接続に使用するセキュリティ モードを指定します。

    1 = Windows 認証。

    0 = SQL Server 認証。

    monitor_server_security_mode のデータ型は bit で、NULL 値は許可されません。

  • [ @monitor_server_login = ] 'monitor_server_login'
    監視サーバーへのアクセスに使用するアカウントのユーザー名を指定します。

  • [ @monitor_server_password = ] 'monitor_server_password'
    監視サーバーへのアクセスに使用するアカウントのパスワードを指定します。

  • [ @copy_job_id = ] 'copy_job_id' OUTPUT
    セカンダリ サーバー上のコピー ジョブに関連付けられている ID を指定します。copy_job_id のデータ型は uniqueidentifier で、NULL 値は許可されません。

  • [ @restore_job_id = ] 'restore_job_id' OUTPUT
    セカンダリ サーバー上の復元ジョブに関連付けられている ID を指定します。restore_job_id のデータ型は uniqueidentifier で、NULL 値は許可されません。

  • [ @secondary_id = ] 'secondary_id' OUTPUT
    ログ配布構成のセカンダリ サーバーの ID を指定します。secondary_id のデータ型は uniqueidentifier で、NULL 値は許可されません。

リターン コード値

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

結果セット

なし

説明

sp_add_log_shipping_secondary_primary は、セカンダリ サーバーの master データベースから実行する必要があります。このストアド プロシージャでは次の処理が行われます。

  1. 指定したプライマリ サーバーとプライマリ データベースのセカンダリ ID を生成する。

  2. また、次の処理が行われます。

    1. 指定した引数を使用して、log_shipping_secondary にセカンダリ ID のエントリを追加する。

    2. 無効になったセカンダリ ID のコピー ジョブを作成する。

    3. log_shipping_secondary エントリのコピー ジョブ ID を、コピー ジョブのジョブ ID に設定する。

    4. 無効になったセカンダリ ID の復元ジョブを作成する。

    5. log_shipping_secondary エントリの復元ジョブ ID を、復元ジョブのジョブ ID に設定する。

権限

このプロシージャを実行できるのは、sysadmin 固定サーバー ロールのメンバだけです。

次の例では、sp_add_log_shipping_secondary_primary ストアド プロシージャを使用して、セカンダリ サーバー上のプライマリ データベース AdventureWorks に情報を設定します。

EXEC master.dbo.sp_add_log_shipping_secondary_primary 
@primary_server = N'TRIBECA' 
,@primary_database = N'AdventureWorks' 
,@backup_source_directory = N'\\tribeca\LogShipping' 
,@backup_destination_directory = N'' 
,@copy_job_name = N'' 
,@restore_job_name = N'' 
,@file_retention_period = 1440 
,@monitor_server = N'ROCKAWAY' 
,@monitor_server_security_mode = 1 
,@copy_job_id = @LS_Secondary__CopyJobId OUTPUT 
,@restore_job_id = @LS_Secondary__RestoreJobId OUTPUT 
,@secondary_id = @LS_Secondary__SecondaryId OUTPUT 
GO