Yinelenen olarak işaretlenmiş yeni bir soru uğruna bu cevabı ekliyorum.
Bir zamanlar iki üretim veritabanını karşılaştırmam ve aralarındaki şema farklarını bulmam gerekiyordu. İlgilenilen tek öğe, eklenen veya bırakılan tablolar ve eklenen, kaldırılan veya değiştirilen sütunlardı. Artık geliştirdiğim SQL komut dosyalarına sahip değilim ama genel strateji şu. Ve veritabanı SQL Server değildi, ama aynı stratejinin geçerli olduğunu düşünüyorum.
İlk olarak, en iyi meta veritabanı olarak tanımlanabilecekleri yarattım. Bu veritabanının kullanıcı tabloları, üretim veritabanlarının sistem tablolarından kopyalanan veri açıklamalarını içeriyordu. Tablo Adı, Sütun Adı, Veri Türü ve Hassasiyet gibi şeyler. Üretim veritabanlarının hiçbirinde bulunmayan bir öğe daha, Veritabanı Adı vardı.
Sonra, üretim veritabanlarının sistem tablolarından meta veritabanının kullanıcı tablolarına ekler ile seçimleri birleştiren komut dosyaları geliştirdim.
Son olarak, bir veritabanında var olan ancak diğerinde bulunmayan tabloları ve her iki veritabanındaki tablolardan yalnızca bir veritabanında bulunan sütunları ve iki veritabanı arasında tutarsız tanımlara sahip sütunları bulmak için sorgular geliştirdim.
Yaklaşık 100 tablo ve 600 sütundan, bir tutarsızlık ve bir veritabanında kayan nokta ve diğerinde bir tamsayı olarak tanımlanan bir sütun buldum. Sonuncusu bir nimet olarak ortaya çıktı, çünkü yıllardır veritabanlarından birini rahatsız eden bir sorun ortaya çıkardı.
Meta veritabanı modeli, söz konusu sistem tabloları tarafından önerildi. Sorguların oluşturulması zor değildi, çoğunlukla grup etrafında dönen ve count (veritabanı adı) = 1'e sahipti.
Sizin durumunuzda, 700 üretim veritabanıyla, ilk iki adımı karşılaştırmak için sadece iki veritabanıyla yaptığımdan daha fazla otomatikleştirmek isteyebilirsiniz. Ama fikir benzer.