Sql server 将一个数据库的表与另一个数据库的表进行比较
我有两个不同的数据库,它们共享一些相同的表,但有几个表不同。是否有一种方法可以获得数据库中表名之间差异的输出Sql server 将一个数据库的表与另一个数据库的表进行比较,sql-server,database,Sql Server,Database,我有两个不同的数据库,它们共享一些相同的表,但有几个表不同。是否有一种方法可以获得数据库中表名之间差异的输出 我使用的是MS SQL Server,两个表都在同一个DB服务器上 您可以使用数据库比较工具,如 它也是绝对免费的,对我来说非常有用。你只是想知道表名的区别吗?为此,您可以将外部联接到sys.tables ;WITH A AS (SELECT * FROM msdb.sys.tables WHERE type = 'U'),
我使用的是MS SQL Server,两个表都在同一个DB服务器上 您可以使用数据库比较工具,如
它也是绝对免费的,对我来说非常有用。你只是想知道表名的区别吗?为此,您可以将外部联接到
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
我不知道您对使用第三方DB实用程序的感觉如何,但Toad for SQL Server(由dell制造)非常适合进行并行比较
在哪里指定要比较的两个数据库?在本例中,我比较了
msdb
和master