Я включаю цю відповідь заради нового питання, яке було позначене як дублікат.
Мені колись довелося порівняти дві виробничі бази даних і знайти будь-які відмінності між схемами. Єдиними предметами, що цікавлять, були додані чи відпущені таблиці та стовпці, які були додані, вилучені чи змінені. У мене більше немає розроблених сценаріїв SQL, але далі йде загальна стратегія. І база даних не була SQL Server, але я думаю, що застосовується та ж стратегія.
По-перше, я створив те, що найкраще можна охарактеризувати як метадані. Таблиці користувачів цієї бази даних містили описи даних, скопійовані з системних таблиць виробничих баз даних. Такі речі, як назва таблиці, назва стовпця, тип даних та точність. Був ще один елемент, назва бази даних, який не існував ні в одній із виробничих баз даних.
Далі я розробив сценарії, які в поєднанні вибирають із системних таблиць виробничих баз даних із вставками в таблиці користувачів метаданих.
Нарешті, я розробив запити, щоб знайти таблиці, які існували в одній базі даних, але не в іншій, і стовпці з таблиць обох баз даних, які були лише в одній базі даних, і стовпці з невідповідними визначеннями між двома базами даних.
Із приблизно 100 таблиць і 600 стовпців я виявив кілька невідповідностей і один стовпець, який визначався як плаваюча точка в одній базі даних, а ціле число в іншій. Цей останній виявився божею, тому що він виявив проблему, яка протягом багатьох років мучила одну з баз даних.
Модель метаданих була запропонована в системних таблицях. Запити було важко побудувати, обертаючись здебільшого навколо групи за кількістю і числом (назва бази даних) = 1.
У вашому випадку, з 700 виробничих баз даних, ви, можливо, захочете автоматизувати перші два кроки більше, ніж я, лише з двома базами даних для порівняння. Але ідея схожа.