トランザクションログを SQL スクリプトファイルに変換します。
データベースサーバに対して実行する場合。
dbtran [ options ] -c { connection-string } -n SQL-script-file
トランザクションログに対して実行する場合。
dbtran [ options ] [ transaction-log ] [ SQL-script-file ]
オプション | 説明 | ||
---|---|---|---|
@data |
指定した環境変数または設定ファイルからオプションを読み込みます。設定ファイルを参照してください。 設定ファイル内のパスワードなどの情報を保護する場合は、ファイル難読化ユーティリティを使用して、設定ファイルの内容を難読化します。ファイル非表示ユーティリティ (dbfhide)を参照してください。 |
||
-a |
コミットされていないトランザクションをトランザクションログに含めるかどうかを制御します。 デフォルトでは、トランザクションログにはコミット済みの変更のみ含まれています。ロールバックされた変更や、直前の COMMIT の後に発生した変更は、トランザクションログには存在しません。 -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 directory | トランザクションログを格納するディレクトリを指定します。-m オプションは、トランザクションが複数のトランザクションログファイルにまたがる可能性がある場合に使用します。このオプションを使用するには -n オプションが必要です。 | ||
-n filename | 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 を実行する場合は、BACKUP DATABASE システム権限が必要です。トランザクションログファイルに対して dbtran を実行する場合は、権限は必要ありません。
dbtran ユーティリティは、トランザクションログ内の情報を取り出して、それらを一連の SQL 文とコメントとして出力ファイルに入れます。このユーティリティは、次の方法で実行できます。
データベースサーバに対して実行 データベースサーバに対して実行した場合、dbtran は標準的なクライアントアプリケーションとして動作します。これは、-c オプションの後に指定された接続文字列を使用してデータベースサーバに接続し、-n オプションによって指定されたファイルに出力を送ります。
次のコマンドは、サーバ demo16 からのログ情報を変換して、出力をファイル demo.sql に入れます。
dbtran -c "Server=demo16;DBN=demo;UID=DBA;PWD=sql" -n demo.sql |
トランザクションログファイルに対して実行 トランザクショログに対して実行した場合、dbtran はトランザクションログファイルに対して直接作用します。ユーザがこのコマンドを実行できないように、トランザクションログファイルを通常のアクセスから保護してください。
dbtran demo.log demo.sql |
dbtran ユーティリティが実行されると、トランザクションログの初期のログオフセットが表示されます。複数のログファイルが作成される場合、順序を決定するにはこの方法が効果的です。
-c を使用する場合、dbtran はオンライントランザクションログファイルと、オンライントランザクションログファイルと同じディレクトリにあるすべてのオフライントランザクションログファイルを変換しようとします。ディレクトリに複数のデータベース用のトランザクションログファイルが含まれている場合、dbtran がエラーを示す場合があります。この問題を回避するには、各ディレクトリに 1 つのデータベースのみのトランザクションログファイルが含まれていることを確認します。
トランザクションは複数のトランザクションログにまたがる場合があります。トランザクションログファイルに複数のログにまたがるトランザクションが含まれている場合、単一のトランザクションログファイル (たとえば dbtran demo.log
) を変換すると、関連しているトランザクションが失われる場合があります。トランザクションが複数のログファイルにまたがる可能性がある場合に、完全なトランザクションを生成するには、-m オプションを使用します。-m オプションは、指定したディレクトリにあるすべてのログからすべてのトランザクションを含む単一の
SQL ファイル (-n によって指定) を生成するよう dbtran に指示します。トランザクションログが複数の場合のデータベースのリカバリを参照してください。
次の方法で、ログ変換ユーティリティにアクセスできます。
Sybase Central の[ログファイル変換ウィザード] を使用する。
コマンドプロンプトで、dbtran コマンドを入力する。SQL スクリプトやコマンドファイルに組み込む場合に便利です。
終了コードは、0 (成功) または 0 以外の値 (失敗) です。ソフトウェアコンポーネントの終了コードを参照してください。
![]() |
DocCommentXchange で意見交換できます
|
Copyright © 2013, SAP AG or an SAP affiliate company. - SAP Sybase SQL Anywhere 16.0 |