我有两个不同的数据库共享一些相同的表格,并且有几个表格不同。有没有一种方法可以获得数据库中表名之间差异的输出?将一个数据库的表格与另一个数据库的表格进行比较
我正在使用MS SQL Server,并且这两个表位于同一个数据库服务器上。
我有两个不同的数据库共享一些相同的表格,并且有几个表格不同。有没有一种方法可以获得数据库中表名之间差异的输出?将一个数据库的表格与另一个数据库的表格进行比较
我正在使用MS SQL Server,并且这两个表位于同一个数据库服务器上。
您可以使用数据库比较工具,如DBComparer 它是完全免费的,并且对我很好。
你只是想知道表名的区别?你可以为此加入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实用程序,但蟾蜍的SQL Server(由戴尔制造)并排比较了侧的伟大工程。
你在哪里指定的2个数据库进行比较? – monksy 2011-04-11 16:49:25
在这个例子中,我比较了'msdb'和'master'中的表 – 2011-04-11 20:55:23