次の方法で共有


sp_add_log_shipping_primary_database (Transact-SQL)

適用対象: SQL Server

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

Transact-SQL 構文表記規則

構文

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_directorynvarchar(500)であり、既定値はなく、 NULLすることはできません。

[ @backup_share = ] N'backup_share'

プライマリ サーバー上のバックアップ ディレクトリへのネットワーク パス。 @backup_sharenvarchar(500)であり、既定値はなく、 NULLすることはできません。

[ @backup_job_name = ] 'backup_job_name'

バックアップをバックアップ フォルダーにコピーするプライマリ サーバー上のSQL Server エージェント ジョブの名前。 @backup_job_namesysname でありNULLすることはできません。

[ @backup_retention_period = ] backup_retention_period

プライマリ サーバーのバックアップ ディレクトリにログ バックアップ ファイルを保持する時間 (分)。 @backup_retention_period は既定値なしで int であり、 NULLすることはできません。

[ @monitor_server = ] 'monitor_server'

モニター サーバーの名前。 @monitor_serversysname で、既定値はなく、 NULLすることはできません。

[ @monitor_server_security_mode = ] monitor_server_security_mode

監視サーバーへの接続に使用されるセキュリティ モード。

  • 1: Windows 認証
  • 0: SQL Server 認証

@monitor_server_security_modebit で、既定値は 1 であり、 NULLすることはできません。

[ @monitor_server_login = ] 'monitor_server_login'

監視サーバーへのアクセスに使用するアカウントのユーザー名。

[ @monitor_server_password = ] 'monitor_server_password'

監視サーバーへのアクセスに使用するアカウントのパスワード。

[ @backup_threshold = ] backup_threshold

@threshold_alert エラーが発生するまでの最後のバックアップ後の時間 (分単位)。 @backup_thresholdint で、既定値は 60 分です。

[ @threshold_alert = ] threshold_alert

バックアップのしきい値を超えたときに発生するアラート。 @threshold_alertint で、既定値は 14,420 です。

[ @threshold_alert_enabled = ] threshold_alert_enabled

@backup_thresholdを超えたときにアラートを発生するかどうかを指定します。 既定値の値 0 は、アラートが無効になっており、発生しないことを意味します。 @threshold_alert_enabledビットです。

[ @history_retention_period = ] history_retention_period

履歴が保持される時間 (分単位)。 @history_retention_periodint で、既定値は 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 (失敗)。

結果セット

ありません。

解説

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. モニター・サーバーがプライマリ・サーバーと異なる場合、 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