適用対象:SQL Server
sqllogship アプリケーションは、ログ配布構成のバックアップ、コピー、復元操作、および関連するクリーンアップ作業を行います。 操作は、 Microsoft SQL Server の特定のインスタンスで特定のデータベースに対して行われます。
構文規則については、 SQL コマンド ライン ユーティリティ (データベース エンジン) を参照してください。
構文
sqllogship
-server instance_name { -backup primary_id | -copy secondary_id | -restore secondary_id }
[ -verboselevel level ]
[ -logintimeout timeout_value ]
[ -querytimeout timeout_value ]
[ -connectionoptions "<key_value_pairs>; [ ... ]"]
議論
-server instance_name
操作を実行する SQL Server のインスタンスを指定します。 指定するサーバー インスタンスは、指定するログ配布操作によって異なります。
-backupの場合、instance_nameはログ配布構成のプライマリ サーバーの名前である必要があります。
-copyまたは-restoreの場合、instance_nameはログ配布構成のセカンダリ サーバーの名前である必要があります。
-backup primary_id
primary_idでプライマリ ID を指定したプライマリ データベースのバックアップ操作を行います。 この ID を取得するには、 log_shipping_primary_databases システム テーブルから選択するか、 sp_help_log_shipping_primary_database ストアド プロシージャを使用します。
バックアップ操作を行うと、バックアップ ディレクトリにログ バックアップが作成されます。 その後、ファイル保有期間に基づき、 sqllogship アプリケーションによって古いバックアップ ファイルが削除されます。 次に、プライマリ サーバーと監視サーバーにバックアップ操作の履歴ログが記録されます。 最後に、保有期間に基づき古い履歴情報を削除するため、 sp_cleanup_log_shipping_historyが実行されます。
-コピー secondary_id
指定したセカンダリサーバーからsecondary_idで指定されたセカンダリデータベースのバックアップをコピーする操作を実行します。 この ID を取得するには、 log_shipping_secondary システム テーブルから選択するか、 sp_help_log_shipping_secondary_database ストアド プロシージャを使用します。
この操作を行うと、バックアップ ディレクトリからコピー先ディレクトリにバックアップ ファイルがコピーされます。 その後、 sqllogship アプリケーションによって、セカンダリ サーバーと監視サーバーにコピー操作の履歴ログが記録されます。
-リストア secondary_id
指定されたセカンダリ ID secondary_id があるセカンダリデータベース、または複数のデータベースを指定されたセカンダリサーバーで復元操作を実行します。 この ID は、 sp_help_log_shipping_secondary_database ストアド プロシージャを使用して取得できます。
復元先ディレクトリにある、最新の復元ポイント以降に作成されたバックアップ ファイルは、セカンダリ データベースに復元されます。 その後、ファイル保有期間に基づき、 sqllogship アプリケーションによって古いバックアップ ファイルが削除されます。 次に、セカンダリ サーバーと監視サーバーに復元操作の履歴ログが記録されます。 最後に、アプリケーションは sp_cleanup_log_shipping_history実行され、保持期間に基づいて古い履歴情報が消去されます。
-verboselevel level
ログ配布の履歴に追加するメッセージのレベルを指定します。 level は、次のいずれかの整数です。
| レベル | 説明 |
|---|---|
0 |
トレースおよびデバッグのメッセージを出力しません。 |
1 |
エラー処理メッセージを出力します。 |
2 |
警告およびエラー処理メッセージを出力します。 |
3 (既定値) |
情報メッセージ、警告、およびエラー処理メッセージを出力します。 |
4 |
すべてのデバッグおよびトレースのメッセージを出力します。 |
-logintimeout timeout_value
試行がタイムアウトするまでにサーバー インスタンスへのサインインを試行するために割り当てられた時間を指定します。既定値は 15 秒です。 timeout_value は int です。
-querytimeout timeout_value
指定した操作を開始してからタイムアウトするまでの時間を指定します。既定では、タイムアウトはありません。 timeout_value は int です。
-connectionoptions "<key_value_pairs>;[ ...n ]"
対象:SQL Server 2025(17.x)以降のバージョン。
キー値ペアの形式で追加の接続オプションを指定します。
次の表に、使用可能な接続オプションを示します。
| Key | 価値 |
|---|---|
Encrypt |
strict、 mandatory、 optional、 true、 false |
TrustServerCertificate |
true、 false、 yes、 no |
ServerCertificate |
ファイル システム上のサーバー証明書へのパス。 このオプションの最大長は 260 文字です。 |
HostNameInCertificate |
証明書のホスト名のオーバーライド。 このオプションの最大長は 255 文字です。 |
解説
可能な場合は、バックアップ、コピー、および復元ジョブを使用して、バックアップ、コピー、復元を実行することをお勧めします。 バッチ操作や他のアプリケーションからこれらのジョブを開始するには、 sp_start_job ストアド プロシージャを呼び出します。
sqllogship で作成されるログ配布の履歴には、ログ配布のバックアップ、コピー、および復元ジョブで作成される履歴も含まれます。 sqllogship を繰り返し使用してログ配布構成のバックアップ、コピー、および復元操作を行う場合、対応するログ配布ジョブを無効にすることを検討してください。 詳細については、「 Disable or Enable a Job」をご覧ください。
アプリケーションは、SqlLogShip.exe ディレクトリにインストールされます。
アクセス許可
sqllogship では Windows 認証を使用します。 コマンドを実行する Windows 認証アカウントには、Windows のディレクトリ アクセスおよび SQL Server の権限が必要です。 この要件は、 sqllogship コマンドで -backup、 -copy、または -restore オプションを指定するかどうかによって異なります。
| オプション | ディレクトリ アクセス | アクセス許可 |
|---|---|---|
-backup |
バックアップ ディレクトリの読み取り/書き込みアクセス許可が必要です。 |
BACKUP ステートメントと同じアクセス許可が必要です。 詳細については、 BACKUP を参照してください。 |
-copy |
バックアップ ディレクトリの読み取りアクセス許可と、コピー ディレクトリの書き込みアクセス許可が必要です。 | sp_help_log_shipping_secondary_database ストアド プロシージャと同一の権限が必要です。 |
-restore |
コピー ディレクトリの読み取り/書き込みアクセス許可が必要です。 |
RESTORE ステートメントと同じアクセス許可が必要です。 詳細については、 RESTORE ステートメントを参照してください。 |
バックアップ ディレクトリとコピー ディレクトリのパスを確認するには、sp_help_log_shipping_secondary_database ストアド プロシージャを実行するか、log_shipping_secondaryでmsdbテーブルを表示します。 バックアップ ディレクトリと宛先ディレクトリのパスはそれぞれ、 backup_source_directory 列と backup_destination_directory 列にあります。