sqllogship アプリケーション
適用対象: SQL Server
sqllogship アプリケーションは、ログ配布構成のバックアップ、コピー、復元操作、および関連するクリーンアップ作業を行います。 操作は、 Microsoft SQL Server の特定のインスタンスで特定のデータベースに対して行われます。
構文規則の詳細については、「コマンド プロンプト ユーティリティ リファレンス (データベース エンジン)」を参照してください。
構文
sqllogship -server instance_name { -backup primary_id | -copy secondary_id | -restore secondary_id } [ -verboselevel level ] [ -logintimeout timeout_value ] [ -querytimeout timeout_value ]
引数
-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が実行されます。
-copy secondary_id
secondary_idでセカンダリ ID を指定したセカンダリ データベースのバックアップを、指定したセカンダリ サーバーからコピーするコピー操作を行います。 この ID を取得するには、 log_shipping_secondary システム テーブルから選択するか、 sp_help_log_shipping_secondary_database ストアド プロシージャを使用します。
この操作を行うと、バックアップ ディレクトリからコピー先ディレクトリにバックアップ ファイルがコピーされます。 その後、 sqllogship アプリケーションによって、セカンダリ サーバーと監視サーバーにコピー操作の履歴ログが記録されます。
-restore secondary_id
secondary_idでセカンダリ ID を指定したセカンダリ データベースを取得するため、指定したセカンダリ サーバーで復元操作を行います。 この ID を取得するには、 sp_help_log_shipping_secondary_database ストアド プロシージャを使用します。
復元先ディレクトリにある、最新の復元ポイント以降に作成されたバックアップ ファイルは、セカンダリ データベースに復元されます。 その後、ファイル保有期間に基づき、 sqllogship アプリケーションによって古いバックアップ ファイルが削除されます。 次に、セカンダリ サーバーと監視サーバーに復元操作の履歴ログが記録されます。 最後に、保有期間に基づき古い履歴情報を削除するため、 sp_cleanup_log_shipping_historyが実行されます。
-verboselevel level
ログ配布の履歴に追加するメッセージのレベルを指定します。 level は、次のいずれかの整数です。
Level | 説明 |
---|---|
0 | トレースおよびデバッグのメッセージを出力しません。 |
1 | エラー処理メッセージを出力します。 |
2 | 警告およびエラー処理メッセージを出力します。 |
3 | 情報メッセージ、警告、およびエラー処理メッセージを出力します。 これが既定値です。 |
4 | すべてのデバッグおよびトレースのメッセージを出力します。 |
-logintimeout timeout_value
サーバー インスタンスへのログインを試みてからタイムアウトするまでの時間を指定します。既定値は 15 秒です。 timeout_value のデータ型は intです。
-querytimeout timeout_value
指定した操作を開始してからタイムアウトするまでの時間を指定します。既定では、タイムアウトはありません。 timeout_value のデータ型は intです。
解説
可能な限り、バックアップ、コピー、および復元ジョブでバックアップ、コピー、および復元を行うことをお勧めします。 バッチ操作や他のアプリケーションからこれらのジョブを開始するには、 sp_start_job ストアド プロシージャを呼び出します。
sqllogship で作成されるログ配布の履歴には、ログ配布のバックアップ、コピー、および復元ジョブで作成される履歴も含まれます。 sqllogship を繰り返し使用してログ配布構成のバックアップ、コピー、および復元操作を行う場合、対応するログ配布ジョブを無効にすることを検討してください。 詳細については、「 Disable or Enable a Job」をご覧ください。
sqllogship アプリケーション (SqlLogShip.exe) は、x:\Program Files\Microsoft SQL Server\130\Tools\Binn ディレクトリにインストールされます。
アクセス許可
sqllogship では Windows 認証を使用します。 コマンドを実行する Windows 認証アカウントには、Windows のディレクトリ アクセスおよび SQL Server の権限が必要です。 要件は、 sqllogship コマンドで -backup、 -copy、 -restore のいずれのオプションを指定するかで変わります。
オプション | ディレクトリ アクセス | アクセス許可 |
---|---|---|
-backup | バックアップ ディレクトリの読み取り/書き込みアクセス許可が必要です。 | BACKUP ステートメントと同一の権限が必要です。 詳細については、「BACKUP (Transact-SQL)」を参照してください。 |
-copy | バックアップ ディレクトリの読み取りアクセス許可と、コピー ディレクトリの書き込みアクセス許可が必要です。 | sp_help_log_shipping_secondary_database ストアド プロシージャと同一の権限が必要です。 |
-restore | コピー ディレクトリの読み取り/書き込みアクセス許可が必要です。 | RESTORE ステートメントと同一の権限が必要です。 詳細については、「RESTORE (Transact-SQL)」を参照してください。 |
Note
バックアップ ディレクトリおよびコピー ディレクトリのパスを検索するには、 sp_help_log_shipping_secondary_database ストアド プロシージャを実行するか、 msdb の log_shipping_secondaryテーブルを参照します。 バックアップ ディレクトリおよびコピー先ディレクトリのパスはそれぞれ、 backup_source_directory 列および backup_destination_directory 列にあります。
参照
ログ配布について (SQL Server)
log_shipping_primary_databases (Transact-SQL)
log_shipping_secondary (Transact-SQL)
sp_cleanup_log_shipping_history (Transact-SQL)
sp_help_log_shipping_primary_database (Transact-SQL)
sp_help_log_shipping_secondary_database (Transact-SQL)
sp_start_job (Transact-SQL)