Podaję tę odpowiedź ze względu na nowe pytanie, które oznaczono jako duplikat.
Kiedyś musiałem porównać dwie produkcyjne bazy danych i znaleźć różnice między nimi w schemacie. Jedynymi interesującymi przedmiotami były tabele, które zostały dodane lub upuszczone oraz kolumny, które zostały dodane, usunięte lub zmienione. Nie mam już skryptów SQL, które opracowałem, ale następująca jest ogólna strategia. Baza danych nie była SQL Server, ale myślę, że stosuje się tę samą strategię.
Najpierw stworzyłem coś, co najlepiej można opisać jako metadatasę. Tabele użytkowników tej bazy danych zawierały opisy danych skopiowane z tabel systemowych produkcyjnych baz danych. Rzeczy takie jak nazwa tabeli, nazwa kolumny, typ danych i precyzja. Był jeszcze jeden element, nazwa bazy danych, który nie istniał w żadnej z produkcyjnych baz danych.
Następnie opracowałem skrypty, które połączyły selekcje z tabel systemowych produkcyjnych baz danych z wstawkami do tabel użytkowników metadatazy.
Na koniec opracowałem zapytania, aby znaleźć tabele, które istniały w jednej bazie danych, ale nie w drugiej, oraz kolumny z tabel w obu bazach danych, które były tylko w jednej bazie danych, oraz kolumny o niespójnych definicjach między dwiema bazami danych.
Spośród około 100 tabel i 600 kolumn znalazłem garść niespójności i jedną kolumnę, która została zdefiniowana jako zmiennoprzecinkowa w jednej bazie danych i liczba całkowita w drugiej. Ten ostatni okazał się wybawieniem, ponieważ odkrył problem, który nękał jedną z baz danych od lat.
Model metadatazy został zasugerowany przez odpowiednie tabele systemowe. Kwerendy nie były trudne do zbudowania, obracały się głównie wokół grupy i miały liczbę (nazwa bazy danych) = 1.
W twoim przypadku, przy 700 produkcyjnych bazach danych, możesz zautomatyzować dwa pierwsze kroki bardziej niż ja przy użyciu tylko dwóch baz danych do porównania. Ale pomysł jest podobny.