3

報奨金に関する注意: 同じデータベース内の変更を監視できるツールを知っている場合にのみ回答してください。2 つのデータベースを比較するツールについては言及しないでください。Embarcadero Change Manager のような視覚的なツールは高く評価されます。

特定のアクションが与えられた場合に、データベースで「何が変更されたか」のみを確認できるツールが必要です。

シナリオは次のとおりです。

1) 監視を開始する (ツールを使用)

2) ユーザーが GUI でアクションを実行する (顧客の電話番号を変更した後に「適用」ボタンをクリックするなど)

3) 監視の停止: (ツールを使用して) 変更を表示します (この場合、アドレス フィールドが変更されていることだけを確認する必要があります)。

Embarcadero の Change Managerはこれを行いますが、他にも多くのことを行い、コストがかかります。これだけを行う簡単なツールを探しています。

注: スキーマの比較は必要ありません。単純なデータの比較だけです。

4

6 に答える 6

3

SQL Server 2008 Enterprise Edition を使用している場合は、Change Data Capture を使用して、より使いやすい形式でトランザクション ログを公開できますDBCC LOG dbname,3。詳細については、 http://msdn.microsoft.com/en-us/library/bb522489.aspxを参照してください。

于 2010-11-23T15:28:10.637 に答える
2

さまざまな xSQL ツールの Lite/Free バージョンを確認してください。

http://www.xsqlsoftware.com/LiteEdition.aspx

には、オブジェクト レベルの比較データ比較ツールがあります。

それらは「その場で」機能しませんが、いつでも 1 つのデータベースを参照として使用し、現在のデータベースをそのベースラインと比較できます。

于 2010-11-17T16:09:01.170 に答える
1

最も明白なツールはSQLプロファイラーです。サーバーに送信されるすべてのSQLステートメント、つまりすべてのデータ変更を監視し、そのステートメント、ステートメントが実行されたアカウント、およびその他の多くの情報に関するメトリックを表示し、ほとんどのSQLに無料で付属していますサーバーのバージョン。データの変更のみを表示する場合は、フィルターを追加して、Insert、Update、およびDeleteステートメントのみを表示できます。

2つのデータベースを比較して、それらの間でどのデータが異なるかを確認しようとしている場合は、Red-Gateのデータ比較のようなものをお勧めします(私はそれらのために機能しません)。これは無料ではありませんが、列値の比較によるこのタイプの列値にとって非常に貴重です。

于 2010-11-26T19:17:59.170 に答える
1

もう1つの無料の方法は、監査テーブルを配置し、すべてのテーブルに監査トリガーを配置することです。これは、変更データキャプチャではキャプチャされない追加事項を指定できるため、変更データキャプチャよりも少し柔軟性があります。

プロファイラーは、アプリがデータベースに送信したクエリを確認するために使用できるツールでもあり、多くの場合、何が変更されたかを通知する必要があります。これは監査よりも永続的な解決策ではありませんが、監査がlogn実行で役立つと思われるものであるかどうかを検討してください。

監査を設定せずにデータベースを管理することは想像できません。悪いデータの変更を修正したり、特定の変更を行った人を見つけたりするのに非常に便利です。

于 2010-11-23T15:33:31.793 に答える
1

データベース スナップショットを (十分に迅速に) 作成し、動作中の DB と比較できます。どちらの問題も無料のツールで解決できます。

于 2010-11-28T23:51:09.273 に答える
1

無料の 1 つのオプションはDBCC LOG dbname,3、トランザクション ログをダンプするために使用することです。

おそらく出力を解釈するのは楽しいでしょうが、確かに実行可能です。

于 2010-11-22T16:17:20.140 に答える