Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir: SQL Server
Azure SQL Veritabanı
Azure SQL Yönetilen Örneği
Azure Synapse Analytics
Şema Karşılaştırma, iki veritabanı tanımını karşılaştırmanızı sağlar. Karşılaştırmanın kaynağı ve hedefi, bağlı veritabanı, SQL veritabanı projesi veya .dacpac dosyanın herhangi bir bileşimi olabilir. Karşılaştırma tamamlandıktan sonra sonuçlar, hedefi kaynakla aynı hale getiren bir eylem kümesi olarak görünür. Veritabanı modelleri arasındaki farklar, kaynak denetimi farkları gibi sunulur.
Şema karşılaştırma hedefi bir SQL projesi veya veritabanıysa, hedefi doğrudan Şema Karşılaştırma arabiriminden güncelleştirebilir veya aynı etkiye sahip bir güncelleştirme betiği oluşturabilirsiniz.
Şema Karşılaştırma aşağıdaki özellikleri sağlar:
- İki
.dacpacdosya, veritabanı veya SQL veritabanı projesi arasındaki şemaları karşılaştırın. - Sonuçları, bir hedefi kaynakla eşleştirmek için bir dizi eylem olarak görüntüleyin.
- Sonuçlarda listelenen eylemleri seçerek hariç tutun.
- Karşılaştırmanın kapsamını kontrol eden seçenekleri belirleyin.
- Değişiklikleri doğrudan hedefe uygulayın veya değişiklikleri daha sonra uygulamak için bir betik oluşturun.
- Karşılaştırmayı yeniden kullanmak üzere bir
.scmpdosya olarak kaydedin.
Prerequisites
- SQL Server Management Studio 22.7 veya sonraki bir sürüm
- Veritabanı DevOps iş yükü (yalnızca SQL veritabanı projelerini karşılaştırırken gereklidir)
Şema Karşılaştırmayı Başlat
Çeşitli giriş noktalarından SSMS'de Şema Karşılaştırma'ya açabilirsiniz.
Nesne Gezgini
Nesne Gezgini'da bir veritabanına sağ tıklayın ve Tasks>Schema Compare (Önizleme) öğesini seçin. Seçilen veritabanı otomatik olarak kaynak olarak ayarlanır.
Çözüm Gezgini
Çözüm Gezgini'da bir SQL veritabanı projesine sağ tıklayın ve Schema Compare (Önizleme) öğesini seçin. Seçilen proje otomatik olarak kaynak olarak ayarlanır.
Note
Çözüm Gezgini'da SQL veritabanı projeleriyle çalışmak için Database DevOps iş yükü gerekir.
Araçlar menüsü
Araçlar menüsünde Şema Karşılaştırması (Önizleme) öğesini seçin. Şema Karşılaştırma penceresi önceden ayarlanmış bir kaynak veya hedef olmadan açılır.
Kaynak ve hedef seçin
Şema Karşılaştırma açıldıktan sonra karşılaştırma için kaynağı ve hedefi seçin. Her bir bağlı veritabanı, .dacpac dosya veya SQL veritabanı projesi olabilir.
- Veritabanı: Çalışan bir veritabanı örneğine bağlanın. Kaynak, hedefte yapılan değişiklikler için temel olarak kullanmak istediğiniz veritabanı tanımıdır.
-
Veri katmanı Uygulaması (.dacpac): Derlenmiş
.dacpacbir dosyaya göz atın. bir.dacpacveritabanı şemasının anlık görüntüsünü içerir. - Database Project: Açık bir SQL veritabanı project seçin. Veritabanı DevOps iş yükünü gerektirir.
Hedef, değerlendirmek ve değişiklikleri uygulamak istediğiniz veritabanı tanımıdır.
Karşılaştırmayı çalıştırma ve gözden geçirme
Karşılaştırma işlemini başlatmak için araç çubuğunda Karşılaştır'ı seçin.
Karşılaştırma tamamlandığında , Sonuçlar bölmesi kaynak ve hedef arasındaki yapısal farkları gösterir. Karşılaştırma sonuçları, Silme, Değiştirme veya Ekle gibi tüm farkları eyleme göre gruplandırıyor.
Her satır, hedef nesneyi kaynak nesneyle aynı yapmak için kaynak veya hedef şemadaki (veya her ikisinde) nesneyi ve işlemin hedef şemada gerçekleştirilen eylemi tanımlar. Nesneyi yeniden adlandırır veya yeni bir şemaya taşırsanız, kaynak ve hedef adları farklıdır. Kaynak adı, farkı vurgulamak için kalın yazı tipinde görünür.
Varsayılan olarak, sonuç listesi her iki şemada da aynı olan veya güncelleştirme için desteklenmeyen nesneleri gizler (örneğin, yerleşik nesneler). Bu nesneleri göstermek için araç çubuğunda uygun filtre düğmelerini seçin.
Araç çubuğundaki Grup Sonuçları açılır listesini seçerek grup tercihini değiştirebilirsiniz. Sonuçları tablo, görünüm veya saklı yordamlar gibi nesne türüne göre gruplandırmak için Tür'e tıklayın.
Farkları dışla
Varsayılan olarak, Hedefi Güncelleştir eylemi kapsamındaki tüm farklılıkları içerir. Eşitlemek istemediğiniz farkları dışlamak için her satırın Ekle sütununu temizleyin. Satır hemen gri görünür. Şema Karşılaştırması hedefi güncelleştirdiğinde, bekleyen değişiklikler için bu satırı dikkate almaz.
Dışlanan satırda Görünüm satırı tarafından başvuruda bulunulduğu Tablo satırı gibi bağımlı nesneler varsa, dışlanan satır devre dışı bırakılır, ancak siz tüm bağımlı satırların işaretini kaldırana kadar onay kutusu temizlenmez. Bir satırı yeniden adlandırma veya başka bir şemaya taşıma gibi yeniden düzenleme yaparsanız, bu satır ve bağımlı alt satırları için onay kutusu devre dışı bırakılır.
Karşılaştırma seçenekleri
Hangi nesnelerin karşılaştırıldığını ve hangi tür farklılıkların yoksayıldığını yapılandırmak için araç çubuğunda Seçenekler'i seçin. Seçenekler şunlardır:
- Boşlukları yok say
- Bölüm şemalarını yok say
- Sütun sırasını yok say
Ayrıca tablolar, saklı yordamlar, dizinler, izinler ve kullanıcı tanımlı türler gibi karşılaştırmaya hangi nesne türlerinin dahil olduğunu yapılandırabilirsiniz.
Değişiklikleri uygulama
Hedefin şemasını güncelleştirmek için iki seçeneğiniz vardır:
- Uygula: Şema Karşılaştırma penceresinden değişiklikleri doğrudan hedef veritabanına veya projeye uygulayın.
- Betik oluştur: Aynı değişiklikleri yakalayan ve daha sonra gözden geçirebileceğiniz ve çalıştırabileceğiniz bir Transact-SQL betiği oluşturun.
Oluşturulan bir betik, Transact-SQL Düzenleyicisi'nde görüntülenir; burada bu betiği bir veritabanında inceleyip çalıştırabilirsiniz.
Karşılaştırmaları kaydetme
Şema Karşılaştırma için karşılaştırma tanımını, .scmpşema karşılaştırma dosyası olarak bilinen bir dosya olarak kaydedebilirsiniz. Bu dosya XML'de karşılaştırma ayarları hakkındaki bilgileri depolar ve şunları içerir:
- Kaynak ve hedef bağlantı bilgileri
- Karşılaştırma seçenekleri
- Dışlanan nesne türleri
Aynı karşılaştırmayı daha sonra yeniden çalıştırmak veya karşılaştırmayı başkalarıyla paylaşmak için SSMS'de bir .scmp dosya açabilirsiniz.