构建两个临时表,将两个数据库结构信息导入。

create Table #t1
(
 ID Int Identity(1,1) Not Null Primary Key,
 tablename nvarchar(50)  NULL,
 columnName nvarchar(50)  NULL,
 columnIndex int null,
 columnType nvarchar(50)  NULL
)

use 数据库1

insert into #t1

create Table #t2
(
 ID Int Identity(1,1) Not Null Primary Key,
 tablename nvarchar(50)  NULL,
 columnName nvarchar(50)  NULL,
 columnIndex int null,
 columnType nvarchar(50)  NULL
)

//开始比较

use 数据库2

insert into #t2
SELECT    
      SO.name as '表名',
      SC.name  as '表列名',
      SC.colid as '索引',
      ST.name as '类型'
  FROM      
      sysobjects   SO, -- 对象表
      syscolumns   SC, -- 列名表
      systypes     ST  -- 数据类型表
WHERE        
     SO.id = SC.id
   AND   SO.xtype = 'U'    -- 类型U表示表,V表示视图
   AND   SO.status >= 0 --加一个条件:SO.status >= 0,否则会将系统的临时表显示出来
   AND   SC.xtype = ST.xusertype
ORDER BY  
     SO.name, SC.colorder

go

//查询出 在t1 里有, t2 里没有的字段,查询列出来。

select * from
   (
    select tablename,columnName,columnType from #t1 where tablename like '%EMS_%'
    EXCEPT
    select tablename,columnName,columnType from #t2 where tablename like '%EMS_%'
   ) as c
order by tablename

转载于:https://www.cnblogs.com/shanpeng/archive/2012/02/07/2341608.html

Sql 2005 中比较两个数据库差异相关推荐

  1. SQL Server 中4个系统数据库详细介绍

    SQL Server 中4个系统数据库,Master.Model.Msdb.Tempdb. (1)Master数据库是SQL Server系统最重要的数据库,它记录了SQL Server系统的所有系统 ...

  2. SQL 2005中pivot and unpivot的用法

    .Pivot的用法体会: 语句范例: select PN,[2006/5/30] as [20060530],[2006/6/2] as [20060602] from consumptiondata ...

  3. Linq to Entity中连接两个数据库时要注意的问题

    Linq to Entity中连接两个数据库时要注意的问题 今天大学同学问了我一个问题,Linq to Entity中连接两个数据库时,报错"指定的 LINQ 表达式包含对与不同上下文关联的 ...

  4. SQL Server 中4个系统数据库,Master、Model、Msdb、Tempdb

    SQL Server 中4个系统数据库,Master.Model.Msdb.Tempdb master   数据库       master   数据库记录   SQL   Server   系统的所 ...

  5. 如何在SQL Server 2005中修复损坏的数据库

    1. 在SQL Server Management Studio中随便创建一个数据库,例如:PVLink. 2. 停止SQL Server服务. 如果不停止此服务,刚才创建的PVLink数据库将即不能 ...

  6. 更改SQL 2005登录时的默认数据库

    当SQL SERVER 2005中的默认登录数据被非法删除了以后,尝试登录Microsoft SQL SERVER Management Studio Express时,会得到提示如下的错误提示信息: ...

  7. Sql Server中判断表或者数据库是否存在

    SQL Server中判断数据库是否存在: 法(一): select * From master.dbo.sysdatabases where name='数据库名' 法(二): if db_id(' ...

  8. 两个主键怎么设置tsql_如何在sql server中设置两个主键?

    展开全部 主键是数据库表的一个重要属性,建立主键可以避免表中存在完全相同的记录,也就是说主键在e68a8462616964757a686964616f31333365633938一张表中的记录值是唯一 ...

  9. SQL 2005 中的数据约束

    SQL中的数据约束 制作人:丁琪 QQ:854804038 一.对数据库jwgl,按要求建立以下约束 1. 为student表中年龄字段添加检查约束,使字段值限制在15-30岁之间. 2. stude ...

  10. 双数据源配置(一个项目中链接两个数据库)

    resin文件配置(我用的resin,其他的可自行配置) <database><jndi-name>jdbc/OracleDB</jndi-name><dri ...

最新文章

  1. VMware 下扩展linux硬盘空间
  2. Xshell5 提示要继续使用此程序,您必须应用最新的更新或使用新版本
  3. Hive的基本操作-基本查询语法
  4. Java多线程之CAS深入解析
  5. Qt工作笔记-Qt生成dll或so,并且调用(含Liunx端与Windows端)
  6. C/C++之win98扫雷外挂基础篇
  7. 1.1.0-简介-P12-分布式锁的解决方案(二)
  8. 字节跳动面试流程和考点都在这儿
  9. DALSA相机平场校正步骤
  10. HTTP协议中POST方法和GET方法有那些区别?
  11. 最新行政区划码表数据csv
  12. mysql的lpad函数
  13. echarts 柱状图+折线图
  14. ORACLE_SID环境变量写错,因未设置系统环境变量ORACLE_SID导致ORA-12162错误
  15. 总有一种正能量触动你的心灵,读刘丁宁的一封信
  16. 学习嵌入式,需要哪些硬核技能?
  17. python控制多个屏幕_使用Python控制屏幕
  18. JavaScript小白实现简易悬浮层制作(含测试源码)
  19. excel怎么按照年月日时分秒的格式以每隔一个小时进行填充序列
  20. cmd命令生成webservice_根据wsdl文件生成WebService客户端代码

热门文章

  1. 为什么说红黑树是“近似平衡”的?
  2. spark sql常用方法
  3. 什么是Tensor Flow和lite以及数据流图
  4. 一步一步搭建vue项目
  5. 用ado.net取数据库中table、column的信息
  6. Intellij Idea 创建maven WebAPP项目
  7. QT--学习疑惑探索
  8. MySQL集群(四)之keepalived实现mysql双主高可用
  9. noip2009 普及组
  10. CentOS 6.5 + Nginx 1.8.0 + PHP 5.6(with PHP-FPM) 负载均衡源码安装 之 (三)Nginx负载均衡配置...