2008-09-17 75 views
2

我正試圖提供一個通用解決方案,用於將數據從一個模式版本遷移到另一個模式版本。源模式的列數據類型與目標的列數據類型不匹配時會出現問題。我想創建一個查詢,對列數據類型進行初步比較,以返回在遷移可能之前需要修復哪些列。跨數據庫information_schema加入SQL Server

我目前的做法是從information_schema.columns返回表名和列名,DATA_TYPE之間的目錄不匹配。但是,直接查詢information_schema將僅返回連接目錄中的結果。

有沒有人寫過這樣的查詢?

+0

模式是否與數據類型不同? – 2008-09-17 15:18:37

回答

2

我一直處於幸運的位置,有紅門Schema compare,我認爲它會按照你的要求去做。價格便宜兩倍!

+2

Red_gate生產價格合理的優質產品。他們的產品值得每一分錢, – HLGEM 2008-09-24 21:38:21

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