Сравнение таблиц одной базы данных с другой - PullRequest
2 голосов
/ 11 апреля 2011

У меня есть две разные базы данных, которые используют одни и те же таблицы и отличаются несколькими таблицами.Есть ли способ, которым я могу получить вывод о различиях между только именами таблиц в базах данных?

Я использую MS SQL Server, и обе таблицы находятся на одном сервере БД.

Ответы [ 3 ]

2 голосов
/ 11 апреля 2011

Вы просто хотите узнать разницу в именах таблиц? Для этого вы можете присоединиться к 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 голосов
/ 11 апреля 2011

Вы можете использовать инструмент сравнения баз данных, например DBComparer Он также абсолютно бесплатный и отлично работает для меня.

0 голосов
/ 28 сентября 2015

Я не знаю, что вы думаете об использовании сторонней утилиты БД, но Toad for SQL Server (сделанный dell) отлично подходит для параллельных сравнений.

http://software.dell.com/landing/218/?gclid=CjwKEAjwyqOwBRDZuIO4p5SV8w0SJAAQoUSwC6B8BfgAQLML_8o3j9Bw1sUL01EljAjF9eXlZrY-nxoCYsjw_wcB

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...