Share via


sp_add_log_shipping_secondary_database (Transact-SQL)

ログ配布のセカンダリ データベースを設定します。

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

構文

        sp_add_log_shipping_secondary_database
[ @secondary_database = ] 'secondary_database',
[ @primary_server = ] 'primary_server', 
[ @primary_database = ] 'primary_database',
[, [ @restore_delay = ] 'restore_delay']
[, [ @restore_all = ] 'restore_all']
[, [ @restore_mode = ] 'restore_mode']
[, [ @disconnect_users = ] 'disconnect_users']
[, [ @block_size = ] 'block_size']
[, [ @buffer_count = ] 'buffer_count']
[, [ @max_transfer_size = ] 'max_transfer_size']
[, [ @restore_threshold = ] 'restore_threshold'] 
[, [ @threshold_alert = ] 'threshold_alert'] 
[, [ @threshold_alert_enabled = ] 'threshold_alert_enabled'] 
[, [ @history_retention_period = ] 'history_retention_period']

引数

  • [ @secondary_database = ] 'secondary_database'
    セカンダリ データベースの名前を指定します。secondary_database のデータ型は sysname で、既定値はありません。

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

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

  • [ @restore_delay = ] 'restore_delay'
    バックアップ ファイルを復元するまでにセカンダリ サーバーが待機する時間を、分単位で指定します。restore_delay のデータ型は int で、NULL 値は許可されません。既定値は 0 です。

  • [ @restore_all = ] 'restore_all'
    1 に設定すると、セカンダリ サーバーでは復元ジョブの実行時にすべてのトランザクション ログ バックアップが復元されます。1 以外の場合は、1 つのファイルが復元された後セカンダリ サーバーは停止します。restore_all のデータ型は bit で、NULL 値は許可されません。

  • [ @restore_mode = ] 'restore_mode'
    セカンダリ データベースの復元モードを指定します。

    0 = NORECOVERY でログを復元。

    1 = STANDBY でログを復元。

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

  • [ @disconnect_users = ] 'disconnect_users'
    1 に設定すると、復元操作の実行時、ユーザーはセカンダリ データベースから切断されます。既定値は 0 です。disconnect_users のデータ型は bit で、NULL 値は許可されません。

  • [ @block_size = ] 'block_size'
    バックアップ デバイスのブロック サイズとして使用するサイズを、バイト単位で指定します。block_size のデータ型は int で、既定値は -1 です。

  • [ @buffer_count = ] 'buffer_count'
    バックアップまたは復元操作で使用するバッファーの総数を指定します。buffer_count のデータ型は int で、既定値は -1 です。

  • [ @max_transfer_size = ] 'max_transfer_size'
    SQL Server からバックアップ デバイスに送信される入力要求または出力要求の最大サイズを、バイト数で指定します。max_transfersize のデータ型は int で、NULL 値は許可されます。

  • [ @restore_threshold = ] 'restore_threshold'
    復元操作の間の許容経過時間を分単位で指定します。この時間を超えると警告が発生します。restore_threshold のデータ型は int で、NULL 値は許可されません。

  • [ @threshold_alert = ] 'threshold_alert'
    バックアップのしきい値を超過したときに生成する警告を指定します。threshold_alert のデータ型は int で、既定値は 14,420 です。

  • [ @threshold_alert_enabled = ] 'threshold_alert_enabled'
    backup_threshold を超過したときに警告を生成するかどうかを指定します。値 1 (既定値) を指定すると、警告が生成されます。threshold_alert_enabled のデータ型は bit です。

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

リターン コード値

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

結果セット

なし

説明

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

  1. sp_add_log_shipping_secondary_primary を呼び出してから、このストアド プロシージャを実行し、セカンダリ サーバーにあるプライマリ ログ配布データベース情報を初期化します。

  2. 指定された引数を使用して、log_shipping_secondary_databases にあるセカンダリ データベースにエントリを追加します。

  3. 指定された引数を使用して、セカンダリ サーバーの log_shipping_monitor_secondary にローカル監視レコードを追加します。

  4. 監視サーバーがセカンダリ サーバーと異なる場合に、指定した引数を使用して、監視サーバーの log_shipping_monitor_secondary に監視レコードを追加します。

権限

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

次の例では、sp_add_log_shipping_secondary_database ストアド プロシージャを使用して、ログ配布構成にデータベース LogShipAdventureWorks2008R2 をセカンダリ データベースとして追加します。この構成では、プライマリ サーバー TRIBECA にあるプライマリ データベース AdventureWorks2008R2 が使用されています。

EXEC master.dbo.sp_add_log_shipping_secondary_database 
@secondary_database = N'LogShipAdventureWorks2008R2' 
,@primary_server = N'TRIBECA' 
,@primary_database = N'AdventureWorks2008R2' 
,@restore_delay = 0 
,@restore_mode = 1 
,@disconnect_users = 0 
,@restore_threshold = 45   
,@threshold_alert_enabled = 0 
,@history_retention_period = 1440 
GO