トランザクションログを SQL スクリプトファイルに変換します。
データベースサーバーに対して実行する場合。
dbtran [ options ] -c { connection-string } -n SQL-script-file
トランザクションログに対して実行する場合。
dbtran [ options ] [ transaction-log ] [ SQL-script-file ]
オプション | 説明 | ||
---|---|---|---|
@data |
指定された環境変数または設定ファイルからオプションを読み込みます。設定ファイルを参照してください。 設定ファイル内のパスワードなどの情報を保護する場合は、ファイル非表示ユーティリティを使用して、設定ファイルの内容を読みにくくすることができます。ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
||
-a |
コミットされていないトランザクションをトランザクションログに含めるかどうかを制御します。 トランザクションログには、最新の COMMIT 以前にすべてのトランザクションによって加えられた変更が含まれます。最新のコミット以後の変更はトランザクションログの中にはありません。 -a が指定されていない場合、出力ファイルにはコミットされたトランザクションのみが含まれます。-a を指定した場合、トランザクションログにあるコミットされていないトランザクションに続いて、ROLLBACK 文が出力されます。 |
||
-c "keyword=value; ..." | ユーティリティをデータベースサーバーに対して実行する場合に、接続文字列を指定します。接続パラメーターを参照してください。 | ||
-d | トランザクションを古いものから新しいものへと順に書き出すことを指定します。この機能は、主に、データベースのアクティビティを監査するときに使用されます。dbtran の出力を、データベースに対して適用しないようにしてください。 | ||
-ek key |
強力に暗号化されているデータベースの暗号化キーを指定します。データベースが強力に暗号化されている場合、データベースまたはトランザクションログを使用するには暗号化キーを指定する必要があります。 強力な暗号化が適用されたデータベースの場合、-ek または -ep のどちらかを指定します。両方同時には指定できません。正しい暗号化キーを指定しないとコマンドが失敗します。 データベースサーバーに対して -c オプションを使用して dbtran を実行している場合は、-ek オプションではなく、接続パラメーターを使用してキーを指定してください。たとえば、次のコマンドは、データベースサーバー sample からデータベース myenc.db についてのトランザクションログ情報を取得し、その出力を log.sql に保存します。
|
||
-ep |
暗号化キーを入力するよう要求します。このオプションを指定すると、暗号化キーを入力するためのウィンドウが表示されます。クリアテキストでは暗号化キーを見ることができないようにすることで、高いセキュリティが得られます。 強力な暗号化が適用されたデータベースの場合、-ek または -ep のどちらかを指定します。両方同時には指定できません。正しい暗号化キーを指定しないとコマンドが失敗します。 データベースサーバーに対して -c オプションを使用して dbtran を実行している場合は、-ep オプションではなく、接続パラメーターを使用してキーを指定してください。たとえば、次のコマンドは、データベースサーバー sample からデータベース myenc.db についてのトランザクションログ情報を取得し、その出力を log.sql に保存します。
|
||
-f | 最終チェックポイント以降に完了したトランザクションだけを出力します。 | ||
-g |
auditing データベースオプションがオンの場合は、監査情報をトランザクションログに追加します。この情報は、このオプションを使用して、出力ファイルにコメントとして含めることができます。auditing オプションを参照してください。 -g オプションは、-a、-d、-t オプションも暗黙で指定したことになります。 |
||
-ir offset1,offset2 | 2 つの指定オフセット間の部分的トランザクションログを出力します。 | ||
-is source,... |
次の 1 つ以上のソース (カンマ区切りのリストで指定) の操作によって変更された、ローに対する操作を出力します。
|
||
-it owner.table,... | カンマ区切りのリストで指定されたテーブルに対する操作を出力します。各テーブルは、owner.table として指定します。 | ||
-j date/time | 指定した日付または時刻より前の、最新のチェックポイント以降のトランザクションだけを変換します。ユーザーは、日付、時刻、日付と時刻を引用符で囲んで引数を指定できます。時刻を省略すると、その日付の開始時刻が使用されます。日付を省略すると、今日の日付が使用されます。日付と時刻には、フォーマット "YYYY/MMM/DD HH:NN" を使用できます。 | ||
-k | エラー検出時に部分的な .sql ファイルが消去されるのを防止します。dbtran の実行中にエラーが検出された場合、通常は、部分的なファイルが誤って使用されないように、その時点までに生成された .sql ファイルが消去されます。このオプションを指定すると、破損したトランザクションログからトランザクションをサルベージしようとするときに役立ちます。 | ||
-m | トランザクションログを格納するディレクトリを指定します。このオプションは、-n オプションと一緒に使用してください。 | ||
-n filename | データベースサーバーに対して dbtran ユーティリティを実行するときに、SQL 文を保持する出力ファイルを指定します。 | ||
-o filename | 指定したファイルに、出力メッセージを書き込みます。 | ||
-q | クワイエットモードで実行します (メッセージを表示しません)。 | ||
-r | コミットされなかったトランザクションを削除します。これはデフォルトの動作です。 | ||
-s | UPDATE 文の生成方法を制御します。テーブルにプライマリキーまたはユニークなインデックスがない場合、重複ローが存在する可能性があるため、このオプションを指定しないと、ログ変換ユーティリティは標準ではない FIRST キーワードを使って UPDATE 文を作成します。このオプションを使用すると、FIRST キーワードが省略され、SQL 標準との互換性が保持されます。 | ||
-sr | SQL Remote がリモートサイトに操作を分配する方法を記述するコメントを生成し、出力ファイルに挿入します。 | ||
-t | トリガーをスクリプトファイルに含めるかどうかを制御します。デフォルトでは、トリガーが実行する動作はスクリプトファイルには含まれません。一致するトリガーがデータベースにある場合は、データベースに対してスクリプトファイルを実行すると、トリガーの動作が自動的に実行されます。すファイルが実行されるデータベース内に一致するトリガーがない場合は、トリガーの動作を出力に入れてください。 | ||
-u userid,... | 指定したユーザーのトランザクションログだけが出力されるように制限します。 | ||
-x userid,... | 指定したユーザー以外のトランザクションログが出力されるように制限します。 | ||
-y | 確認メッセージを表示することなく、既存のスクリプトファイルを置き換えます。-q を指定する場合、-y も指定しないと操作は失敗します。 | ||
-z | トリガーによって生成されたトランザクションを、コメントとして出力ファイルの中に含めます。 | ||
transaction-log | 変換するログファイルを指定します。-c または -m オプションとは一緒に使用できません。 | ||
SQL-file | 変換した情報を含む出力ファイルを指定します。transaction-log 専用です。 |
dbtran ユーティリティは、トランザクションログ内の情報を取り出して、それらを一連の SQL 文とコメントとして出力ファイルに入れます。このユーティリティは、次の方法で実行できます。
データベースサーバーに対して実行 データベースサーバーに対して実行した場合、dbtran は標準的なクライアントアプリケーションとして動作します。これは、-c オプションの後に指定された接続文字列を使用してデータベースサーバーに接続し、-n オプションによって指定されたファイルに出力を送ります。この方法での実行には、DBA 権限が必要です。
次のコマンドは、サーバー demo12 からのログ情報を変換して、出力をファイル demo.sql に入れます。
dbtran -c "Server=demo12;DBN=demo;UID=DBA;PWD=sql" -n demo.sql |
トランザクションログファイルに対して実行 トランザクショログに対して実行した場合、dbtran はトランザクションログファイルに対して直接作用します。ユーザーにこのコマンドを実行する機能を持たせないようにする場合は、トランザクションログファイルを一般的なアクセスから保護してください。
dbtran demo.log demo.sql |
dbtran ユーティリティが実行されると、トランザクションログの初期のログオフセットが表示されます。複数のログファイルが作成される場合、順序を決定するにはこの方法が効果的です。
-c を使用する場合、dbtran はオンライントランザクションログファイルと、オンライントランザクションログファイルと同じディレクトリにあるすべてのオフライントランザクションログファイルを変換しようとします。ディレクトリに複数のデータベース用のトランザクションログファイルが含まれている場合、dbtran がエラーを示す場合があります。この問題を回避するには、各ディレクトリに 1 つのデータベースのみのトランザクションログファイルが含まれていることを確認します。
トランザクションは複数のトランザクションログにまたがる場合があります。トランザクションログファイルに複数のログにまたがるトランザクションが含まれている場合、単一のトランザクションログファイル (たとえば dbtran demo.log
) を変換すると、関連しているトランザクションが失われる場合があります。dbtran によって完全なトランザクションを生成するには、ディレクトリ内のトランザクションログファイルで -c または -m オプションを使用します。トランザクションログが複数の場合のデータベースのリカバリを参照してください。
次の方法で、ログ変換ユーティリティにアクセスできます。
Sybase Central のログファイル変換ウィザードを使用する。
コマンドプロンプトで、dbtran コマンドを入力する。バッチまたはコマンドファイルへの組み込みには、このユーティリティが便利です。
終了コードは、0 (成功) または 0 以外の値 (失敗) です。ソフトウェアコンポーネントの終了コードを参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2012, iAnywhere Solutions, Inc. - SQL Anywhere 12.0.1 |