我有兩個不同的數據庫共享一些相同的表格,並且有幾個表格不同。有沒有一種方法可以獲得數據庫中表名之間差異的輸出?將一個數據庫的表格與另一個數據庫的表格進行比較
我正在使用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