どのようにレッドゲートデータは、ソート順序を検討するために比較取得するには?

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

質問

私は、SQL-Server 2005を使用しています。

私は彼らに、本質的に同じデータを持っているDEVとPRODデータベースを持っています。私はレッドゲートSQLデータとの比較を行う5を比較すると、それだけで4レコードが異なることを言います。私は、テーブルを開いて、それらを表示する場合しかし、彼らは完全に異なるソート順です。どちらのテーブルには、インデックスまたはソート順を強制的に何かを持っている、と私は私のdevのはprodのと同じ順序でソートされていることを確認しようとしています。私は近くにいる時、それは明らかに一致するレコードを見つけることですので、しかし、レッドゲートは、彼らが同じソート順になっていない場合でも、私に教えてくれません。私はそれをオーバーライドする方法を教えてください。

私はそれが右持っていることを確認するために、ソート順を考え出した時に伝えるためのツールを使用するようにしたいと思います。

役に立ちましたか?

解決

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

あなたがテーブルを照会するときに、データがディスクから引っ張られている順序は、これまでに頼っすべきではない - あなたが特定の順序が必要な場合は、特定のソート順を強制的にクエリに句「BY ORDER」を含める必要があります。あなたはORDER BYを使用できないことを、いくつかの理由がある場合、特定のソート順を強制するために、あなたの唯一の他のオプションは、テーブルをソートしたいのですがそれによってフィールドにクラスタ化インデックスを追加します。

あなたが本当にデータを並べ替える必要がある場合は、あなたが「間違っている」のですテーブルを切り捨て、それを移入する必要があります「INSERT INTO [悪いためテーブル] SELECT * FROM [良い順位表]」。それは所望の効果を持っている必要がありながら、それでも、保証はありません。

私はあなたの最良の選択肢として、ORDER BY句をお勧めします。これらのオプションのどれも動作しません理由がある場合、私に知らせて、私は何か他のものを提案しようとすることができます。

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