2009-05-13 17 views
1

私はSQL-Server 2005を使用しています。RedGateデータの取得方法ソート順の比較を比較しますか?

私は本質的に同じデータを持っている開発者データベースとprodデータベースを持っています。 RedGate SQL Data Compare 5と比較すると、4つのレコードだけが異なることがわかります。しかし、テーブルを開いて表示すると、まったく異なる並べ替え順になります。いずれのテーブルにも索引やソート順を強制するものはありません。私は開発者がprodと同じ順序でソートされるようにしています。しかし、たとえ同じソート順でなくても、それが明らかに一致するレコードを見つけているので、RedGateは私が近くにいるときに私に言いません。どのように私はそれを無効にするのですか?

私はソート順を見つけたときにツールを使用して、正しいかどうかを確認したいと思います。

答えて

1

異なるソート順とは、行が物理的に異なる方法でデータファイルに配置されているが、データがまだ正確に一致していることを示しているため、DCは一致すると報告します。 SQL Serverには変更を制御する方法がないため、差異を気付いても差異を同期させる方法はないため、「物理ディスクの順序を尊重する」(これは本質的にあなたが求めるものです)にするオプションはありませんディスクの順序。

テーブルをクエリするときにデータがディスクから取得される順序は、決して信頼されるべきではありません。特定の順序が必要な場合は、クエリに「ORDER BY」句を含めて特定の並べ替えを強制する必要があります注文。 ORDER BYを使用できない理由がある場合、特定のソート順序を強制する唯一のオプションは、テーブルをソートするフィールドにクラスタ化インデックスを追加することです。

本当にデータを並べ替える必要がある場合は、「間違っている」テーブルを切り捨てて、「INSERT INTO [不良な注文テーブル] SELECT * FROM [良い注文テーブル]」を入力する必要があります。それでも、望む効果があるはずですが、保証はありません。

あなたの最善の選択肢としてorder by節をお勧めします。これらのオプションが機能しない理由がある場合は、私に知らせてください。私は何か他のものを提案しようとすることができます。

+0

ええ、ご注文はお勧めです。残念ながら、いくつかの外部データにリンクされている履歴データを扱っています。既定の順序を使用して、それらのリンク方法を知ることができます。ダムですが、そこにあります。私は、注文を設定し、リンクされたデータを含むすべてのデータをリフレッシュして、これが適切に処理されるようにしなければならないと思います。 – thursdaysgeek

関連する問題