sp_change_log_shipping_secondary_database (Transact-SQL)

適用対象: SQL Server

セカンダリ データベースの設定を変更します。

Transact-SQL 構文表記規則

構文

sp_change_log_shipping_secondary_database
    [ @secondary_database = ] N'secondary_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 ]
    [ , [ @ignoreremotemonitor = ] ignoreremotemonitor ]
[ ; ]

引数

[ @secondary_database = ] N'secondary_database'

セカンダリ サーバー上のデータベース名。 @secondary_databasesysname で、既定値はありません。

[ @restore_delay = ] restore_delay

セカンダリ サーバーが特定のバックアップ ファイルを復元するまでに待機する時間 (分)。 @restore_delayint で、既定値は 0 であり、 NULLすることはできません。

[ @restore_all = ] restore_all

1に設定すると、セカンダリ サーバーは復元ジョブの実行時に使用可能なすべてのトランザクション ログ バックアップを復元します。 それ以外の場合は、1 つのファイルが復元された後に停止します。 @restore_allビットであり、 NULLすることはできません。

[ @restore_mode = ] restore_mode

セカンダリ データベースの復元モード。 @restore_modeビットであり、 NULLすることはできません。

  • 0 = NORECOVERYを使用してログを復元します。
  • 1 = STANDBYを使用してログを復元します。

[ @disconnect_users = ] disconnect_users

1に設定すると、ユーザーは復元操作の実行時にセカンダリ データベースから切断されます。 @disconnect_usersbit で、既定値は 0 であり、 NULLすることはできません。

[ @block_size = ] block_size

バックアップ デバイスのブロック サイズとして使用されるサイズ (バイト単位)。 @block_sizeint で、既定値は -1 です。

[ @buffer_count = ] buffer_count

バックアップ操作または復元操作で使用されるバッファーの合計数。 @buffer_countint で、既定値は -1 です。

[ @max_transfer_size = ] max_transfer_size

バックアップ デバイスに対して SQL Server によって発行される最大入力または出力要求のサイズ (バイト単位)。 @max_transfer_sizeint で、既定値は NULL です。

[ @restore_threshold = ] restore_threshold

アラートが生成されるまでの復元操作の間に許容される時間 (分)。 @restore_thresholdintであり、 NULLすることはできません。

[ @threshold_alert = ] threshold_alert

復元のしきい値を超えたときに発生する警告。 @threshold_alertint で、既定値は 14421 です。

[ @threshold_alert_enabled = ] threshold_alert_enabled

@restore_thresholdを超えたときにアラートを発生するかどうかを指定します。

  • 1 = 有効
  • 0 = 無効。

@threshold_alert_enabledビットであり、 NULLすることはできません。

[ @history_retention_period = ] history_retention_period

履歴が保持される時間 (分単位)。 @history_retention_periodint で、既定値は 1440 です。

[ @ignoreremotemonitor = ] ignoreremotemonitor

単に情報を示すためだけに特定されます。 サポートされていません。 将来の互換性は保証されません。

リターン コードの値

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

結果セット

ありません。

解説

sp_change_log_shipping_secondary_database は、セカンダリ サーバー上の master データベースから実行する必要があります。 このストアド プロシージャは、次の手順を実行します。

  1. 必要に応じて、 log_shipping_secondary_database レコードの設定を変更します。

  2. 必要に応じて、指定された引数を使用してセカンダリ サーバーの log_shipping_monitor_secondary のローカル モニター レコードを変更します。

アクセス許可

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

この例では、 sp_change_log_shipping_secondary_database を使用してデータベース LogShipAdventureWorksのセカンダリ データベース パラメーターを更新する方法を示します。

EXEC master.dbo.sp_change_log_shipping_secondary_database
    @secondary_database = 'LogShipAdventureWorks',
    @restore_delay = 0,
    @restore_all = 1,
    @restore_mode = 0,
    @disconnect_users = 0,
    @threshold_alert = 14420,
    @threshold_alert_enabled = 1,
    @history_retention_period = 14420;