我有两个不同的数据库共享一些相同的表,并且有几个表不同。有没有办法可以获得数据库中表名之间差异的输出?
我正在使用MS SQL Server,并且这两个表都在同一个数据库服务器上。
答案 0 :(得分:2)
您可以使用DBComparer之类的数据库比较工具 它完全免费,对我很有用。
答案 1 :(得分: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
答案 2 :(得分:0)
我不知道您对使用第三方数据库实用程序的感受,但Toad for SQL Server(由dell制作)非常适合并排比较。