書式
バックアップする場合
drmsqlbackup { インスタンス名 | DEFAULT }
[ -system | -target データベース名 | -f 一括定義ファイル名 ]
[ -rc [ 世代識別名 ]]
[ -pf コピーパラメーター定義ファイル ]
[ -comment バックアップコメント ]
[ -script ユーザースクリプトファイル名 ]
[ -s バックアップサーバ名
[ -auto_import
[ -auto_mount [ マウントポイントディレクトリ名 ]]
]
[ -svol_check ]
]
バックアップカタログを作成する場合
drmsqlbackup { インスタンス名 | DEFAULT }
[ -system | -target データベース名 | -f 一括定義ファイル名 ]
-template
[ -comment バックアップコメント ]
説明
指定したインスタンスが記憶されているボリュームを副ボリュームにバックアップします。指定したインスタンスのデータファイルや各種のデータベースなどのオブジェクトが,複数のボリュームで構成されている場合,すべての正ボリュームが副ボリュームにバックアップされます。
SQL Serverインスタンスをバックアップするときは,オンラインバックアップになります。コマンドを実行するときに,起動していないインスタンスを指定すると,コマンドはエラーになります。
コマンドを実行すると,インスタンス内のデータベースに対して,SQL ServerのVDIによって,スナップショットが作成されます。
スナップショットのデータ(メタファイル)は,次のディレクトリに格納されます。
メタファイル格納先ディレクトリが空の場合,バックアップが終了すると正ボリュームにメタファイルは存在しなくなり,副ボリュームにだけ存在します。
プライマリデータファイルと同一パスにあるデータファイルやトランザクションログファイルの名前に「META_データベースID.dmp」という名前のファイルを使わないでください。この名前のファイルがある場合,バックアップは失敗します。
メタファイルに使用されるバックアップIDは,コマンド実行時に割り当てられる10けたの数値です。また,データベースIDはSQL Serverで割り当てられるデータベースを識別するための10けたの数値です。
稼働していないインスタンスを指定した場合は,コマンドはエラーになります。また,インスタンス名だけ指定して実行した場合,インスタンスに含まれるすべてのユーザーデータベースがバックアップ対象になります。SQL Serverのシステムデータベース(master,model,msdb)は含まれません。システムデータベースをバックアップする方法は,次のとおりです。
コマンドを実行する直前には,副ボリュームのシステムキャッシュをクリアしておく必要があります。システムキャッシュをクリアするには,バックアップサーバで副ボリュームをマウントしてから,アンマウントしてください。
「PAIR」状態のコピーグループに対してこのコマンドを実行した場合,コピーグループの状態が「PSUS」に変更されます。
ローカルサイトでdrmsqlbackupコマンドを実行する場合,ペア状態が「SMPL」のときは自動ペア生成を実行しません。この場合,RAID Manager用連携定義ファイル(DEFAULT.dat)のPAIR_CREATEパラメーターにENABLEを設定したときには自動ペア生成を実行します。
インストール後,drmsqldisplayコマンドに-refreshオプションを指定して実行しないで,ディクショナリマップファイルが作成していない状態でdrmsqlbackupコマンドを実行した場合,drmsqlbackupコマンドでディクショナリマップファイルが作成されます。この場合,ディクショナリマップファイルの作成する処理時間の分,バックアップコマンド実行時間が長くなります。したがって,drmsqlbackupコマンドの実行前には-refreshオプションを指定したdrmsqldisplayコマンドを実行し,必ずディクショナリマップファイルを作成しておいてください。
コマンドを実行した場合,一度にバックアップできるデータベースの最大数は64です。65個以上のデータベースをバックアップしたい場合は,コマンドを複数回に分けて実行してください。
バックアップの対象となるのは,次の表に示すファイルです。
表2-19 SQL Serverデータベースのバックアップの対象となるファイル
対象データベース※1 | 対象となるファイルの種類 | バックアップファイル名 | バックアップファイル格納先 |
---|---|---|---|
master | データファイル | バックアップ元のファイル名と同じ | 副ボリューム |
トランザクションログファイル | バックアップ元のファイル名と同じ | 副ボリューム | |
メタファイル※2 | drmsqlinitコマンドで指定したVDIメタファイル格納ディレクトリに依存する※3 | ||
model | データファイル | バックアップ元のファイル名と同じ | 副ボリューム |
トランザクションログファイル | バックアップ元のファイル名と同じ | 副ボリューム | |
メタファイル※2 | drmsqlinitコマンドで指定したVDIメタファイル格納ディレクトリに依存する※3 | ||
msdb | データファイル | バックアップ元のファイル名と同じ | 副ボリューム |
トランザクションログファイル | バックアップ元のファイル名と同じ | 副ボリューム | |
メタファイル※2 | drmsqlinitコマンドで指定したVDIメタファイル格納ディレクトリに依存する※3 | ||
ユーザーデータベース | データファイル | バックアップ元のファイル名と同じ | 副ボリューム |
トランザクションログファイル | バックアップ元のファイル名と同じ | 副ボリューム | |
メタファイル※2 | drmsqlinitコマンドで指定したVDIメタファイル格納ディレクトリに依存する※3 | ||
ディストリビューションデータベース | データファイル | バックアップ元のファイル名と同じ | 副ボリューム |
トランザクションログファイル | バックアップ元のファイル名と同じ | 副ボリューム | |
メタファイル※2 | drmsqlinitコマンドで指定したVDIメタファイル格納ディレクトリに依存する※3 |
引数
インスタンス名
バックアップ対象のデータベースインスタンスを指定します。バックアップ対象がSQL Serverで既定のインスタンスの場合,「DEFAULT」と指定します。
-system
tempdbを除くシステムデータベース(master,model,msdb)とすべてのユーザーデータベースをバックアップする場合に指定します。このオプションを使用した場合,リストアするときにSQL Serverを停止します。
-targetデータベース名
指定したインスタンスに含まれる特定のデータベースをバックアップする場合に指定します。
複数のデータベースをバックアップする場合は,1つのデータベース名ごとにコンマで区切って指定します。空白文字を含んだデータベース名を指定する場合,「"」で囲んで指定します。このオプションには,インスタンス名で指定したインスタンス上に存在するデータベースを必ず指定してください。別のインスタンス上のデータベースを指定した場合,そのデータベースに対するバックアップは行われません。
このオプションで指定したデータベース名は,バックアップカタログに登録され,drmsqlcatコマンドで確認できます。
システムデータベース(master,model,msdb)だけをバックアップする場合は,システムデータベース(master,model,msdb)を指定してコマンドを実行してください。
-f一括定義ファイル名
このオプションは,-targetオプションと同様に,指定したインスタンスに含まれる特定のデータベースをバックアップする場合に指定します。-targetオプションと異なり,データベース名の一覧を記述した定義ファイルをあらかじめ作成しておき,そのファイルの名称を指定することで,データベース名を一度に指定できます。一括定義ファイル名は,絶対パスで指定します。空白文字を含んだ一括定義ファイル名を指定する場合,「"」で囲んで指定します。
一括定義ファイルに指定するデータベースは,指定したインスタンス上にあることが前提です。指定のデータベースが別のインスタンス上にある場合,そのデータベースに対するバックアップは行われません。
システムデータベース(master,model,msdb)だけをバックアップする場合は,システムデータベース(master,model,msdb)を指定してコマンドを実行してください。
-rc世代識別名
バックアップするコピーグループの世代識別名を指定します。drmsqldisplayコマンドに-cfオプションを付けて実行し,表示された「GEN-NAME」の値を指定してください。単体ボリュームの場合は,「-」が表示されます。この場合,-rcオプションは指定できません。
リモート側の副ボリュームへバックアップする場合,このオプションを必ず指定してください。このオプションを省略すると,ローカル側の副ボリュームにバックアップされます。
世代識別名を省略した場合は,リモート側の世代番号の中で,最小の値を持つ副ボリュームがバックアップ先となります。この場合,世代番号はremote_n(nは最小の世代番号)となります。
-pfコピーパラメーター定義ファイル
コピーパラメーター定義ファイルに定義したリトライ回数とリトライ間隔を使用する場合に指定します。指定する場合は,パスではなくファイル名だけを指定してください。
このオプションを省略した場合は,RAID Manager用連携定義ファイル(DEFAULT.dat)の値が使用されます。コピーパラメーター定義ファイルに記述されていないパラメーターについても,DEFAULT.datの値が使用されます。
コピーパラメーター定義ファイルは,次の場所に任意の名前で作成します。ファイル名は,64バイト以内の半角英数字で指定してください。
<Application Agentのインストール先>¥DRM¥conf¥raid
-commentバックアップコメント
バックアップカタログにバックアップコメントを登録する場合に指定します。
バックアップコメントには,64バイトまでの任意の文字列(英数字,記号,半角スペースおよびマルチバイト文字)が指定できます。バックアップコメントは大文字と小文字を区別します。記号,半角スペースを指定する場合は,バックアップコメントを引用符(")で囲みます。記号を引用符(")で囲まない場合は,特殊記号と認識しバックアップコメントの文字列として正しく解釈できません。
バックアップコメントに使用できない記号は次のとおりです。
「¥」,「/」,「`」,「|」,「<」,「>」,「"」,「*」,「?」,「&」,「;」,「(」,「)」,「$」
先頭文字には「-」は指定できません。-commentオプションに「""」(引用符だけ)が指定された場合は,バックアップカタログにバックアップコメントは登録しません。
-scriptユーザースクリプトファイル名
ユーザースクリプトを実行する場合に指定します。ユーザースクリプトファイル名は絶対パスで指定します。ユーザースクリプトファイル名を指定するときの条件は次のとおりです。
ユーザースクリプトファイルの記述内容については,マニュアル「Hitachi Command Suite Replication Manager Software Application Agent CLI ユーザーズガイド」の,ユーザースクリプトを作成する方法についての記述を参照してください。
ユーザースクリプトファイルに「LOCATION=REMOTE」を指定した場合は,-sオプションをあわせて指定する必要があります。
-sバックアップサーバ名
リモートのバックアップサーバに接続してバックアップを実行する場合に指定します。バックアップサーバのホスト名またはIPアドレスを,255バイト以内の文字列で指定してください。IPアドレスはIPv4またはIPv6形式で指定できます。
-auto_import
ボリュームのバックアップが完了したあと,バックアップカタログをバックアップサーバに自動転送する場合に指定します。このオプションは,-sオプションと同時に指定する必要があります。
-auto_mountマウントポイントディレクトリ名
ボリュームのバックアップが完了したあと,バックアップサーバで副ボリュームを自動マウントする場合に指定します。このオプションは,-sオプションおよび-auto_importオプションと同時に指定する必要があります。
マウントポイントディレクトリ名は,64バイト以内の文字列で指定してください。
マウントポイントディレクトリ名を省略した場合は,副ボリュームのマウント先が自動的に設定されます。設定規則は,drmmountコマンドでマウントポイントを明示的に指定しなかった場合と同じです。
マウントした副ボリュームは,drmumountコマンドを使用してアンマウントしてください。
-svol_check
バックアップサーバでの副ボリュームの状態をチェックしたい場合に指定します。このオプションは,-sオプションと同時に指定する必要があります。副ボリュームの状態をチェックすることで,バックアップの失敗,またはリストアの失敗を防ぐことができます。チェック内容(項目,対象,条件)は次のとおりです。
表2-20 副ボリュームの状態チェック
チェック項目 | チェック対象のボリューム | チェックの条件 |
---|---|---|
副ボリュームがバックアップサーバから隠ぺいされていること | バックアップ対象の正ボリュームに対して定義されたすべての副ボリューム | 正ボリュームが複数世代の副ボリュームとペア定義されている場合で,かつ,次のどちらかに該当する場合にチェックされる。
|
副ボリュームがバックアップサーバにマウントされていないこと | 今回,バックアップ先となる副ボリューム | 常にチェックされる。 |
-template
ペア再同期,分割およびデータベース静止化を行わないで,バックアップカタログだけを作成する場合に指定します。
-templateオプションを指定してテンプレートカタログを作成しても,古いメタファイルは削除されます。
例えば,2世代環境で次のコマンドを実行したとします。
この場合,手順3.を実行後は,手順1.で取得されたメタファイルとカタログは削除されます。
このバックアップカタログは,リモートでバックアップしたデータをリストアするときだけ使用できます。
注意事項
戻り値
0:正常終了した場合
0以外:エラーが発生した場合
使用例
PROMPT> drmsqlbackup SQLDB
PROMPT> drmsqlbackup SQLDB -target DB01,DB02
PROMPT> drmsqlbackup default -comment comment
KAVX0001-I drmsqlbackupコマンドを開始します。
KAVX1017-I SQL Serverの情報を取得しています。
KAVX1207-I データベースのバックアップ中です。
KAVX0040-I バックアップは以下の内容で取得されています。
バックアップID = 0000000021
KAVX0002-I drmsqlbackupコマンドを終了します。
PROMPT> drmsqlbackup default -template
KAVX0001-I drmsqlbackupコマンドを開始します。
KAVX1017-I SQL Serverの情報を取得しています。
KAVX0085-I バックアップ情報を作成中です。
KAVX0086-I バックアップ情報は以下の内容で取得されています。
バックアップID = 0000000001
KAVX0002-I drmsqlbackupコマンドを終了します。
PROMPT> drmsqlbackup default -script C:¥Uscript.txt
KAVX0001-I drmsqlbackupコマンドを開始します。
KAVX1017-I SQL Serverの情報を取得しています。
KAVX1207-I データベースのバックアップ中です。
KAVX0210-I ユーザースクリプトを実行します。
処理セクション = RESYNC_PROC
KAVX0212-I ユーザースクリプトのコマンドを実行します。
コマンドライン = C:¥HORCM¥etc¥pairresync.exe -g TC01 -d sql01 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0212-I ユーザースクリプトのコマンドを実行します。
コマンドライン = C:¥HORCM¥etc¥pairresync.exe -g TC01 -d sql02 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0211-I ユーザースクリプトの実行が終了しました。
KAVX0210-I ユーザースクリプトを実行します。
処理セクション = SPLIT_PROC
KAVX0212-I ユーザースクリプトのコマンドを実行します
コマンドライン = C:¥HORCM¥etc¥pairsplit.exe -g TC01 -d sql01 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0212-I ユーザースクリプトのコマンドを実行します
コマンドライン = C:¥HORCM¥etc¥pairsplit.exe -g TC01 -d sql02 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0211-I ユーザースクリプトの実行が終了しました。
KAVX0040-I バックアップは以下の内容で取得されています。
バックアップID = 0000000001
KAVX0002-I drmsqlbackupコマンドを終了します。
PROMPT>
PROMPT> drmsqlbackup default -script C:¥Uscript.txt
KAVX0001-I drmsqlbackupコマンドを開始します。
KAVX1017-I SQL Serverの情報を取得しています。
KAVX1207-I データベースのバックアップ中です。
KAVX0210-I ユーザースクリプトを実行します。
処理セクション = RESYNC_PROC
KAVX0212-I ユーザースクリプトのコマンドを実行します。
コマンドライン = C:¥HORCM¥etc¥pairresync.exe -g TC01 -d sql01 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0212-I ユーザースクリプトのコマンドを実行します。
コマンドライン = C:¥HORCM¥etc¥pairresync.exe -g TC01 -d sql02 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0211-I ユーザースクリプトの実行が終了しました。
KAVX0210-I ユーザースクリプトを実行します。
処理セクション = SPLIT_PROC
KAVX0212-I ユーザースクリプトのコマンドを実行します
コマンドライン = C:¥HORCM¥etc¥pairsplit.exe -g TC01 -d sql01 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0212-I ユーザースクリプトのコマンドを実行します
コマンドライン = C:¥HORCM¥etc¥pairsplit.exe -g TC01 -d sql02 -FBC 0
KAVX0213-I ユーザースクリプトのコマンドが終了しました。
終了コード=0
KAVX0211-I ユーザースクリプトの実行が終了しました。
KAVX0002-I drmsqlbackupコマンドを終了します。
PROMPT>