sp_add_log_shipping_secondary_database (Transact-SQL)
ログ配布のセカンダリ データベースを設定します。
適用対象: SQL Server (SQL Server 2008 から現在のバージョンまで) |
構文
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 データベースから実行する必要があります。 このストアド プロシージャでは次の処理が行われます。
sp_add_log_shipping_secondary_primary を呼び出してから、このストアド プロシージャを実行し、セカンダリ サーバーにあるプライマリ ログ配布データベース情報を初期化します。
指定された引数を使用して、log_shipping_secondary_databases にあるセカンダリ データベースにエントリを追加します。
指定された引数を使用して、セカンダリ サーバーの log_shipping_monitor_secondary にローカル監視レコードを追加します。
監視サーバーがセカンダリ サーバーと異なる場合に、指定した引数を使用して、監視サーバーの log_shipping_monitor_secondary に監視レコードを追加します。
権限
このプロシージャを実行できるのは、sysadmin 固定サーバー ロールのメンバーだけです。
使用例
次の例では、sp_add_log_shipping_secondary_database ストアド プロシージャを使用して、ログ配布構成にデータベース LogShipAdventureWorks をセカンダリ データベースとして追加します。この構成では、プライマリ サーバー TRIBECA にあるプライマリ データベース AdventureWorks2012 が使用されています。
EXEC master.dbo.sp_add_log_shipping_secondary_database
@secondary_database = N'LogShipAdventureWorks'
,@primary_server = N'TRIBECA'
,@primary_database = N'AdventureWorks2012'
,@restore_delay = 0
,@restore_mode = 1
,@disconnect_users = 0
,@restore_threshold = 45
,@threshold_alert_enabled = 0
,@history_retention_period = 1440 ;
GO
関連項目
参照
システム ストアド プロシージャ (Transact-SQL)