Saya menyertakan jawaban ini demi pertanyaan baru yang ditandai sebagai duplikat.
Saya pernah harus membandingkan dua basis data produksi dan menemukan perbedaan skema di antara mereka. Satu-satunya item yang menarik adalah tabel yang telah ditambahkan atau dijatuhkan dan kolom yang telah ditambahkan, dihapus, atau diubah. Saya tidak lagi memiliki skrip SQL yang saya kembangkan, tetapi yang berikut adalah strategi umum. Dan database itu bukan SQL Server, tapi saya pikir strategi yang sama berlaku.
Pertama, saya membuat apa yang bisa digambarkan sebagai metadatabase. Tabel pengguna dari database ini berisi deskripsi data yang disalin dari tabel sistem database produksi. Hal-hal seperti Nama Tabel, Nama Kolom, Jenis Data, dan Presisi. Ada satu item lagi, Nama Basis Data, yang tidak ada di salah satu dari basis data produksi.
Selanjutnya, saya mengembangkan skrip yang digabungkan memilih dari tabel sistem dari database produksi dengan memasukkan ke dalam tabel pengguna metadatabase.
Akhirnya, saya mengembangkan kueri untuk menemukan tabel yang ada di satu database tetapi tidak yang lain, dan kolom dari tabel di kedua database yang hanya ada di satu database, dan kolom dengan definisi yang tidak konsisten antara kedua database.
Dari sekitar 100 tabel dan 600 kolom, saya menemukan beberapa ketidakkonsistenan, dan satu kolom yang didefinisikan sebagai titik apung di satu basis data dan bilangan bulat di yang lain. Yang terakhir ternyata menjadi anugerah, karena menggali masalah yang telah mengganggu salah satu database selama bertahun-tahun.
Model untuk metadatabase disarankan oleh tabel sistem yang dimaksud. Kueri tidak sulit untuk dibangun, sebagian besar berputar di sekitar grup dengan dan memiliki hitungan (nama database) = 1.
Dalam kasus Anda, dengan 700 basis data produksi, Anda mungkin ingin mengotomatiskan dua langkah pertama lebih dari yang saya lakukan dengan hanya dua basis data untuk membandingkan. Tapi idenya serupa.