我试图为将数据从一个模式版本迁移到另一个模式提供一个通用的解决方案。当源架构中的列数据类型与目标的列数据类型不匹配时,就会出现问题。我想创建一个查询,该查询将对列数据类型进行初步比较,以返回需要在迁移之前修复哪些列。
我目前的方法是返回目录之间不匹配information_schema.columns
的表和列名。DATA_TYPE
但是,information_schema
直接查询只会返回连接目录中的结果。
有没有人写过这样的查询?
我试图为将数据从一个模式版本迁移到另一个模式提供一个通用的解决方案。当源架构中的列数据类型与目标的列数据类型不匹配时,就会出现问题。我想创建一个查询,该查询将对列数据类型进行初步比较,以返回需要在迁移之前修复哪些列。
我目前的方法是返回目录之间不匹配information_schema.columns
的表和列名。DATA_TYPE
但是,information_schema
直接查询只会返回连接目录中的结果。
有没有人写过这样的查询?
我通过直接查询系统表来做到这一点。查看syscolumns
和sysobjects
表。您也可以跨链接服务器加入
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
我一直很幸运能够比较 Red Gate Schema,我认为它可以满足您的要求。便宜两倍的价格!