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:Azure SQL Yönetilen Örneği
Bu makale, SQL Server ile Azure SQL Yönetilen Örneği arasında, Managed Instance link kullanarak birden çok veritabanını kapsayan bir Always On kullanılabilirlik grubunu SQL Server Management Studio (SSMS), PowerShell veya Azure CLI ile nasıl genişleteceğinizi açıklar.
Bu makale, bir erişilebilirlik grubundaki tüm veritabanlarını tek bir bağlantı üzerinden çoğaltan çoklu veritabanı bağlantı modunu ele alır. Tek veritabanı bağlantı modu, her bağlantı için bir veritabanını çoğaltır.
Note
SQL Server ile Azure SQL Yönetilen Örneği arasında bir Always On kullanılabilirlik grubunda birden çok veritabanını bağlama desteği şu anda önizleme durumundadır.
Genel Bakış
SQL Server ile Azure SQL Yönetilen Örneği arasında Always On kullanılabilirlik grubunu genişlettiğinizde, bir erişilebilirlik grubundaki birden fazla veritabanını hedef replikaya çoğaltan bir bağlantı oluşturursunuz. Bağlantı, mevcut birincil kopyadan ikincil replikadaki yalnızca okunabilir veritabanı kopyalarına neredeyse gerçek zamanlı değişiklikleri çoğaltmak için dağıtık bir kullanılabilirlik grubu kullanır. Bu, ikincildeki salt okunur kopyaların birincille güncel kalmasını sağlar.
Mevcut bir erişilebilirlik grubunu kullanabilir veya bağımsız veritabanlarıyla başlayabilirsiniz. SSMS'de bağımsız veritabanları seçtiğinizde, sihirbaz ilk ana veritabanında tek düğümlü bir kullanılabilirlik grubu oluşturur ve seçilen veritabanlarını tek bir bağlantı üzerinden çoğaltır.
Ya SQL Server ya da Azure SQL Yönetilen Örneği ilk birincil olabilir. SQL Yönetilen Örneği'tan bağlantı oluşturmak, gerekli kümülatif güncelleme ve uyumlu SQL Yönetilen Örneği güncelleme politikası ile SQL Server 2022 veya SQL Server 2025 gerektirir. Bu makaledeki yaratım örnekleri SQL Server'dan başlamaktadır. SQL Yönetilen Örneği'tan oluşturulma sürecini yürütmüyorlar. SQL Server ile Azure SQL Yönetilen Örneği arasında, eşleşen güncelleştirme ilkeleriyle yapılandırılmış örnekler için rol tersine çevirmeli yük devretme desteklenmektedir.
Supportability
Önizleme sırasında çoklu veritabanı bağlantısı üzerinden erişilebilirlik grubunun genişletilmesi için aşağıdaki gereksinimler geçerlidir. SQL Server hem Windows hem de Linux için desteklenmektedir. Gerekli kümülatif güncellemeyi (CU) yüklemeniz gerekir. Önceki sürümler bu özelliği desteklemiyor.
| SQL Server sürümü | Gerekli güncelleştirme | Desteklenen sürümler |
|---|---|---|
| SQL Server 2022 (16.x) | CU27 veya daha sonrası | Kurumsal ve Geliştirici |
| SQL Server 2025 (17.x) | CU9 veya daha sonrası | Kurumsal ve Geliştirici |
Aşağıdakileri göz önünde bulundurun:
- Standart sürüm desteklenmiyor çünkü temel erişilebilirlik grupları sadece bir veritabanını destekliyor.
- SQL Server 2019 ve önceki sürümler, SQL Server 2022'de tanıtılan gerekli teknolojiden yoksunları nedeniyle çoklu veritabanı bağlantı modu için desteklenmiyor.
-
SQL Managed Instance'tan bağlantı oluşturmak veya rolleri SQL Server'a geri çevirmek için, SQL managed instance'ınız SQL Server sürümüne uygun güncelleme politikasını kullanmalıdır. SQL Server'tan tek yönlü replikasyon ve geçiş için, hedef güncelleme politikası SQL Server sürümünüzle eşleşmeli veya ondan daha yüksek olmalıdır.
- SQL Server 2022, SQL Server 2022, SQL Server 2025 ve Always-up-to-date ilkeleriyle yapılandırılmış örneklerine çoğaltmayı destekler.
- SQL Server 2025, SQL Server 2025 ve Her zaman güncel ilkeleriyle yapılandırılmış örneklere çoğaltmayı destekler; ancak SQL Server 2022 için desteklemez. Politikalar eşleşmezse verileri çoğaltamazsınız veya geçiş sonrası SQL Server'a geri dönemezsiniz.
Tek veritabanı bağlantılarını destekleyen SQL Server sürümleri ve sürümleri için bkz. Managed Instance link sürüm desteği.
Caution
Erişilebilirlik grubunuzdaki her SQL Server replikası, aynı desteklenen SQL Server sürümünü kullanmalı, gerekli kümülatif güncelleme veya daha sonrasına yüklenmeli ve çoklu veritabanı bağlantı modunun etkinleştirilmiş olması gerekir. Çoklu veritabanı bağlantı modunu destekleyen replikaları, önceki sürümlerdeki veya özelliği devre dışı bırakılmış replikalarla karıştırmayın. Bu yapılandırmaların karıştırılması, SQL Server'ın öngörülemez davranmasına neden olabilir.
Prerequisites
SQL Server ile Azure SQL Yönetilen Örneği arasında erişilebilirlik grubunu genişletmek için aşağıdaki ön koşullara ihtiyacınız vardır:
- Etkin bir Azure aboneliği. Bir hesabınız yoksa, ücretsiz bir hesap oluşturun.
- Gerekli hizmet güncellemesi yüklü desteklenen SQL Server sürümü ve sürümü. Mevcut bir Always On kullanılabilirlik grubunu ya da SSMS’nin yeni bir tek düğümlü kullanılabilirlik grubuna yerleştirdiği bağımsız veritabanlarını kullanabilirsiniz. Kapsamlı erişilebilirlik grupları desteklenmiyor.
- Azure SQL Yönetilen Örneği ve senaryonuza uygun bir güncelleme politikası var. SQL Yönetilen Örneği başlangıçtaki birincil olduğunda veya rol değişimi durumunda eşleşen bir ilke gereklidir. SQL yönetilen bir instance'ınız yoksa başlayın.
- SQL Server Management Studio (SSMS) 22.10.2 veya daha sonrası.
- Betik tabanlı yapılandırma için, Az modülü sürüm 16.3.0 veya üzeri ve Az.Sql sürüm 7.1.0 veya üzeri ile Azure PowerShell ya da sürüm 2.90.0 veya üzeri Azure CLI. Azure Cloud Shell'i de kullanabilirsiniz. Kurulu modüllerin veya CLI'nin bu sürüm gereksinimlerini karşıladığından emin olun.
- Düzgün hazırlanmış bir ortam.
- Birden çok düğümlü bir erişilebilirlik grubu için yapılandırılmış erişilebilirlik grubu dinleyicisi. Bağlantıyı yapılandırırken dinleyicinin IP adresini kullanın, bireysel bir SQL Server replikasının IP adresini değil. Dinleyiciyi kullanmak, yerel erişilebilirlik grubu devre dışı bıraktıktan sonra bağlantının çalışmaya devam etmesini sağlar.
- Çoklu veritabanı bağlantı modunu etkinleştirdiğinizde hiçbir SQL Server replikasında mevcut bağlantı yok. Başlamadan önce, eski tek veritabanı bağlantı modunu kullanan tüm bağlantıları kaldırın.
- Erişilebilirlik grubunuzdaki tüm veritabanları için hedef yönetilen örnekte yeterli kullanılabilir veritabanı kapasitesi ve depolama kapasitesi. Kaynak sınırlarını gözden geçirin.
Permissions
SQL Server için sysadmin izinlerine sahip olmanız gerekir.
Azure SQL Yönetilen Örneği için SQL Yönetilen Örneği Katkıda Bulunan rolünün üyesi olmanız veya aşağıdaki özel rol izinlerine sahip olmanız gerekir:
| Microsoft.Sql/ kaynağı | Gerekli izinler |
|---|---|
| Microsoft.Sql/managedInstances | /oku, /yaz |
| Microsoft.Sql/managedInstances/hybridCertificate | /eylem |
| Microsoft.Sql/managedInstances/databases | /okuma, /silme, /yazma, /tamamlaGeriYükleme/eylem, /yedekleriOku/eylem, /geriYüklemeDetayları/okuma |
| Microsoft.Sql/managedInstances/distributedAvailabilityGroups | /oku, /yaz, /sil, /rolüAyarla/action |
| Microsoft.Sql/managedInstances/endpointCertificates | /okumak |
| Microsoft.Sql/managedInstances/hybridLink | /oku, /yaz, /sil |
| Microsoft.Sql/managedInstances/serverTrustCertificates | /yaz, /sil, /oku |
Çoklu veritabanı bağlantı modunu etkinleştir
Önizleme sırasında çoklu veritabanı bağlantı modu desteği varsayılan olarak devre dışı bırakılmıştır.
sys.sp_multidb_milink Kullanılabilirlik grubundaki her SQL Server replikasında veya tek düğümlü bir grup oluşturmayı planladığınız SQL Server örneğinde yerleşik depolanmış prosedürü etkinleştirin.
Warning
Çoklu veritabanı bağlantı modunu etkinleştirmeden veya devre dışı bırakmadan önce mevcut tüm bağlantıları kaldırın. Bağlantılar aktifken ayarı değiştirmek, öngörülemez SQL Server davranışına yol açabilir. Tek veri tabanı ile çoklu veritabanı bağlantılarını karıştırmayın. Modları değiştirirken önce bağlantıları kaldırın, her SQL Server replikasında ayarı değiştirin ve ardından yeni bağlantılar oluşturun.
Çoklu veritabanı bağlantı modunu etkinleştirmek için her SQL Server replikasında aşağıdaki komutu çalıştırın:
EXEC sys.sp_multidb_milink 1;
Ayar SQL Server yeniden başlatmalarında da devam ediyor, yani her replikada sadece bir kez etkinleştirmeniz yeterli.
Ayarı kontrol etmek için, her replikada parametre olmadan saklanan prosedürü çalıştırın. Etkinleştirildiğinde 0 ve devre dışı bırakıldığında 1 döner:
EXEC sys.sp_multidb_milink;
Eğer saklanan prosedür mevcut değilse, replikanın desteklenen SQL Server sürümü ve kümülatif güncelleme yüklenip yüklenmediğini doğrulayın.
Çoklu veritabanı bağlantı modunu devre dışı bırakmak için önce tüm bağlantıları kaldırın ve ardından her SQL Server replikasında aşağıdaki komutu çalıştırın:
EXEC sys.sp_multidb_milink 0;
Erişilebilirlik grubu veritabanlarını hazırla
Çoğaltmak istediğiniz her SQL Server veritabanını tam kurtarma modeline ayarlayın ve ardından tam bir yedekleme oluşturun. Hem mevcut erişilebilirlik grup veritabanları hem de bağımsız veritabanları bu hazırlığı gerektirir. Bağlantı yapılandırma rehberindeki SSMS yedekleme prosedürünü kullanın.
Caution
Veritabanlarınız Saydam Veri Şifrelemesi (TDE) kullanıyorsa, bağlantı oluşturmadan önce şifreleme sertifikalarını veya anahtarlarını hedef noktada hazırlayın. Bunlar olmadan, bağlantı şifreli veritabanlarını çoğaltamaz.
SQL Server veritabanları için, TDE sertifikasını SQL Yönetilen Örneği'a taşıyın. SQL Server'a bağlı şifrelenmiş SQL Yönetilen Örneği veritabanları için, hedef SQL Server'a erişilebilen müşteri tarafından yönetilen bir anahtar kullanın. Her yöndeki gereksinimler için bağlantı için TDE hazırlıklarını gözden geçirin.
Bağlantı, seçilen erişilebilirlik grubundaki tüm veritabanlarını çoğaltıyor. Bir alt küme seçemezsiniz, bu yüzden bağlantıyı oluşturmadan önce hedef SQL yönetilen örnekin mevcut kapasitesini kontrol edin. Hedef, çoğaltmak istediğiniz veritabanlarıyla aynı isimlere sahip veritabanları içermemelidir. Mevcut veritabanlarının farklı isimlerine, örneğin kapasite sınırlarına bağlı olarak izin verilir.
Bağlantı yalnızca kullanıcı veritabanlarını çoğaltmayı destekler. Sistem veritabanlarının çoğaltması desteklenmez. veya masteriçinde msdb depolanan örnek düzeyi nesneleri çoğaltmak için bunları betikleyin ve hedef örnekte T-SQL betiklerini çalıştırın.
Dinleyiciyi ve sertifikaları yapılandırmak
Çoklu düğümlü erişilebilirlik grubu için, bağlantıyı yapılarken hem SSMS hem de script olarak dinleyicinin IP adresini kullanın. Dinleyici, bağlantıları mevcut birincil kopyaya yönlendirir. Bağlantının ortak uç noktası olarak bireysel bir SQL Server replikasının IP adresini kullanmayın. Dinleyici olmadan, yerel erişilebilirlik grubu devre dışı bırakıldıktan sonra bağlantı çalışmaya devam etmez. Bağımsız veritabanları için SSMS sihirbazının oluşturduğu bir grup da dahil olmak üzere tek düğümlü bir kullanılabilirlik grubu için, ilgili SQL Server örneğinin IP uç noktasını kullanın.
SSMS sihirbazı, sertifikaları Azure SQL Yönetilen Örneği ile sadece mevcut SQL Server birincil replikası arasında değiştirir. Diğer SQL Server replikalarında sertifika güvenini yapılandırmaz. Yerel erişilebilirlik grubu failover'ından sonra bağlantının çalışmaya devam edebilmesi için diğer tüm SQL Server replikalarında gerekli sertifikaları manuel olarak kopyalayıp yapılandırmanız gerekir. Bu manuel adım hem SSMS hem de betikli yapılandırma için geçerlidir. Sertifika değişimi adımları için Örnekler arasında güven oluşturma konusunu gözden geçirin.
Komut dosyasıyla bağlantı oluşturmaya hazırlanın
Önerilen kurulum deneyimi için SSMS kullanın. Sihirbaz birçok yapılandırma adımını otomatikleştiriyor. Scripted otomasyona ihtiyacınız yoksa, bu bölümü atlayın ve Erişim grubunu genişlet'tekiSSMS sekmesine devam edin.
Scripted kurulum, erişilebilirlik grupları, uç noktaları ve sertifika güveni yapılandırma deneyimi gerektiren gelişmiş bir seçenektir. Bu adımları yalnızca PowerShell veya Azure CLI kullanıyorsanız ve SQL Server'ı ilk ana olarak kullanıyorsanız tamamlayın.
Kontrol listesi hem mevcut erişilebilirlik gruplarını hem de bağımsız veritabanlarını kapsar. Veritabanlarını, güveni ve uç noktayı hazırladıktan sonra, mevcut erişilebilirlik grubunu tekrar kullanın veya 4. adımda bir tane oluşturun. Sonra dağıtılmış kullanılabilirlik grubunu oluşturun. PowerShell ve Azure CLI bağlantı oluşturma komutları sizin için erişilebilirlik grubunu oluşturmaz.
Ortamınıza uyarlanmış bir betik için SSMS bağlantı sihirbazını kullanarak Özet sayfasında Betik seçeneğini belirleyin. Oluşturulan betiği gözden geçir ve ayrı ayrı çalıştır.
- Her SQL Server replikasında veya bağımsız SQL Server örneğinde çoklu veritabanı bağlantı modunu etkinleştirin ve veritabanlarını hazırlayın.
- Örnekler arasında güven oluşturun. Sertifika oluşturma, açık anahtar değişimi, kök sertifika içe aktarma ve sertifika zinciri doğrulama adımlarını takip edin. Birden fazla düğümlü bir grup için, sertifika gereksinimlerini sadece mevcut ana kopyaya değil, her SQL Server replikasına uygular.
- Veritabanı yansıtma uç noktasını güvence altına alın. Eğer erişilebilirlik grubunuzun zaten bir uç noktası varsa, başka bir uç nokta oluşturmak yerine mevcut bir uç noktayı Alter kullanın. Bağlantı oluşturma komutu için yapılandırılmış uç nokta portunu koruyun.
- Kullanılabilirlik grubunu hazırlayın. Zaten çoğaltmak istediğiniz tüm veritabanlarını içeren bir kullanılabilirlik grubunuz varsa, onu tekrar kullanın ve yeni bir grup oluşturmayı atlayın. Bağımsız veritabanlarıyla başlarsanız, önce SQL Server'da bir erişilebilirlik grubu oluşturun.
SQL Server ilk birincil sekmesinde,
CLUSTER_TYPE = NONEile tek düğümCREATE AVAILABILITY GROUPörneğini kullanın; ancakFOR DATABASE [<DatabaseName>]yerineFOR DATABASE [DB01], [DB03], [DB05], [DB07]gibi veritabanlarının tam listesini kullanın.<AGNameOnSQLServer>değerini yeni gruba vermek istediğiniz ada ayarlayın. Dağıtılmış kullanılabilirlik grubu oluşturma işlemine devam etmeden önce bu betiği çalıştırın. Bunu mevcut bir gruba karşı çalıştırmayın veya mevcut grubun küme yapılandırmasını değiştirmeyin. -
SQL Server'da dağıtık erişilebilirlik grubu oluşturun.
SQL Server'ın ilk birincil sekmesini kullanın ve dağıtık erişilebilirlik grubu oluşturma talimatlarından başlayın. Önceki adımda yeniden kullandığınız veya oluşturduğunuz erişilebilirlik grubuna ayarlayın
<AGNameOnSQLServer>. Çok düğümlü bir grup için,<SQLServerIP>olarak dinleyicinin IP adresini kullanın. Tek düğümlü bir grup için, SQL Server örneğinin uç noktasını kullanın. Aşağıdaki oluşturma komutunda, bağlantı adı olarak<AGNameOnSQLMI>öğesini ve yönetilen örnek kullanılabilirlik grubu adı olarak<DAGName>öğesini koruyun. - SQL Server'daki kullanılabilirlik gruplarını doğrulayın. Always On kullanılabilirlik grubunun ve dağıtılmış kullanılabilirlik grubunun her ikisinin de mevcut olduğunu doğrulayın. Sonra Erişilebilirlik grubunu genişlet sayfasına dönün, PowerShell veya Azure CLI'yı seçin ve diğer rehberin tek veritabanı komutu yerine bu makaledeki çoklu veritabanı oluşturma komutunu çalıştırın.
Erişilebilirlik grubunu genişletin
Tohumlama için gereken log kayıtlarını korumak için, önerilen yaklaşım, özellikle büyük veritabanları veya çoklu veritabanı bağlantı modundaki birçok veritabanı için bağlantılar oluşturmadan önce desteklenen SQL Server derlemelerinde trace flag 12381'i etkinleştirmektir. Ancak, bayrak zorunlu değil ve Troubleshoot error 1412'de listelenen alternatif önlemler var. Bayrak etkinleştirildiğinde, günlük yedeklemeleri devam edebilir, ancak saklanan kayıtlar yeniden kullanılabilir hale getirilmez. SQL Server kaydının büyümesini ve boş disk alanını izleyin ve oluşturulan tüm bağlantılar için tohumlama biter bitmez bayrağı devre dışı bırakın.
Bağlantı oluşturma işlemlerini otomatikleştirmek için SSMS kullanın veya gelişmiş scripted yapılandırma için PowerShell veya Azure CLI'yi seçin. Aşağıdaki örneklerde SQL Server ilk birincil olarak kullanılır. Ayrıca SQL Yönetilen Örneği'dan da eşleşen bir güncelleme politikası ile başlayabilirsiniz, ancak bu oluşturma iş akışı burada ele alınmıyor.
Scripted yapılandırma için, kopyalamak istediğiniz tüm veritabanlarını içeren bir kullanılabilirlik grubunu yeniden kullanmak veya oluşturmak için scriptli kurulum adımlarını tamamlayın, ardından PowerShell veya Azure CLI oluşturma komutunu çalıştırmadan önce dağıtılmış kullanılabilirlik grubunu oluşturun. Alternatif olarak, bağımsız veritabanlarıyla başlarsanız, bu bölümdeki SSMS prosedürü bağlantı kurulumunun bir parçası olarak otomatik olarak tek düğümlü kullanılabilirlik grubunu oluşturur.
Çoklu veritabanı bağlantı modu için, betiklerde açıkça belirtin MultiDatabase ve erişilebilirlik grubundaki tüm veritabanı isimlerini verin. PowerShell, -LinkMode belirtilmezse varsayılan olarak SingleDatabase değerini kullanır. PowerShell'de veya --link-mode MultiDatabase Azure CLI'da kullanın-LinkMode MultiDatabase.
Warning
Her SQL Server çoğaltmasında gerekli toplu güncelleme yüklenmeden ve çoklu veritabanı bağlantı modu MultiDatabase saklı yordamı aracılığıyla etkinleştirilmeden, sys.sp_multidb_milink bağlantı moduyla bir bağlantı oluşturmayın. Bu modu desteklemeyen SQL Server derlemeleriyle kullanmak, SQL Server'ın öngörülemez davranmasına neden olabilir.
Desteklenebilirliği gözden geçirin ve önce çoklu veritabanı bağlantı modunu etkinleştirin.
SSMS'deki New SQL Yönetilen Örneği bağlantı sihirbazını kullanarak mevcut bir erişilebilirlik grubundan veya bağımsız veritabanlarından Azure SQL Yönetilen Örneği'a bağlantı oluşturun.
SSMS'yi aç ve SQL Server'a bağlan. Çoklu düğümlü bir erişilebilirlik grubu için, dinleyicinin IP adresi üzerinden bağlantı kurun. Bağımsız veritabanları veya tek düğümlü gruplar için SQL Server örneğine bağlanın.
Nesne Gezgini'da, çoğaltmak istediğiniz veritabanına sağ tıklayın, Azure SQL Yönetilen Örneği bağlantısının üzerine gelin ve Yeni seçeneğini seçin... böylece New SQL Yönetilen Örneği bağlantı sihirbaşkanını açın.
Sihirbazın Giriş sayfasında İleri'yi seçin.
Bağlantı Seçeneklerini Belirt sayfasında, çoklu veritabanı bağlantı modunun etkin olduğunu doğrulayın ve bağlantınız için bir isim ekleyin. Mod işaret kutusu yalnızca okunabilir: SQL Server'daki
sys.sp_multidb_milinkayarı yansıtır. Modu kontrol kutusunu seçerek etkinleştiremezsiniz. Mod etkin değilse, SQL Server sürümünü ve kümülatif güncellemeyi kontrol edin ve devam etmeden önce tüm replikalarda özelliği etkinleştirin. Bağlantı adı için küçük harfler kullanın. Tirelere, başta veya sonda olmamaları koşuluyla izin verilir. sonrakiseçin.Gereksinimler sayfasında sihirbaz, ikincil bilgisayarınıza bağlantı oluşturmak için gereksinimleri doğrular. Tüm gereksinimler doğrulandıktan sonra İleri'yi seçin veya karşılanmayan gereksinimleri çözün ve ardından Doğrulamayı Yeniden Çalıştır'ı seçin.
Veritabanlarını Seç sayfasında, mevcut bir erişilebilirlik grubu veya bağımsız veritabanları seçin:
- Tüm veritabanlarını (örneğin DB01, DB03, DB05 ve DB07) çoğaltmak için AG01'i seçin.
- Ya da bağımsız DB10 ve DB11 seçebilirsiniz. Çoklu veritabanı bağlantı modu etkinleştirildiğinde, SSMS mevcut SQL Server örneğinde tek düğümlü bir kullanılabilirlik grubu oluşturur, her iki veritabanını da içine yerleştirir ve tek bir bağlantı üzerinden çoğaltır.
Seçimi gözden geçirin, sonra Sonraki'yi seçin.
İkincil Replikayı Belirt sayfasında, İkincil Replikayı Ekle seçeneğini seçin. SQL Yönetilen Örneği ikincilinizse Azure'da oturum açın ve örneğinize bağlanmak için aboneliği, kaynak grubunu ve ikincil SQL Yönetilen Örneğini seçin.
Uç nokta ayarlarını gözden geçirin ve kalan doğrulama adımlarını SSMS ile bağlantı yapılandırma bölümünde açıklandığı şekilde tamamlayın.
Özet sayfasında yapılandırmanızı bir kez daha gözden geçirin. İsteğe bağlı olarak, bir script oluşturmak için Script seçeneğini seçin. Bağlantıyı oluşturmaya hazır olduğunuzda Son'u seçin.
Tüm adımlar tamamlandıktan sonra, Sonuçlar sayfasında başarıyla tamamlanan eylemlerin yanında onay işaretleri gösterilir. Artık pencereyi kapatabilirsiniz.
Çoklu veritabanı modu, erişilebilirlik grubundaki veritabanlarını tek bir bağlantı üzerinden çoğaltıyor. Bu yaklaşım, tek veritabanı modunda birden fazla veritabanı seçmekten farklıdır; bu da her veritabanı için ayrı bir bağlantı oluşturur.
Çoğaltmayı doğrulayın
Bağlantı oluşturduktan veya veritabanları ekledikten sonra, veri mevcut birincil kopyadan mevcut ikincil replikaya çoğaltılır. Ya SQL Server ya da Azure SQL Yönetilen Örneği ilk birincil olabilir. Rol değiştirmeden sonra veri ters yönde çoğalır. Veritabanı boyutu ve ağ hızına bağlı olarak, her veritabanı ikincil replikada başlangıçta Restore durumunda olabilir. İlk yükleme tamamlandıktan sonra veritabanı ikincil kopyaya geri yüklenir ve salt okunur iş yükleri için hazır hale getirilir.
Her iki replikada, SSMS'de Nesne Gezgini'ı kullanarak her çoğaltılan veritabanının Senkronize durumunu görebilirsiniz. Bağlantı için oluşturulan dağıtık erişilebilirlik grubunu görmek üzere Always On High Availability ve Availability gruplarını genişletin.
SQL Server birincil olduğunda, desteklenen bir derlemede trace flag 12381 etkinleştirilmişse tohumlama sırasında işlem günlüğü yedeklemelerine devam edebilirsiniz. Zamanından önce kesilmeyi önlemek için günlük yedeklemelerini duraklattıysanız, ilk tohumlama tamamlandıktan sonra bunları yeniden başlatın. İşlem günlüğü yedekleme zamanlaması olmayan her veritabanı için, ilk işlem günlüğü yedeklemesini yalnızca başlangıç tohumlaması tamamlandıktan sonra alın; tohumlama sırasında almayın. Oluşturulmakta olan tüm bağlantılar için tohumlama tamamlandıktan sonra, etkinleştirdiyseniz bayrağı devre dışı bırakın ve SQL Server birincil kaldığı sürece SQL Server işlem günlüğü yedeklerini düzenli olarak alın. Azure SQL Yönetilen Örneği birincil olduğunda, işlem günlüğü yedeklemelerini otomatik olarak alır. Bu veritabanları için manuel SQL Server günlük yedeklemeleri almanıza gerek yok, SQL Server ise ikincildir.
Tohumlama sırasında erken günlük kesintisi, SQL Yönetilen Örneği hata günlüğünde 1408 ve 1412 hatalarına yol açabilir. Bunu destekleyen derlemelerde, 12381 izleme bayrağı bu kırpmayı önler. Oluşturulan tüm bağlantılarda tohumlama tamamlandıktan sonra bunu devre dışı bırakın ve etkin olduğu sürece işlem günlüğü kullanımını, büyüme oranını ve boş disk alanını izleyin. İşlem günlüğü yedeklemeleri, gerekli kayıtlar tutulmaya devam ettiği sürece sürdürülebilir. Bu saklama, başlangıç kopyalama işleminden sonra normal günlük yedeklerinin yerini almaz.
Bkz. Erken log kesintisini önle.
Veritabanı ekleme
SQL Server veya SQL Yönetilen Örneği olsun, mevcut birincil veritabanından veritabanlarını eklemek için SSMS sihirbazını kullanın. Büyücü gerekli değişiklikleri otomatikleştiriyor. Gelişmiş otomasyon için PowerShell veya Azure CLI kullanın. Bir veritabanı eklemek, birincil tarafta tek bir işlemdir.
Veritabanları eklemeden önce, mevcut bağlantının çoklu veritabanı bağlantı modunu kullandığını ve hedefin yeterli veritabanı kapasitesi ve depolama kapasitesine sahip olduğunu, yeni veritabanlarıyla çakışan mevcut veritabanı adlarının olmadığını doğrulayın. SQL Server birincil olduğunda, erişilebilirlik grubunda olmayan her yeni veritabanını tam kurtarma modeline ayarlayın ve SSMS yedekleme prosedürünü kullanarak tam bir yedekleme oluşturun.
SSMS ile veritabanları ekleyin
Mevcut çoklu veritabanı bağlantısına veritabanları eklemek için Add Database to Azure SQL Yönetilen Örneği Link sihirbaşkanını kullanın:
SSMS'deki mevcut ana bağlantıya bağlanın. Nesne Gezgini'da, Always On High Availability ve Availability gruplarını genişletin.
Bağlantınız için dağıtılmış kullanılabilirlik grubuna sağ tıklayın, Azure SQL Yönetilen Örneği link'in üzerine gelin ve Add Database...'yi seçin.
Giriş ve Azure Girişi'nden geçin, ardından Bağlantı Seç sayfasında çoklu veritabanı bağlantınızı seçin.
Veritabanlarını Seç sayfasında, eklemek istediğiniz veritabanlarını seçin. Sadece Ready durumu olan veritabanlarını ekleyebilirsiniz. Bağlantıda zaten bulunan veritabanları , seçilen bağlantının bir parçası olarak gösterilir. Devam etmeden önce uygunluk sorunlarını çöz.
Doğrulama'yı tamamlayın ve Özet'i gözden geçirin. Değişikliği yürütmek için Finish'i seçin veya değişikliği yürütmeden bir komut dosyası oluşturmak için Script'i seçin; böylece komut dosyasını ayrı olarak inceleyebilir, özelleştirebilir ve çalıştırabilirsiniz. Değişikliği sihirbazda uygularsanız, kapatmadan önce Sonuçlar'ı inceleyin.
Betiklerle veritabanları ekleyin
Ekleme işlemini geçerli birincil öğe üzerinde çalıştırın. O örnek için talimatları takip edin.
SQL Server birincil olduğunda
Her veritabanını erişilebilirlik grubuna eklemek için T-SQL kullanın. Bu bağlantı, eklenen değişikliği SQL Yönetilen Örneği'a iletir. SQL Yönetilen Örneği üzerinde başka bir işlem gerekmez. Bu ekleme için PowerShell veya Azure CLI güncellemesi çalıştırmayın.
SQL Yönetilen Örneği birincil olduğunda
SQL Yönetilen Örneği'daki bağlantıyı güncellemek için PowerShell veya Azure CLI kullanın. Bağlantı, eklenen veritabanlarını otomatik olarak erişilebilirlik grubuna yayar. SQL Server'da ayrı bir adım gerekmez. Öngörülen tam üyeliği, korumak istediğiniz tüm mevcut veritabanları ile yeni veritabanları dahil olmak üzere belirtin. Sağlanan liste, mevcut üyeliğin yerini alır. Bir veritabanını çıkarmak, onu bağlantının üye listesinden kaldırır.
Örneğin, bağlantı zaten DB03, DB05, DB07 ve DB01 içeriyorsa DB09 eklemek için, bu dört adı listede tutun ve ayrıca listeye DB09 ekleyin. Kaynak ve veritabanı isimlerini değerlerinizle değiştirin.
| PowerShell değişkeni | Azure CLI değişkeni | Açıklama |
|---|---|---|
$ResourceGroup |
ResourceGroupName |
SQL yönetilen örneği içeren kaynak grubu. |
$ManagedInstanceName |
ManagedInstanceName |
Bağlantıyı barındıran SQL yönetilen örnekin adı. |
$DAGName |
DAGName |
Mevcut bağlantı adı, oluşturulma sırasında kullanılan dağıtık erişilebilirlik grubu adıyla eşleşiyor. |
$DatabaseNames |
DatabaseNames |
Mevcut veritabanlarının tutulması gereken tam listesi ve eklenecek yeni veritabanları. Örnek, DB03, DB05, DB07 ve DB01 öğelerini korur ve DB09 ekler. |
PowerShell'de Update-AzSqlInstanceLink kullanın. Oluşturma işleminden $ResourceGroup, $ManagedInstanceName ve $DAGName öğelerini yeniden kullanın veya bunları güncellemek istediğiniz kaynak grubu, örnek ve bağlantı olarak ayarlayın:
# Include every existing database to retain and each new database to add.
$DatabaseNames = @("DB01", "DB03", "DB05", "DB07", "DB09")
Update-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $DAGName -Database $DatabaseNames
Her yeni eklenen veritabanı için replikasyon doğrulama adımlarını tekrarlayın. SQL Server birincil olduğunda sadece manuel günlük yedekleme adımlarını takip edin.
Veritabanlarını kaldırma
Her iki tarafta da kaldırmayı otomatik olarak almak için mevcut birincil sistemdeki SSMS sihirbazını kullanın. Bir veritabanını kaldırmak, SQL Yönetilen Örneği bağlantısından ve erişilebilirlik grubundan kaldırılmasını gerektirir. Onu yalnızca tek taraftan çıkarmak işlemi tamamlamak için yeterli değildir.
Warning
SQL Yönetilen Örneği'daki bağlantıdan bir veritabanını kaldırıp erişilebilirlik grubunda bırakırsanız, erişilebilirlik grubu sağlıksız hale gelir. Her iki taraftan tamamen çıkarma. Betik aracılığıyla kaldırma için, geçerli birincil öğenizle ilgili bölümü izleyin.
SSMS içeren veritabanlarını kaldır
SQL Server veya SQL Yönetilen Örneği birincil olsun, aşağıdaki adımlar geçerlidir:
SSMS'deki mevcut ana bağlantıya bağlanın. Nesne Gezgini'da, Always On High Availability ve Availability gruplarını genişletin.
Bağlantı için dağıtılmış kullanılabilirlik grubuna sağ tıklayın, Azure SQL Yönetilen Örneği link'in üzerine gelin ve Remove Database...'i seçin.
Azure SQL Yönetilen Örneği Link'ten Veritabanını Kaldır sihirbazında, Giriş ve Azure Oturum Açma adımlarını geçin ve Bağlantı Seç üzerinde bağlantıyı seçin.
Select Databases'te, kaldırılacak veritabanlarını seçin. Örneğin, bağlantıdan kaldırmak için DB05'i seçin ve ardından Next'i seçin.
Doğrulamayı tamamlayın, Özeti inceleyin ve kaldırma işlemini yürütmek için Bitir seçeneğini veya önce oluşturulan komutları gözden geçirmek için Script seçeneğini belirleyin. Sihirbazı kapatmadan önce başarıyla tamamlandığını doğrulamak için Sonuçlar'ı kontrol edin.
Veritabanlarını scriptlerle kaldırın
Her iki durumda da veritabanlarını kaldırın. Mevcut birincil cihaz, hangi örneğin önce güncelleneceğini belirler.
PowerShell ve Azure CLI örnekleri aşağıdaki değişkenleri kullanır:
| PowerShell değişkeni | Azure CLI değişkeni | Açıklama |
|---|---|---|
$ResourceGroup |
ResourceGroupName |
SQL yönetilen örneği içeren kaynak grubu. |
$ManagedInstanceName |
ManagedInstanceName |
Bağlantıyı barındıran SQL yönetilen örnekin adı. |
$DAGName |
DAGName |
Mevcut bağlantı adı, oluşturulma sırasında kullanılan dağıtık erişilebilirlik grubu adıyla eşleşiyor. |
$DatabaseNames |
DatabaseNames |
Tutulması gereken veritabanlarının tam listesi, kaldırılacakları hariç. Örnekler, DB03 etiketini hariç tutar ve DB07, DB01, DB05 ile DB09 etiketlerini korur. |
SQL Server birincil olduğunda
- Veritabanlarını erişilebilirlik grubundan çıkarmak için T-SQL kullanın.
- SQL Yönetilen Örneği bağlantısından veritabanlarını kaldırmak için PowerShell veya Azure CLI kullanın, bu bölümde gösterildiği gibi.
SQL Yönetilen Örneği adımında, kaldırmak istedikleriniz dışındaki saklanacak veritabanlarının tam listesini sağlayın. Örneğin, bağlantı DB03, DB05, DB07, DB09 ve DB01 içeriyorsa, aşağıdaki komut DB05 etiketini kaldırır ve diğer dördünü korur. Kaynak ve veritabanı isimlerini değerlerinizle değiştirin.
Update-AzSqlInstanceLink kullanın.
$ResourceGroup, $ManagedInstanceName ve $DAGName değerlerini oluşturma sırasında kullanılanlardan yeniden kullanın veya bunları güncellemek istediğiniz kaynak grubu, örnek ve bağlantı olarak ayarlayın:
# Include only the databases to retain, excluding DB05.
$DatabaseNames = @("DB01", "DB03", "DB07", "DB09")
Update-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $DAGName -Database $DatabaseNames
SQL Yönetilen Örneği birincil olduğunda
- SQL Yönetilen Örneği bağlantısından veritabanlarını kaldırmak için PowerShell veya Azure CLI kullanın, bu bölümde gösterildiği gibi.
- SQL Server'da T-SQL kullanarak veritabanlarını erişilebilirlik grubundan çıkarın. Kaldırma işlemi bu adımı tamamlamadan tamamlanmış sayılmaz.
SQL Yönetilen Örneği adımında, yalnızca kaldırmak istediklerinizi hariç tutarak saklanacak veritabanlarının tam listesini belirtin. Örneğin, bağlantı DB03, DB05, DB07, DB09 ve DB01 içeriyorsa, aşağıdaki komut DB05 öğesini kaldırır ve diğer dördünü korur. Kaynak ve veritabanı isimlerini değerlerinizle değiştirin.
Update-AzSqlInstanceLink kullanın.
$ResourceGroup, $ManagedInstanceName ve $DAGName değerlerini oluşturma sırasında kullanılanlardan yeniden kullanın veya bunları güncellemek istediğiniz kaynak grubu, örnek ve bağlantı olarak ayarlayın:
# Include only the databases to retain, excluding DB05.
$DatabaseNames = @("DB01", "DB03", "DB07", "DB09")
Update-AzSqlInstanceLink -ResourceGroupName $ResourceGroup -InstanceName $ManagedInstanceName -Name $DAGName -Database $DatabaseNames
Kaldırılan veritabanlarının artık bağlantıya veya erişilebilirlik grubuna ait olmadığını doğrulayın. Bir veritabanını replikasyondan kaldırmak, saklanan kopyasını silmekle aynı şey değildir. Artık ihtiyacınız olmayan bir kopyayı silip silmemeye karar vermeden önce her iki durumda da veritabanlarını gözden geçirin.
Failover veya Azure'a geç
SQL Server ile Azure SQL Yönetilen Örneği arasında rolleri tersine çevirmek için SSMS veya betiklerdeki mevcut failover prosedürlerini kullanın. Rol tersine çevirme, SQL yönetilen örnekin SQL Server sürümüne uygun güncelleme politikasını kullanmasını gerektirir. Tek yönlü replikasyon ve Azure SQL Yönetilen Örneği'a geçiş için, güncelleme politikası SQL Server sürümünüzle eşleşmeli veya ondan daha yüksek olmalıdır. İlkeler eşleşmezse verileri çoğaltamaz veya sonrasında yeniden SQL Server’a geçiş yapamazsınız. Desteklenen kombinasyonları gözden geçirin. Göç ve geçiş yönergeleri için Bağlantıyla geçiş yapma bölümüne bakın.
Çoğaltmayı izleme ve sorun giderme
Ana erişilebilirlik grubunu, replika bağlantısını ve her veritabanının çoğaltma sağlığını kontrol etmek için SQL Server'da aşağıdaki dinamik yönetim görünümlerini (DMV'ler) ve katalog görünümünü kullanın:
| View | Bilgi |
|---|---|
| sys.availability_groups | Kullanılabilirlik grupları, dahili veritabanı başına replikasyon grupları hariç. |
| sys.dm_hadr_availability_replica_states | Ana grup ve dahili veritabanı başına çoğaltma grupları için rol, bağlantı ve eşitleme durumu. |
| sys.dm_hadr_database_replica_states | Veritabanı düzeyinde çoğaltma durumu ve senkronizasyon sağlığı. |
sys.dm_hadr_internal_availability_groups |
Bireysel veritabanları için çoklu veritabanı bağlantı modunda oluşturulan dahili çoğaltma grupları. |
sys.dm_hadr_internal_availability_replicas |
Çoklu veritabanı bağlantı modunda dahili veritabanı başı replikasyon gruplarına ait replikalar. |
SELECT * FROM sys.availability_groups;
SELECT * FROM sys.dm_hadr_availability_replica_states;
SELECT * FROM sys.dm_hadr_database_replica_states;
SELECT * FROM sys.dm_hadr_internal_availability_groups;
SELECT * FROM sys.dm_hadr_internal_availability_replicas;
Eğer dahili replikasyon DMV'leri mevcut değilse veya saklanan prosedür yürütülürken sys.sp_multidb_milink mevcut olmadığını bildirirse, kurulu SQL Server sürümünü ve o replikanın kümülatif güncellemesini doğrulayın. Genel bağlantı ve replikasyon sorun giderimi için Troubleshoot the Managed Instance bağlantısına bakınız.
Limitations
Bir erişilebilirlik grubunu çoklu veritabanı bağlantısı üzerinden genişletirken aşağıdaki sınırlamaları göz önünde bulundurun:
- Bağlantı isimleri küçük harflerle kullanılmalıdır. Kısa çizgi kullanılabilir, ancak bir ad kısa çizgi ile başlayamaz veya bitemez.
- Çoklu veritabanı modunda bir bağlantı aktifken, SQL Server 2022 CU27 veya SQL Server 2025 CU9 altındaki hiçbir SQL Server replikasını aşağı düşürmeyin. Gerekli CU düzeyinin altına düşürülmesi, yük devretme olmadan bile öngörülemeyen sorunlara neden olabilir.
- Kapsamlı erişilebilirlik grupları desteklenmiyor.
- Tek veritabanı bağlantıları ve çoklu veritabanı bağlantıları aynı SQL Server örneğinde bir arada bulunamaz.
- Bir bağlantının modunu yerinde değiştiremezsiniz. Tek veritabanı ve çoklu veritabanı bağlantı modları arasında geçiş yapmak için mevcut tüm bağlantıları kaldırın, her SQL Server replikasında modu değiştirin ve ardından bağlantıları yeni modda yeniden oluşturun.
- Mevcut bir erişilebilirlik grubu için bağlantı oluşturduğunuzda, o gruptaki tüm veritabanları çoğaltılmalıdır. O gruptaki veritabanlarının sadece bir alt kümesini seçemezsiniz.
- Hedef SQL yönetilen örnekte kalan veritabanı kapasitesi, çoğaltabileceğiniz veritabanı sayısını sınırlar. Genel Amaçlı ve İş Kritikleri her örnek başına 100'e kadar veritabanını desteklerken, Yeni Nesil Genel Amaçlı 500'e kadar veritabanını destekler. Mevcut veritabanları bu sınırlara dahildir. Örneğin, 100 veritabanı sınırı ve 10 mevcut veritabanı olan bir örnek, 90 veri tabanı daha kapasiteye sahiptir. Daha fazla bilgi için kaynak sınırları sayfasına bakınız.
- Hedef SQL Yönetilen Örneği’ın kullanılabilir veritabanı kapasitesini aşacak şekilde kullanılabilirlik grubuna veritabanı eklemek SQL Server’da başarılı olabilir, ancak SQL Yönetilen Örneği’a çoğaltma başarısız olur. Bu durum, bağlantıyı tutarsız bir durumda bırakabilir ve bu durum, çoğaltılmamış veritabanlarının erişilebilirlik grubundan manuel olarak kaldırılmasını gerektirir.
- Veritabanı eklemek bağlantı üzerinden yayılır, ancak bir tarafta veritabanını kaldırmak, diğer taraftaki veritabanını otomatik olarak kaldırmaz. Bir veritabanını erişilebilirlik grubundan çıkarırsanız, kopyası SQL Yönetilen Örneği'da kalır. SQL Yönetilen Örneği'daki bağlantıdan bir veritabanını kaldırırsanız, veritabanı bağlantı üzerinden replikasyon olmadan erişilebilirlik grubunda kalır ve manuel temizlik gerektirir.
- SSMS üzerinden mevcut bir bağlantıya veritabanı eklenirken, sadece Hazır durumda veritabanları ekleyebilirsiniz. Başka bir erişilebilirlik grubuna ait veya hedefte zaten var olan bir isme sahip veritabanları ekleyemezsiniz.