两个DB在同一台服务器,直接用DB名,否则需要建立linkserver假设在同一台DB----2005及以上可用 SELECT * FROM DB_A.DBO.STUFF EXCEPT ---取差异 SELECT * FROM DB_B.DBO.STUFF UNION ALL SELECT * FROM DB_B.DBO.STUFF EXCEPT ---取差异 SELECT * FROM DB_A.DBO.STUFF----如果没有记录,则相同。
按照主键列排序, bcp到文本文件, 用工具比较2个文件的异同。 或者 select ~~~~~~~ not in
SELECT * FROM DB_A.DBO.STUFF
EXCEPT ---取差异
SELECT * FROM DB_B.DBO.STUFF
UNION ALL
SELECT * FROM DB_B.DBO.STUFF
EXCEPT ---取差异
SELECT * FROM DB_A.DBO.STUFF----如果没有记录,则相同。
select ~~~~~~~ not in
(SELECT CHECKSUM(*) FROM DB2..stuff)
select * from stuff minus select * from stuff --no rows 则相同 否则不同
不好意思,是我没问清楚:SQL2000,如何找出2个结构一模一样的数据库表的数据的不同点,具体说,查询结果就是不同的数据,最好能区别数据在哪个表有、哪个表没有