2011-04-11 78 views

回答

2

您可以使用数据库比较工具,如DBComparer 它是完全免费的,并且对我很好。

2

你只是想知道表名的区别?你可以为此加入sys.tables

;WITH A 
    AS (SELECT * 
     FROM msdb.sys.tables 
     WHERE type = 'U'), 
    B 
    AS (SELECT * 
     FROM master.sys.tables 
     WHERE type = 'U') 
SELECT COALESCE(A.name, B.name) AS Name, 
     CASE 
     WHEN A.name IS NULL THEN 'A' 
     ELSE 'B' 
     END      AS DB 
FROM A 
     FULL OUTER JOIN B 
     ON A.name = B.name 
WHERE (B.name IS NULL 
      OR A.name IS NULL) 
ORDER BY DB, 
      Name 
+0

你在哪里指定的2个数据库进行比较? – monksy 2011-04-11 16:49:25

+0

在这个例子中,我比较了'msdb'和'master'中的表 – 2011-04-11 20:55:23

相关问题