適用対象:SQL Server
プライマリ データベースの設定を変更します。
構文
sp_change_log_shipping_primary_database
[ @database = ] 'database'
[ , [ @backup_directory = ] N'backup_directory' ]
[ , [ @backup_share = ] N'backup_share' ]
[ , [ @backup_retention_period = ] 'backup_retention_period' ]
[ , [ @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_compression = ] backup_compression_option ]
[ , [ @monitor_connection_options = ] '<key_value_pairs>;[...]' ]
[ ; ]
引数
[ @database = ] 「データベース」
プライマリ サーバー上のデータベースの名前。 @primary_database は sysname で、既定値はありません。
[ @backup_directory = ] N'backup_directory'
プライマリ サーバー上のバックアップ フォルダーへのパス。
@backup_directory は nvarchar(500)であり、既定値はなく、 NULLすることはできません。
[ @backup_share = ] N'backup_share'
プライマリ サーバー上のバックアップ ディレクトリへのネットワーク パス。
@backup_share は nvarchar(500)であり、既定値はなく、 NULLすることはできません。
[ @backup_retention_period = ] 「backup_retention_period」
プライマリ サーバーのバックアップ ディレクトリにログ バックアップ ファイルを保持する時間 (分)。
@backup_retention_period は既定値なしで int であり、 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 であり、 NULLすることはできません。
[ @threshold_alert_enabled = ] 「threshold_alert_enabled」
@backup_thresholdを超えたときにアラートを発生するかどうかを指定します。
-
1:有効 -
0:無効
threshold_alert_enabledはビットでありNULLすることはできません。
[ @history_retention_period = ] 「history_retention_period」
履歴が保持される時間 (分単位)。 @history_retention_period は int です。値 14420 は、何も指定されていない場合に使用されます。
[ @backup_compression = ] backup_compression_option
ログ配布構成で バックアップ圧縮を使用するかどうかを指定します。 このパラメーターは、SQL Server 2008 (10.0.x) (以降のバージョン) および SQL Server 2016 (13.x) Service Pack 1 (以降のバージョン) のすべてのエディションの Enterprise Edition でサポートされています。
0:無効。 ログ バックアップを圧縮しない1:有効。 ログ バックアップを常に圧縮する2(既定値): バックアップ圧縮の既定 のサーバー構成オプションを使用します。
[ @monitor_connection_options = ] '<key_value_pairs>;[...]'
対象:SQL Server 2025(17.x)以降のバージョン
リモート モニターを使用する場合のリンク サーバー接続の追加の接続オプションを、キーと値のペアの形式で指定します。
@monitor_connection_options は nvarchar(4000) で、既定値は NULL です。
次の表に、使用可能な接続オプションを示します。
Key |
Value |
|---|---|
Encrypt |
strict、 mandatory、 optional、 true、 false |
TrustServerCertificate |
true、 false、 yes、 no |
ServerCertificate |
ファイル システム上のサーバー証明書へのパス。 最大長は 260 文字です。 |
HostNameInCertificate |
証明書のホスト名のオーバーライド。 最大長は 255 文字です。 |
リターン コードの値
0 (成功) または 1 (失敗)。
結果セット
ありません。
解説
sp_change_log_shipping_primary_database は、プライマリ サーバー上の master データベースから実行する必要があります。 このストアド プロシージャでは次の処理が行われます。
必要に応じて、
log_shipping_primary_databaseレコードの設定を変更します。必要に応じて、指定された引数を使用して、プライマリ サーバーの
log_shipping_monitor_primaryのローカル レコードを変更します。モニター・サーバーがプライマリ・サーバーと異なる場合は、必要に応じて、指定された引数を使用してモニター・サーバー上の
log_shipping_monitor_primaryのレコードを変更します。
アクセス許可
このプロシージャを実行できるのは、 sysadmin 固定サーバー ロールのメンバーだけです。
例
この例では、 sp_change_log_shipping_primary_database を使用して、プライマリ データベース AdventureWorks2025に関連付けられている設定を更新する方法を示します。
EXECUTE master.dbo.sp_change_log_shipping_primary_database
@database = N'AdventureWorks',
@backup_directory = N'c:\LogShipping',
@backup_share = N'\\tribeca\LogShipping',
@backup_retention_period = 1440,
@backup_threshold = 60,
@threshold_alert = 0,
@threshold_alert_enabled = 1,
@history_retention_period = 1440,
@monitor_server_security_mode = 1,
@backup_compression = 1;