sp_add_log_shipping_primary_database (Transact-SQL)

バックアップ ジョブ、ローカル監視レコード、リモート監視レコードを含め、ログ配布構成のプライマリ データベースを設定します。

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

構文

sp_add_log_shipping_primary_database [ @database = ] 'database', 
[ @backup_directory = ] 'backup_directory', 
[ @backup_share = ] '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= ] 'backup_directory'
    プライマリ サーバー上のバックアップ フォルダのパスを指定します。backup_directory のデータ型は nvarchar(500) で、既定値はありません。NULL 値は許可されません。

  • [ [ @backup_share= ] '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 で、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 のデータ型は bit です。

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

  • [ [ @backup_job_id= ] backup_job_id OUTPUT
    プライマリ サーバーのバックアップ ジョブに関連付けられた SQL Server エージェントのジョブ ID を指定します。backup_job_id のデータ型は uniqueidentifier で、NULL 値は許可されません。

  • [ [ @primary_id= ] primary_id OUTPUT
    ログ配布構成におけるプライマリ データベースの ID を指定します。primary_id のデータ型は uniqueidentifier で、NULL 値は許可されません。

  • [ [ @backup_compression = ] backup_compression_option
    ログ配布構成でバックアップの圧縮を使用するかどうかを指定します。このパラメータは SQL Server 2008 Enterprise (またはそれ以降のバージョン) でのみサポートされます。

    0 = 無効。ログ バックアップは圧縮されません。

    1 = 有効。ログ バックアップを常に圧縮します。

    2 = backup compression default サーバー構成オプションの設定を使用します。これは既定値です。

リターン コード値

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

結果セット

なし

説明

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

  1. 指定された引数を使用して、プライマリ ID を生成し、テーブル log_shipping_primary_databases にプライマリ データベースのエントリを追加する。

  2. 無効になったプライマリ データベースのバックアップ ジョブを作成する。

  3. log_shipping_primary_databases エントリのバックアップ ジョブ ID を、バックアップ ジョブのジョブ ID に設定する。

  4. 指定された引数を使用して、プライマリ サーバーのテーブル log_shipping_monitor_primary にローカル監視レコードを追加する。

  5. 監視サーバーがプライマリ サーバーと異なる場合に、指定した引数を使用して、監視サーバーの log_shipping_monitor_primary に監視レコードを追加する。

権限

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

次の例では、ログ配布構成のプライマリ データベースとして、データベース AdventureWorks2008R2 を追加します。

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