【问题标题】:Cross-Database information_schema Joins in SQL ServerSQL Server 中的跨数据库 information_schema Joins
【发布时间】:2008-09-17 15:00:42
【问题描述】:

我正在尝试为将数据从一个架构版本迁移到另一个架构版本提供通用解决方案。当源架构中的列数据类型与目标的列数据类型不匹配时,就会出现问题。我想创建一个查询,该查询将对列数据类型进行初步比较,以返回需要在迁移之前修复哪些列。

我目前的方法是从information_schema.columns 返回表名和列名,其中目录之间的DATA_TYPE 不匹配。但是,直接查询information_schema只会返回连接目录中的结果。

有人写过这样的查询吗?

【问题讨论】:

  • 除了数据类型之外,模式是否相同?

标签: sql sql-server data-migration


【解决方案1】:

我通过直接查询系统表来做到这一点。查看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

【讨论】:

    【解决方案2】:

    我一直很幸运拥有 Red Gate Schema compare,我认为它会满足您的要求。便宜两倍的价格!

    【讨论】:

    • Red_gate 生产价格合理的优质产品。他们的产品值得每一分钱,
    猜你喜欢
    • 1970-01-01
    • 2018-05-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-07
    • 2021-01-27
    • 2022-01-08
    相关资源
    最近更新 更多