株式会社ヴィバーク


sarasa


ベクター ソフトレビュー
ホームページの他、
こちらからも購入できます
Vector

ComponentSource

【販売代理店】
ダイワボウ情報システム株式会社
ご購入の際は最寄の支店へ
お問い合わせお願い致します)

SQL Serverトランザクションログ解析ツールsarasa

 よくあるご質問

■対応しているデータベースは何ですか?
Microsoft SQL Server 2000、 SQL Server 2005、 SQL Server 2008、SQL Server 2012、SQL Server 2014 です。
■過去の履歴はどこまで遡ることができますか?
sarasaはSQL Serverに対してdbcc logコマンドを発行し、その出力結果を解析して
データ更新履歴を表示しています。従いまして dbcc logコマンドで取得可能な範囲で
遡れることができます。

なお、dbcc logコマンドで取得できるのは直近のバックアップ以降のログ内容ですが、
Express Editionでは再起動するとdbcc logの出力が消えるなど、遡ることができる範囲には
SQL Server固有の様々な制約がありますのでご了承下さい。
■前もってデータベースに何か仕掛けをしておく必要がありますか?
sarasaの解析対象はdbcc logコマンドの出力結果ですので、解析対象データベースに
あらかじめの仕掛けなどは一切必要ありません。
■動作時、データベースに何かオブジェクトを作成しますか?
sarasaは解析対象のログ内容を一時テーブルに格納します。そのためログ容量によっては
tempdbのスペースを大きく使用したり、データベースに負荷をかけることがあります。
なお、作成するのはすべて一時テーブルなので、sarasaの終了と同時に削除されます。
■本番環境でバックアップしたファイル(*.bak,*.trn)を、別の環境で復元しました。
 復元した後sarasaによる解析をしましたが、何も表示されません。
 なぜでしょうか?
データベースをバックアップファイル(*.bak,*.trn)から復元した場合、sarasaで解析はできません。
バックアップファイルに含まれる情報はデータの復元に使われるだけで、トランザクションログそのものが復元されるわけではないためです。

バックアップファイルから復元したデータベースは解析できませんが、バックアップファイルそのものを解析対象とすることは可能です。
■バックアップファイルは解析できますか?
データベース バックアップファイル(*.bak)を直接解析することができます。
ただ、データベース バックアップファイルには解析可能なログが含まれていないことが多いようです。
※ファイルからデータベースに復元しておく必要はありません
※バックアップを実施したサーバと同バージョンのSQL Serverが必要です
■ファイル出力されたトランザクションログは解析できますか?
トランザクションログ バックアップファイル(*.trn)を直接解析することができます。
※ファイルからデータベースに復元しておく必要はありません
※バックアップを実施したサーバと同バージョンのSQL Serverが必要です
■データ更新したユーザID、マシン名などはわかりますか?
トランザクションログには更新したデータ内容は記録されていますが、更新したログインIDや
マシン名などの情報は含まれておりません。sarasaでの表示は不可能です。
■過去に発行されたSQLがわかるのですか?
トランザクションログにはSQL発行結果の物理的データ内容が記録されているのみ
ですので、更新データの内容は分かりますが、発行されたSQL文を見ることはできません。
■更新内容は完全に正確ですか?
sarasaはdbcc logコマンドの出力結果から、当社が独自に解析したアルゴリズムを元に
データの更新履歴を計算、表示しています。
しかしdbcc logコマンドの仕様は一切公開されていないため、当社の解析アルゴリズムの
正確性は判断できません。
従いまして、当製品は解析結果の精度について一切保証するものではないことをご了承下さい。
■解析できないケースはありますか?
はい。いくつかのケースで解析できないパターンがございます。

 ・image型、text型、ntext型、sql_variant型、xml型、hierarchyid型、geography型、
  geometry型の項目は解析対象外です。
 ・SQL Server2005以降の場合,varchar(max)などデータ長をmaxとした可変長項目に対し、
  8000バイト以上のデータを格納した場合はそのデータは解析対象外になります。
 ・解析時点で存在していないユーザーテーブルは表示されません。
   (dropしたテーブルは表示されません)
 ・ログ記録期間中にtruncate tableすると、それ以前のデータ修正履歴が
  表示されなくなることがあります。
 ・ログ記録期間中にalter table で項目の追加や削除などを行うと、履歴表示が
  不正になります。
 ・SQL Server2005以降の場合、既にデータが存在しているテーブルに対しalter tableで
  項目の削除などを行うと、当該テーブルに対する履歴の解析が出来なくなることが
  あります。
 ・その他、データベースの状態によっては予期せぬ解析不可能ケースが発生することが
  あります。
■データの更新履歴を継続的に監視したいのですが可能ですか?
バッチ起動用解析ファイル生成オプションプログラム(別売)」を使用すれば可能です。
SQL Serverのジョブ登録やWindowsのタスク登録などでスケジュール起動の設定をすれば、
定期的に更新履歴解析ファイルを生成、保存することができます。
保存したファイルをSARASAで開くだけで、データ更新履歴がすぐに確認できます。
■ライセンスの考え方は?
  1ライセンスとはコンピュータにつくのでしょうか?ユーザにつくのでしょうか?
1ライセンスとはインストールするコンピュータにつきます。
例えばサーバ1台に1ライセンスでインストールし、複数人で使用することが可能です。
ただし、「1台」とは仮想マシンも含みますので、物理的に1台であっても
仮想的に2台であればそれぞれにライセンスが必要となります。
■トランザクションログのサイズが100MB以上になっていますが、解析にかかる実行時間は?
  またテンポラリースペースの容量はどのくらいですか?
解析時間は発生したトランザクションの内容や量、またデータベースサーバマシンの
スペックによって左右されますので一概に予測することはできません。
ただ、100MB以上に肥大化したトランザクションログですと、かなりの時間がかかることが予想
されます。
また、解析のために使用するテンポラリースペース(tempdb)には一旦全てのログを
書き込みますので、トランザクションログの使用中容量と同じ程度の容量が必要です。

■解析を実行しているときにSQL Serverのレスポンスが悪くなることはありませんか?
解析中はサーバマシンに負荷がかかります。
レスポンスの悪化を引き起こす可能性がありますのでご注意下さい。
■お試し版を利用中です。
  「ログの収集が完了しました。解析可能全ログ数 0件」と表示されます。
  完了を押しても次画面にはテーブル一覧等は表示されません。
  dbcc logコマンドを実行すると何らかの表示はされるのですが、
  dbcc logコマンドを使用しているはずのsarasaで解析できないのはなぜでしょうか?
dbcc logコマンド実行時に表示される内容は、すべてがテーブルの更新に関わるものとは
限りません。
sarasaではテーブルに対するレコード挿入・修正・削除に関する部分のみ抽出した
結果を「解析可能全ログ数」として表示しております。
そのため、dbcc logコマンドで何らかの表示がされていてもsarasaでの解析可能数が
ゼロと表示されるということも起こります。
■挿入、更新、削除のイベントを取得するためには、SQL Serverプロファイラーを常時
  起動しておく必要があるのでしょうか?
いいえ、プロファイラーなどの起動は一切必要ありません。