1 --取出数据库1中的表名,字段名 以及 数据类型 2 USE TestDB1; -- 3 GO 4 SELECT 5 a.name AS TableName, b.name AS ColName, c.name AS DataType 6 INTO 7 #tmptable 8 FROM 9 sysobjects a --存储库中所有的数据表信息 10 INNER JOIN syscolumns b ON a.id = b.id --数据库的各表的所有字段 11 INNER JOIN systypes c ON b.xtype = c.xtype --数据类型 12 WHERE 13 a.xtype = 'U'; --类型为 U 的是用户表 14 GO 15 16 --取出对比数据库的表名 字段名以及数据类型 17 USE TestBD2; 18 19 SELECT 20 a.name AS TableName, b.name AS ColName, c.name AS DataType 21 INTO 22 #tmptable1 23 FROM 24 sysobjects a 25 INNER JOIN syscolumns b ON a.id = b.id 26 INNER JOIN systypes c ON c.xtype = b.xtype 27 WHERE 28 a.xtype = 'U'; 29 GO 30 31 --比较两表中的数据差异 32 33 34 --); 35 GO 36 37 SELECT 38 * 39 FROM 40 #tmptable a 41 WHERE 42 NOT EXISTS ( SELECT 43 * 44 FROM 45 #tmptable1 b 46 WHERE 47 a.tablename = b.tablename ) 48 ORDER BY TableName