Replication Manager Application Agent CLI リファレンスガイド
インスタンスを指定してトランザクションログをバックアップする場合
drmsqllogbackup インスタンス名 [ -no_cat ] [ -no_truncate ] [ -target データベース名 | -f 一括定義ファイル名 ]バックアップIDを指定してトランザクションログをバックアップする場合
drmsqllogbackup バックアップID [ -no_truncate ]起点となるバックアップカタログが存在するインスタンスを指定してトランザクションログのバックアップの一覧を表示する場合
drmsqllogbackup インスタンス名 -v [ BACKUP-ID | -target データベース名 | -f 一括定義ファイル名 ]起点となるバックアップカタログが存在しないインスタンスを指定してトランザクションログのバックアップの一覧を表示する場合
drmsqllogbackup インスタンス名 -no_cat -v [ -target データベース名 | -f 一括定義ファイル名 ]起点となるバックアップカタログが存在するバックアップIDを指定してトランザクションログのバックアップの一覧を表示する場合
drmsqllogbackup バックアップID -v [ -target データベース名 | -f 一括定義ファイル名 ] [ -s ログバックアップID ] [ -e ログバックアップID ]起点となるバックアップカタログが存在するトランザクションログのバックアップファイルを削除する場合
drmsqllogbackup バックアップID -d [ -s ログバックアップID ] [ -e ログバックアップID ]起点となるバックアップカタログが存在しないトランザクションログのバックアップファイルを削除する場合
drmsqllogbackup インスタンス名 -no_cat -d [ -s ログバックアップID ] [ -e ログバックアップID ]ログバックアップカタログのトランザクションログファイルの詳細情報を表示する場合
drmsqllogbackup インスタンス名 -lsndrmsqlbackupコマンドでバックアップしたSQL Serverデータベースのトランザクションログをバックアップします。トランザクションログのバックアップ先は,drmsqlinitコマンドで指定したディレクトリです。このコマンドで取得するトランザクションログバックアップファイルの名称は,次の形式になります。
データベース名_yyyymmddhhmmss_ログバックアップID.bkここで使用されるログバックアップIDとは,バックアップIDで指定したバックアップデータに対して実行したトランザクションログのバックアップの回数を識別するためのIDです。4桁の10進数で表します(例:0001,1000)。
このコマンドを実行する上での前提条件を次に示します。
- バックアップ対象のインスタンスが起動されていること
- トランザクションログが壊れてないこと
- データベースの復旧モデルが「完全」または「一括ログ記録」のデータベースであること(「単純」復旧モデルのデータベースは対象外)
- SQL Serverが提供しているトランザクションログをバックアップする機能(BACKUP LOGやログ配布機能など)を使用していないこと
- 事前にdrmsqlbackupコマンドを実行して,データベースのバックアップを取得していること
インスタンス名
バックアップ対象のSQL Serverインスタンスの名称を指定します。バックアップ対象がSQL Serverで既定のインスタンスの場合,「DEFAULT」と指定します。
バックアップID
トランザクションログのバックアップ,トランザクションログファイルの表示または削除をする場合に,基点となるバックアップIDを指定します。なお,指定できるバックアップIDの値は0000000001~4294967295 です。先頭の0は省略しないでください。
トランザクションログをバックアップする場合のバックアップIDは,最新のものを指定してください。
対象とするバックアップカタログが削除されてしまい,バックアップIDを特定できない場合,オリジナルのIDを指定することもできます。この場合,オリジナルのIDの先頭に「O:」を付加し,バックアップIDと同じようにコマンドの引数として指定してください。使用例を次に示します。
- オリジナルID「0000000001」に対して実行されたトランザクションログバックアップ情報を参照する場合
PROMPT> drmsqllogbackup O:0000000001 -v- オリジナルID「0000000001」に対して実行されたトランザクションログバックアップ情報を削除する場合
PROMPT> drmsqllogbackup O:0000000001 -d-v
バックアップしたトランザクションログの一覧を表示する場合に指定します。同時に指定したバックアップID以降に取得したトランザクションログのバックアップ情報が表示されます。このオプションで表示される内容は,そのままトランザクションログ一括定義ファイルとして利用することもできます。
BACKUP-ID
指定したインスタンスのバックアップのバックアップIDを表示する場合に「BACKUP-ID」と指定します。
-no_cat
Application Agent 6.3以降のdrmsqlbackupでバックアップしていないデータベースを対象としたトランザクションログバックアップを実行する場合や,トランザクションログバックアップの起点となるバックアップカタログがない場合に指定します。
-no_catオプションを指定した場合は,トランザクションログのログバックアップIDとバックアップIDは関連づけられません。
次のように,起点となるバックアップカタログがない場合に,トランザクションログバックアップを実行するときに指定します。
- コピーグループを再同期するコマンドによって,バックアップカタログが削除されたバックアップ
- ローカルへのバックアップをしないで,リモートバックアップだけを実行したバックアップ
このオプションを指定して取得したトランザクションログバックアップを,-vオプションで表示した場合は,ORIGINAL-IDおよびBACKUP-IDに「-(ハイフン)」が表示されます。
-no_truncate
トランザクションログを切り捨てないでバックアップする場合に指定します。障害が発生し,データベースのデータファイルが損傷を受けている場合でも,トランザクションログは損傷を受けていないときは,このオプションを指定するとトランザクションログのバックアップを取得できます。
-target データベース名
インスタンス名で指定したインスタンスの特定のデータベースに関する情報を表示する場合に指定します。複数のデータベースを表示する場合は,1つのデータベース名ごとにコンマで区切って指定します。空白文字を含んだデータベース名を指定する場合,「"」で囲んで指定します。
-f 一括定義ファイル名
インスタンス名で指定したインスタンスの特定のデータベースに関する情報を表示する場合に指定します。-targetオプションと異なり,表示するデータベースの一覧を記述した定義ファイルをあらかじめ作成しておき,そのファイルの名称を指定することで,情報を表示するデータベースを一度に指定できます。一括定義ファイル名は絶対パスで指定します。空白文字を含んだ一括定義ファイル名を指定する場合,「"」で囲んで指定します。
-d
取得したトランザクションログのバックアップファイルを削除する場合に指定します。
-s ログバックアップID
表示または削除するトランザクションログのバックアップファイルの始点を指定する場合に指定します。-eオプションと組み合わせて指定すると,表示または削除するトランザクションログのバックアップファイルの始点と終点の範囲を指定できます。-sオプションだけを指定した場合,-sオプションで指定したログバックアップIDが始点となり,最後のログバックアップIDが終点となります。
なお,指定できるログバックアップIDの値は0001~9999です。先頭の0は省略しないでください。
-e ログバックアップID
表示または削除するトランザクションログのバックアップファイルの終点を指定する場合に指定します。-sオプションと組み合わせて指定すると,表示または削除するトランザクションログのバックアップファイルの始点と終点の範囲を指定できます。-eオプションだけを指定した場合,先頭のログバックアップIDが始点となり,-eオプションで指定したログバックアップIDが終点となります。
なお,指定できるログバックアップIDの値は0001~9999です。先頭の0は省略しないでください。
-lsn
ログバックアップカタログのトランザクションログファイルの詳細情報を表示する場合に指定します。バックアップIDに関連づけられたログバックアップIDと,バックアップIDに関連づけられていないログバックアップIDの両方のトランザクションログのバックアップ情報を表示します。
-lsnオプションを指定したときに表示される項目を,次の表に示します。
表2-24 drmsqllogbackup -lsnの表示項目
表示項目 意味 BACKUP-ID バックアップID(10桁)※1 ORIGINAL-ID オリジナルID(10桁) LOG-BACKUP-ID ログバックアップID(4桁) DB SQL Serverデータベース名(MSSQLでユーザーが指定した名称) FILE トランザクションログのバックアップファイル名 FIRST-LSN トランザクションログバックアップ内の先頭ログシーケンス番号※2 LAST-LSN トランザクションログバックアップ内の終端ログシーケンス番号※2 LAST-FULL-BACKUP-TIME トランザクションログバックアップ実行時点でSQL Serverのmsdbに記録されているデータベースの完全バックアップ終了時間を,次の形式で表示。
yyyy/mm/dd hh:mm:ss※2
- 注※1
- バックアップカタログが削除された場合は,「-」が表示されます。
- 注※2
- Application Agent 6.3より前のバージョンで作成されたログバックアップカタログの場合は,「-」が表示されます。
「BACKUP-ID」に「-」が表示された場合,次の手順でバックアップIDを確認できます。
- 「BACKUP-ID」に「-」が表示されているレコードの「LAST-FULL-BACKUP-TIME」の値を確認します。
- 「drmsqlcat -lsn」を実行します。
- 「drmsqlcat -lsn」の実行結果から,「FULL-BACKUP-TIME」の値と手順1の値とが一致するレコードを確認します。
- 手順3のレコードからバックアップIDを確認します。
- システムデータベース(master,msdb,model,tempdb,distribution)は適用対象外です。
- データベースが一度リストアされた場合,復旧パスが異なるログのバックアップが混在した状態で表示されます。
- このコマンドの対象となるインスタンスに対しては,Application Agent 6.3以降のdrmsqlbackupコマンドを実行している場合は,バックアップカタログの有無に関係なくバックアップIDに関連づけられたトランザクションログバックアップを実行できます。
- Application Agent によるSQL Serverのトランザクションログバックアップ実行前に,Application Agent 以外からSQL Serverのバックアップを実行した場合,「LAST-FULL-BACKUP-TIME」にはApplication Agent 以外からSQL Serverのバックアップを実行した時間を表示します。
- バックアップカタログがない場合に,このコマンドでバックアップIDとトランザクションログバックアップを関連づけるには次の条件をすべて満たす必要があります。
- 対象のインスタンスをApplication Agent 6.3以降のdrmsqlbackupコマンドでバックアップ済みであること。
ただし,対象のデータベースをApplication Agent 6.3以降のdrmsqlbackupコマンドでバックアップしていない場合(-targetオプション指定で特定のデータベースだけバックアップした場合など),Application Agent 6.3以降のdrmsqlbackupコマンド実行時に対象データベースのバックアップカタログ(バックアップカタログの作成はApplication Agent のどのバージョンでもよい)があること。- drmsqllogbackupコマンドに次のオプションを指定していないこと。
-no_cat,-v,-lsn,-d- drmsqllogbackupコマンドにインスタンス名を指定していること。
- インスタンスの削除後に,再度,同じインスタンス名でインスタンスの登録をした場合は,drmsqlbackupコマンドでバックアップカタログを作成してからdrmsqllogbackupコマンドを実行してください。バックアップカタログを作成しないでdrmsqllogbackupコマンドを実行すると,インスタンスの再登録前のデータベース名がトランザクションログバックアップの対象となります。
- Application Agent以外からSQL Serverデータベースのトランザクションログをバックアップしないでください。Application Agent以外からSQL Serverデータベースのトランザクションログをバックアップした場合,「FIRST-LSN」から「LAST-LSN」までの値がリカバリの起点となるログシーケンス番号を含まなくなることがあります。この場合,リカバリの起点となるログシーケンス番号を正しく指定できないため,Application Agentからのリカバリに失敗します。
0:正常終了した場合
0以外:エラーが発生した場合
- インスタンス「default」のトランザクションログをバックアップする。
PROMPT> drmsqllogbackup DEFAULT- バックアップID「0000000020」,ログバックアップID「0001」から「0003」までのトランザクションログのバックアップ情報を表示する。
PROMPT> drmsqllogbackup 0000000020 -v -s 0001 -e 0003 [userDB1] C:\LogBackup\userDB1_20021106010101_0001.bk C:\LogBackup\userDB1_20021106050101_0002.bk C:\LogBackup\userDB1_20021106090101_0003.bk [userDB2] C:\LogBackup\userDB2_20021106010101_0001.bk C:\LogBackup\userDB2_20021106050101_0002.bk C:\LogBackup\userDB2_20021106090101_0003.bk- バックアップID「0000000021」,ログバックアップID「0001」から「0003」までのトランザクションログのバックアップファイルを削除する。
PROMPT> drmsqllogbackup 0000000021 -d -s 0001 -e 0003- インスタンス「default」に含まれる2つのデータベースが,異なるタイミングでバックアップされ,バックアップIDが異なる場合,トランザクションログのバックアップ情報を表示する。
- トランザクションログ一括指定ファイルの作成
- データベース名userDB1に対するバックアップID:「0000000002」
- データベース名userDB2に対するバックアップID:「0000000003」
PROMPT> drmsqllogbackup DEFAULT -v # ORIGINAL-ID:0000000002 BACKUP-ID:0000000002 → コメント行として扱われる。 [userDB1] C:\LogBackup\userDB1_20021106010101_0001.bk C:\LogBackup\userDB1_20021106050101_0002.bk C:\LogBackup\userDB1_20021106090101_0003.bk # ORIGINAL-ID:0000000003 BACKUP-ID:0000000003 → コメント行として扱われる。 [userDB2] C:\LogBackup\userDB2_20021106010101_0001.bk C:\LogBackup\userDB2_20021106050101_0002.bk C:\LogBackup\userDB2_20021106090101_0003.bk PROMPT>- インスタンスに対するバックアップID一覧情報を表示
PROMPT> drmsqllogbackup DEFAULT -v BACKUP-ID ORIGINAL-ID BACKUP-ID DB 0000000002 0000000002 userDB1 0000000003 0000000003 userDB2 PROMPT>- インスタンス「default」で,複数のデータベースを一括してバックアップした場合にバックアップIDの情報を一覧で表示する。
PROMPT> drmsqllogbackup DEFAULT -v BACKUP-ID ORIGINAL-ID BACKUP-ID DB 0000000002 0000000002 userDB1,userDB2 → コンマ区切りで表示 0000000003 0000000003 userDB2 PROMPT>- -no_catオプションで取得したトランザクションログのバックアップ情報を表示する。
PROMPT> drmsqllogbackup -no_cat -v # ORIGINAL-ID:- BACKUP-ID:- [UserDB3] C:\MSSQL\FLORA4\default\tlog\UserDB3_20040116163638_0001.bk C:\MSSQL\FLORA4\default\tlog\UserDB3_20040116163640_0002.bk # ORIGINAL-ID:- BACKUP-ID:- [UserDB2] C:\MSSQL\FLORA4\default\tlog\UserDB2_20040116163637_0001.bk C:\MSSQL\FLORA4\default\tlog\UserDB2_20040116163640_0002.bk # ORIGINAL-ID:- BACKUP-ID:- [UserDB1] C:\MSSQL\FLORA4\default\tlog\UserDB1_20040116163637_0001.bk C:\MSSQL\FLORA4\default\tlog\UserDB1_20040116163640_0002.bk- トランザクションログのバックアップ情報から,トランザクションログ一括定義ファイル「SQLTXLOG.txt」を作成する。
PROMPT> drmsqllogbackup SQL1 -target DB1 -v > C:\temp\SQLTXLOG.txt PROMPT>- データベースのデータファイルが損傷を受けている状態で,トランザクションログのバックアップを取得する。
PROMPT> drmsqllogbackup default -no_truncate KAVX0001-I drmsqllogbackupコマンドを開始します。 KAVX0002-I drmsqllogbackupコマンドを終了します。- ログバックアップカタログのトランザクションログファイルの詳細情報を表示する。
PROMPT> drmsqllogbackup SQL2k8 -lsn BACKUP-ID ORIGINAL-ID LOG-BACKUP-ID DB FILE FIRST-LSN LAST-LSN LAST- FULL-BACKUP-TIME 0000000023 0000000023 0001 USERDB C:\SQL_LOG\LOG\USERDB_20091001122024_0001.bk 30000000021600001 30000000024100001 2009/10/01 12:20:24 0000000023 0000000023 0002 USERDB C:\SQL_LOG\LOG\USERDB_20091001122024_0002.bk 30000000024100001 30000000024100001 2009/10/01 12:20:24 - 0000000024 0001 USERDB C:\SQL_LOG\LOG\USERDB_20091001132024_0001.bk 30000000024100001 30000000024100010 2009/10/01 13:20:24
All Rights Reserved. Copyright© 2014, 2020, Hitachi, Ltd.