同一のスキーマを持つことがわかっている2つのMSSQLデータベースがある場合、それらにデータの同一のコピーが含まれているかどうかをどのように判断する必要がありますか?
私はMSSQLServer 2008 Expressを使用しており、ADO.NET APIを使用して.NetフレームワークのC#およびv2.0でコーディングしています。2つのデータベースインスタンスは両方とも同じSQLサーバー上にあります。
背景:データベースからファイルのセットにデータをエクスポートし、それらのファイルから(データベースの別のコピーに)データを再インポートするソフトウェアを作成しました。ラウンドトリップ中にデータが失われたかどうか(具体的には、最初のエクスポート中にデータが失われたか、残されたかどうか)をテストしたいと思います。
大まかな方法はSELECT *
、各データベースのすべてのテーブルから取得し、クライアント側のコードを使用して選択したレコードセットを比較することです。クライアント側のコードが少なくて済む別の方法はありますか?
データベースのバックアップと復元、およびデータの選択と挿入に関するドキュメントを見つけましたが、ラウンドトリップが完全に成功したことを確認/証明する方法、つまり、 2つのデータベースのテーブルには、等しいデータが含まれています。