sp_add_log_shipping_primary_database (Transact-SQL)
適用対象: SQL Server
バックアップ ジョブ、ローカル監視レコード、リモート監視レコードを含め、ログ配布構成のプライマリ データベースを設定します。
構文
sp_add_log_shipping_primary_database
[ @database = ] 'database'
, [ @backup_directory = ] N'backup_directory'
, [ @backup_share = ] N'backup_share'
, [ @backup_job_name = ] 'backup_job_name'
[ , [ @backup_retention_period = ] backup_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' ]
[ , [ @backup_threshold = ] backup_threshold ]
[ , [ @threshold_alert = ] threshold_alert ]
[ , [ @threshold_alert_enabled = ] threshold_alert_enabled ]
[ , [ @history_retention_period = ] history_retention_period ]
[ , [ @backup_job_id = ] backup_job_id OUTPUT ]
[ , [ @primary_id = ] primary_id OUTPUT ]
[ , [ @backup_compression = ] backup_compression_option ]
[ ; ]
引数
[ @database = ] 'database'
ログ配布プライマリ データベースの名前。 @database は既定 sysnameであり、 NULL
することはできません。
[ @backup_directory = ] N'backup_directory'
プライマリ サーバー上のバックアップ フォルダーへのパス。 @backup_directory は nvarchar(500)であり、既定値はなく、 NULL
することはできません。
[ @backup_share = ] N'backup_share'
プライマリ サーバー上のバックアップ ディレクトリへのネットワーク パス。 @backup_share は nvarchar(500)であり、既定値はなく、 NULL
することはできません。
[ @backup_job_name = ] 'backup_job_name'
バックアップをバックアップ フォルダーにコピーするプライマリ サーバー上のSQL Server エージェント ジョブの名前。 @backup_job_nameは sysname でありNULL
することはできません。
[ @backup_retention_period = ] backup_retention_period
プライマリ サーバーのバックアップ ディレクトリにログ バックアップ ファイルを保持する時間 (分)。 @backup_retention_period は既定値なしで int であり、 NULL
することはできません。
[ @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 で、既定値は 1
であり、 NULL
することはできません。
[ @monitor_server_login = ] 'monitor_server_login'
監視サーバーへのアクセスに使用するアカウントのユーザー名。
[ @monitor_server_password = ] 'monitor_server_password'
監視サーバーへのアクセスに使用するアカウントのパスワード。
[ @backup_threshold = ] backup_threshold
@threshold_alert エラーが発生するまでの最後のバックアップ後の時間 (分単位)。 @backup_threshold は int で、既定値は 60 分です。
[ @threshold_alert = ] threshold_alert
バックアップのしきい値を超えたときに発生するアラート。 @threshold_alert は int で、既定値は 14,420 です。
[ @threshold_alert_enabled = ] threshold_alert_enabled
@backup_thresholdを超えたときにアラートを発生するかどうかを指定します。 既定値の値 0 は、アラートが無効になっており、発生しないことを意味します。 @threshold_alert_enabled は ビットです。
[ @history_retention_period = ] history_retention_period
履歴が保持される時間 (分単位)。 @history_retention_period は int で、既定値は NULL
です。 値 14420 は、何も指定されていない場合に使用されます。
[ @backup_job_id = ] backup_job_id OUTPUT
プライマリ サーバー上のバックアップ ジョブに関連付けられているSQL Server エージェント ジョブ ID。 @backup_job_id は、 uniqueidentifier 型の OUTPUT パラメーターであり、 NULL
することはできません。
[ @primary_id = ] primary_id OUTPUT
ログ配布構成のプライマリ データベースの ID。 @primary_id は、 uniqueidentifier 型の OUTPUT パラメーターであり、 NULL
することはできません。
[ @backup_compression = ] backup_compression_option
ログ配布構成で バックアップ圧縮を使用するかどうかを指定します。
0
:無効。 ログ バックアップは圧縮されません。1
:有効。 ログ バックアップは常に圧縮します。2
(既定値): View の設定を使用するか、バックアップ圧縮の既定値 (サーバー構成オプション) を構成します。
リターン コードの値
0
(成功) または 1
(失敗)。
結果セット
ありません。
解説
sp_add_log_shipping_primary_database
は、プライマリ サーバー上の master
データベースから実行する必要があります。 このストアド プロシージャは、次の関数を実行します。
プライマリ ID を生成し、指定された引数を使用してテーブル
log_shipping_primary_databases
にプライマリ データベースのエントリを追加します。無効になっているプライマリ データベースのバックアップ ジョブを作成します。
log_shipping_primary_databases
エントリのバックアップ ジョブ ID をバックアップ ジョブのジョブ ID に設定します。指定された引数を使用して、プライマリ サーバーのテーブル
log_shipping_monitor_primary
にローカル モニター レコードを追加します。モニター・サーバーがプライマリ・サーバーと異なる場合、
sp_add_log_shipping_primary_database
は、指定された引数を使用してモニター・サーバー上のlog_shipping_monitor_primary
にモニター・レコードを追加します。
アクセス許可
このプロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーだけです。
例
次の例では、ログ配布構成のプライマリ データベースとして、データベース AdventureWorks2022
を追加します。
DECLARE @LS_BackupJobId AS UNIQUEIDENTIFIER;
DECLARE @LS_PrimaryId AS UNIQUEIDENTIFIER;
EXEC master.dbo.sp_add_log_shipping_primary_database
@database = N'AdventureWorks',
@backup_directory = N'c:\lsbackup',
@backup_share = N'\\tribeca\lsbackup',
@backup_job_name = N'LSBackup_AdventureWorks',
@backup_retention_period = 1440,
@monitor_server = N'rockaway',
@monitor_server_security_mode = 1,
@backup_threshold = 60,
@threshold_alert = 0,
@threshold_alert_enabled = 0,
@history_retention_period = 1440,
@backup_job_id = @LS_BackupJobId OUTPUT,
@primary_id = @LS_PrimaryId OUTPUT,
@overwrite = 1,
@backup_compression = 0;
GO