このクエリは、2つのデータベースのテーブルを比較し、行数が異なるか、データベースの1つにテーブルが存在しないものを返します。 AAA
とBBB
をシステムのデータベース名に置き換えてください。
SELECT
DbB.Name DbBName, DbA.Rows DbARows, DbB.Rows DbBRows
FROM
(
SELECT DISTINCT p.rows Rows, tbl.name Name
FROM AAA.sys.tables AS tbl INNER JOIN AAA.sys.partitions AS p ON p.object_id = tbl.object_id
) DbA
FULL OUTER JOIN
(
SELECT DISTINCT p.rows Rows, tbl.name Name
FROM BBB.sys.tables AS tbl INNER JOIN BBB.sys.partitions AS p ON p.object_id = tbl.object_id
) DbB ON DbA.Name = DbB.Name
WHERE
DbA.Rows <> DbB.Rows OR DbA.Rows IS NULL OR DbB.Rows IS NULL
データベースが異なるサーバー上にある場合、Linked Server
を作成して、完全修飾テーブル名を使用します。