sp_add_log_shipping_secondary_database (Transact-SQL)
適用対象:SQL Server
ログ配布についてセカンダリ データベースを設定します。
構文
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'
ログ配布構成の 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 つのファイルが復元された後に停止します。 @restore_allはビットであり、NULL にすることはできません。
[ @restore_mode = ] 'restore_mode'
セカンダリ データベースの復元モード。
0
: 次を使用してログを復元します。NORECOVERY
1
: 次を使用してログを復元します。STANDBY
@restore_modeはビットであり、NULL にすることはできません。
[ @disconnect_users = ] 'disconnect_users'
に 1
設定すると、ユーザーは復元操作の実行時にセカンダリ データベースから切断されます。 既定値は、0
です。 @disconnect_usersはビットであり、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'
@restore_thresholdを超えたときにアラートを発生するかどうかを指定します。 値 1
(既定値) は、アラートが発生することを意味します。 @threshold_alert_enabledはビットです。
[ @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
を追加します。モニター・サーバーがセカンダリ・サーバーと異なる場合は、
sp_add_log_shipping_secondary_database
指定された引数を使用してモニター・サーバー上にモニター・レコードlog_shipping_monitor_secondary
を追加します。
アクセス許可
このプロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーだけです。
例
この例では、ストアド プロシージャをsp_add_log_shipping_secondary_database
使用して、プライマリ サーバーTRIBECA
上に存在するプライマリ データベースを含むログ配布構成でセカンダリ データベースとしてデータベースAdventureWorks2022
を追加LogShipAdventureWorks
する方法を示します。
EXEC master.dbo.sp_add_log_shipping_secondary_database
@secondary_database = N'LogShipAdventureWorks',
@primary_server = N'TRIBECA',
@primary_database = N'AdventureWorks2022',
@restore_delay = 0,
@restore_mode = 1,
@disconnect_users = 0,
@restore_threshold = 45,
@threshold_alert_enabled = 0,
@history_retention_period = 1440;
GO
関連するコンテンツ
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示