2008-09-17 11 views
2

あるスキーマバージョンから別のスキーマバージョンへのデータの移行に一般的なソリューションを提供しようとしています。ソース・スキーマの列データ型が宛先の列データ型と一致しない場合に問題が発生します。移行が可能になる前にどの列を修正する必要があるかを返すために、列データ型の予備比較を実行するクエリを作成したいと考えています。クロスデータベースinformation_schema SQL Serverの結合

現時点でのアプローチは、表と列の名前をinformation_schema.columnsから返すことです。ここで、DATA_TYPEはカタログ間で一致しません。ただし、information_schemaを直接照会すると、接続のカタログからの結果のみが返されます。

誰もこのようなクエリを書いていますか?

+0

スキーマはデータ型以外は同じですか? –

答えて

2

私はいつもあなたが尋ねることをすると思うレッドゲートSchema compareを持っている幸運な位置にいました。 2倍安い!

+2

Red_gateは、合理的な価格の良い製品を作ります。 Thier製品はすべてのペニーの価値がある、 – HLGEM

3

これは、システムテーブルを直接照会することで行います。 syscolumnssysobjectsの表を参照してください。リンクサーバー間でも参加できます

select t1.name as tname,c1.name as cname 
from adventureworks.dbo.syscolumns c1 
join adventureworks.dbo.sysobjects t1 on c1.id = t1.id 
where t1.type = 'U' 
order by t1.name,c1.colorder 
関連する問題