データベーススキーマに対してクライアントデータベースを検証する方法は?

StackOverflow https://stackoverflow.com/questions/606500

質問

クライアントはSQLServer / Oracleデータベースを使用します。長年にわたり、多くの更新スクリプトを送信してきましたが、それらは手動で実行する必要がありました。ほとんどの場合、すべてがスムーズになりましたが、スクリプトが最後まで完全に実行されなかったり、エラーが発生したりすることがありました(アップグレード時に検出されませんでした)。また、「スマートユーザー」でさえも何らかの理由で、それらのデータベース自体にインデックス/テーブルを追加しました。後で、これらの不規則性は問題につながります。

これで、クライアントデータベースを独自のデータベーススキーマ(テーブル、データ型、インデックス、ビューなど)に対して検証/検証する方法を見つけるようになりました。出力は、欠落しているもの/データベースにないものを示す何らかの種類の差分ファイルである必要があります。アプリケーション内からコード(C ++)でこれを行うことも、この1つの目的だけで外部ツールを作成することもできます。

コーディングを開始する前に、必要な結果を生成するツールがすでにあるかどうか、または少なくともマスターデータベース(OracleおよびSQLServer)から適切なxmlファイルを生成するのに役立つツールがあるかどうかを確認したかった?または、独自のツールを作成するのに役立つライブラリがありますか?

役に立ちましたか?

解決

この手法は以前に使用したことがあり、ツールを購入する必要はありません。

Enterprise Managerには「スクリプトの作成」があります特徴。これを参照データベースと比較データベースで実行します。適切なオプションを選択して、関心のあるオブジェクトのスクリプトを生成します。次に、生成された2つのファイルをお好みのdiffツールと比較します。

DDLスクリプトをエクスポートできるOracleツールを使用して同様の手順を実行できます。

他のヒント

Red Gateのツールを使用する3つのオプションがあります:

  1. クライアントに比較を実行させます。 あなたを説得する必要があります SQLのライセンスを購入するクライアント スキーマを比較して送信する データベースのスナップショット。
  2. Redを使用して独自のアプリケーションを作成する GateのSQL比較SDK(595ドル 10ディストリビューション)実行可能 クライアントサイトで。
  3. クライアントにスキーマのスナップショットを送信してもらい、 自分で比較を自分で実行する SQL Compareのコピー。レッドゲート 無料のスキーマスナップショットツールを提供します 作成するSQL Snapperと呼ばれる スナップショットをメールで送信できます あなたのクライアントによって。これにはデータが含まれていないため、クライアントが検討しても構わないものです。

SQL SnapperツールとSQL比較SDKサンプルコードは、labs.red-gate.com Webサイトからダウンロードできます。

Oracleの互換性は、アーリーアクセスビルドの形式で利用できるようになりました。興味がある場合やツールを試してみたい場合は、製品ページをご覧ください。このツールは、ツールが完全にリリースされるまで無料で使用できます。

Red Gate Softwareプロダクトマネージャー、David Atkinson。

このためにRedgate SQL Compareを使用しており、長年にわたって役立っています。

Redgate SQL Data Compareを使用して、ルックアップテーブルのコンテンツを比較します。

redgateのユーザーには、 SQL Compare という優れたツールがあります。 。

Windozeを使用している場合、私は何年もAdvanced Query Toolを使用してきましたが、お金のために、それは何よりも優れていることを証明できます。特に、データベース間の差分レポートを生成します。 ODBC / VB6であり、多数のデータベースに対して実行できます。見てみな。 (いいえ、QueryToolではなく、その一部も所有していません。ただの幸せなクライアントです。)

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top