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 2022 (16.x)
Kapsanan kullanılabilirlik grubu, desteklenen bir Always On kullanılabilirlik grubudur (AG):
örnek düzeyine ek olarak AG düzeyinde meta veri nesnelerini (kullanıcılar, oturum açma bilgileri, izinler, SQL Aracısı işleri vb.) yönetme.
AG içindeki özelleştirilmiş kapalı sistem veritabanları.
Bu makalede, kapsanan AG'lerin benzerlikleri, farklılıkları ve işlevleri ayrıntılı olarak açıklanır.
Genel bakış
AG'ler genellikle eşgüdümlü grup olarak çalışması amaçlanan ve kümedeki bazı düğümlerde çoğaltılan bir veya daha fazla kullanıcı veritabanından oluşur. Düğümde veya birincil kopyayı barındıran düğümdeki SQL Server'ın durumunda bir hata olduğunda, veritabanları grubu toplu halde Kullanılabilirlik Grubu (AG) içindeki başka bir çoğaltma düğümüne taşınır. Tüm kullanıcı veritabanları, AG'nin tüm çoğaltmalarında ya zaman uyumlu ya da zaman uyumsuz modda senkronize tutulur.
Bu, yalnızca bu kullanıcı veritabanı kümesiyle etkileşim kuran uygulamalar için iyi sonuç verir, ancak uygulamaların sistem veritabanlarından birinde (master
veya msdb
) depolanan kullanıcılar, oturum açma bilgileri, izinler, aracı işleri vb. nesnelere de güvenmesi gibi zorluklar vardır. Uygulamaların sorunsuz ve öngörülebilir bir şekilde çalışması için yöneticinin el ile bu nesnelerdeki tüm değişikliklerin AG'deki tüm çoğaltma örneklerinde yinelendiğinden emin olması gerekir. AG'ye yeni bir örnek getirilirse, veritabanları basit bir işlemle otomatik olarak veya el ile dağıtılabilir, ancak ardından tüm sistem veritabanı özelleştirmelerinin diğer çoğaltmalarla eşleşecek şekilde yeni örnekte yeniden yapılandırılması gerekir.
İçerilen AG'ler, çoğaltılan veritabanı grubu kavramını master
ve msdb
veritabanlarının ilgili bölümlerini içerecek şekilde genişletir. Bunu, kapsanan AG kullanan uygulamalar için yürütme bağlamı olarak düşünün. Fikir, kapsanan AG ortamının, uygulamanın bunlara bağlı olmasını etkileyebilecek ayarları içermesidir. Bu nedenle, kapsanan AG ortamı uygulamanın etkileşimde bulunduğu tüm veritabanlarını, kullandığı kimlik doğrulamasını (oturum açma bilgileri, kullanıcılar, izinler), çalışmasını beklediği zamanlanmış işleri ve uygulamayı etkileyen diğer yapılandırma ayarlarını kapsar.
Bu, kullanıcı hesapları için farklı bir mekanizma kullanan ve kullanıcı bilgilerini veritabanının içinde depolayan kapsanan veritabanlarından farklıdır. Kapsanan veritabanları yalnızca oturum açma bilgilerini ve kullanıcıları çoğaltır ve çoğaltılan oturum açma bilgilerinin veya kullanıcının kapsamı bu tek veritabanı (ve çoğaltmaları) ile sınırlıdır.
Buna karşılık, kapsanan bir AG'de, AG düzeyinde kullanıcılar, oturum açmalar, izinler vb. oluşturabilirsiniz ve bunlar, AG'deki çoğaltmalar ve kapsanan AG içindeki veritabanları arasında otomatik olarak tutarlıdır. Bu, yöneticinin bu değişiklikleri el ile yapmak zorunda olmasını engeller.
SQL Server 2025 değişiklikleri
SQL Server 2025 (17.x) Önizlemesi, kapsanan kullanılabilirlik grupları için dağıtılmış kullanılabilirlik grubu desteği sağlar.
Farklılıklar
Katılı AG'lerle çalışırken, katılı sistem veritabanlarının oluşturulması ve örnek düzeyinde bağlanmak yerine katılı AG düzeyinde bağlantıyı zorlamak gibi bazı pratik farklılıklar vardır.
Kapsanan sistem veritabanları
İçeren her AG'nin, kullanılabilirlik grubunun adından sonra adlandırılan kendi master
ve msdb
sistem veritabanları vardır. Örneğin, içinde bulunan AG MyContainedAG
MyContainedAG_master
ve MyContainedAG_msdb
adlı veritabanlarınız vardır. Bu sistem veritabanları otomatik olarak yeni çoğaltmalara dağıtılır ve güncelleştirmeler de bir kullanılabilirlik grubundaki diğer veritabanları gibi bu veritabanlarına çoğaltılır. Kapsanan AG'ye bağlıyken bir oturum açma veya temsilci işi gibi bir nesne eklediğinizde, kapsanan AG başka bir örneğe yüklendiğinde, kapsanan AG'ye bağlandığınızda hala temsilci işlerini görebilir ve kapsanan AG'de oluşturulan oturum açma bilgilerini kullanarak kimlik doğrulaması yapabilirsiniz.
Önemli
İçerilen AG'ler, bir kullanılabilirlik grubunun çoğaltmaları arasında yürütme ortamı yapılandırmalarının tutarlı kalmasını sağlamak için bir mekanizmadır. güvenlik sınırını temsil etmiyorlar. Örneğin, kapsanan AG'ye bağlantının AG dışındaki veritabanlarına erişmesini engelleyen bir sınır yoktur.
Yeni oluşturulan bir kapsanan AG'deki sistem veritabanları, CREATE AVAILABILITY GROUP
komutunun çalıştırıldığı örnekten kopyalanmamıştır. Bunlar başlangıçta veri içermeyen boş şablonlardır. Oluşturulduktan hemen sonra, kapsayıcı AG'yi oluşturan örnekteki yönetici hesapları, kapsanan AG master
'a kopyalanır. Bu şekilde, yönetici kapsanan AG'de oturum açabilir ve yapılandırmanın geri kalanını ayarlayabilir.
Örneğinizde yerel kullanıcılar veya yapılandırmalar oluşturursanız, bunlar, bağımsız sistem veritabanlarınızı oluşturduğunuzda otomatik olarak görünmez ve kapsanan AG'ye bağlandığınızda görünmez. Kullanıcı veritabanı, iç içe geçmiş bir AG'ye katıldıktan sonra, bu kullanıcılar için hemen erişime kapatılır. İçerilen AG bağlamında, doğrudan veritabanına bağlanarak veya dinleyici uç noktasını kullanarak bunları kapsanan sistem veritabanlarında el ile yeniden oluşturmanız gerekir. Bunun istisnası, ana örnekte sysadmin rolündeki tüm oturum açma bilgilerinin, kapsanan AG oluşturulduğunda yeni AG'ye özgü master
veritabanına kopyalanmasıdır.
Not
master
veritabanı her bir kapsanan kullanılabilirlik grubu için ayrı olduğundan, kapsanan AG bağlamında gerçekleştirilen sunucu kapsamı etkinlikleri yalnızca kapsanan sistem veritabanında kalıcı hale getirilir. Buna denetim de dahildir. SQL Server Denetleme ile sunucu düzeyi etkinliğini denetlerseniz, her bir AG içerisinde aynı sunucu denetimlerini oluşturmanız gerekir.
İlk Veri eşitleme
Kapsanan sistem veritabanları yalnızca ilk veri eşitleme yöntemi olarak otomatik tohumlama desteği sağlar.
SQL Server 2022 (16.x) ve önceki sürümlerinde, kapsanan kullanılabilirlik gruplarının oluşturma sırasında otomatik dağıtım kullanması gerekir. SQL Server Management Studio'da CREATE AVAILABILITY GROUP
deyimini veya Yeni Kullanılabilirlik Grubu sihirbazını kullanırken, yalnızca otomatik tohumlama desteği olan kullanıcı veritabanlarını ekleyin. El ile tohumlama ()JOIN ONLY
kullanarak büyük veritabanları eklemek için, kapsanan AG oluşturulana kadar bekleyin.
SQL Server 2025 (17.x) Önizlemesi'nde, CREATE AVAILABILITY GROUP
dendiği durumda bile içerikli sistem veritabanları her zaman otomatik tohumlama kullanır, manuel tohumlama belirtmiş olsa da. Seeding modunu sınırlı AG oluşturmak için manuel olarak ayarlayabilir ve daha sonra otomatik tohumlama dışındaki eşitleme yöntemlerini kullanarak kullanıcı veritabanları ekleyebilirsiniz.
Kapsanan sistem veritabanını geri yükleme
Kapsanan sistem veritabanlarının yedeklerini geri yüklemek için şu adımları izleyin:
kapsanan AG'yi bırakın.
İçerilen
master
vemsdb
veritabanlarını, içerilen AG'nin özgün birincil çoğaltmasına geri yükleyin.İkincil çoğaltmalardan yer alan
master
vemsdb
veritabanını silin.Birincil replikada,
WITH (CONTAINED, REUSE_SYSTEM_DATABASES)
veSEEDING_MODE = AUTOMATIC
söz dizimini kullanarak özgün adı ve düğümleriyle kapsanan AG'yi yeniden oluşturun.
Kapsanan bir kullanılabilirlik grubunu yeniden oluştururken, kapsanan sistem veritabanlarını CREATE AVAILABILITY GROUP
ifadesine eklemeyin. SQL Server, belirtildiğinde REUSE_SYSTEM_DATABASES
bunları otomatik olarak algılar. SQL Server 2022 (16.x) ve önceki sürümlerde, yalnızca otomatik çekirdek oluşturma desteği olan küçük kullanıcı veritabanlarını içerir. İçerilen AG oluşturulduktan sonra büyük veritabanlarını ayrı olarak eklemek için JOIN ONLY
kullanın.
Kapsanan kullanılabilirlik grubu işleri
Sınırlı kullanılabilirlik grubuna ait işler yalnızca birincil çoğaltma üzerinde çalışır. İkincil kopyalarda çalışmazlar.
Bağlan (kapsanan ortam)
Örneğe bağlanma ile kapsanan AG'ye bağlanma arasındaki farkı ayırt etmek önemlidir. kapsanan AG ortamına erişmenin tek yolu, kapsanan AG dinleyicisine bağlanmak veya kapsanan AG'de bulunan bir veritabanına bağlanmaktır.
"Persist Security Info=False;
User ID=MyUser;Password=*****;
Initial Catalog=MyContainedDatabase;
Server=MyServer;"
Burada MyContainedDatabase
, içerilen AG içinde etkileşime geçmek istediğiniz bir veritabanıdır.
Bu, kapsanan AG'yi etkili bir şekilde kullanmak için kapsanan AG için bir dinleyici oluşturmanız gerektiği anlamına gelir. dinleyiciaracılığıyla doğrudan kapsanan AG'ye
Örneğin, kullanılabilirlik grubu MyContainedAG
SERVER\MSSQLSERVER
sunucusunda barındırılıyorsa ve MyContainedAG_Listener
dinleyiciye bağlanmak yerine SERVER\MSSQLSERVER
kullanarak örneğe bağlanırsanız, örneğin ortamında olursunuz, MyContainedAG
ortamında değil. Bu, örneğin sistem veritabanlarında bulunan içeriklere (kullanıcılar, izinler, işler vb.) tabi olduğunuz anlamına gelir. Kapsanan AG'ye ait kapsanan sistem veritabanlarındaki içeriklere erişmek için, doğrudan kapsanan AG dinleyicisine (örneğin,MyContainedAG_Listener
) bağlanın. İçerilen AG dinleyicisi aracılığıyla örneğe bağlandığınızda, master
ile etkileşimde bulunduğunuzda, aslında içerilen master
veritabanına (örneğin, MyContainedAG_master
) yönlendirilirsiniz.
Salt okunur yönlendirme ve kapsanan kullanılabilirlik grupları
Okuma amacı olan bağlantıları ikincil çoğaltmaya yeniden yönlendirmek için salt okunur yönlendirmeyi yapılandırıyorsanız (bkz. Always On kullanılabilirlik grubu için salt okunur yönlendirmeyi yapılandırma) ve yalnızca kapsanan AG'de oluşturulan bir oturum açma bilgilerini kullanarak bağlanmak istiyorsanız, dikkat etmeniz gereken bazı ek hususlar bulunmaktadır:
- Bağlantı dizesinde kapsanan AG'nin parçası olan bir veritabanı belirtmelisiniz
- Bağlantı dizesinde belirtilen kullanıcının, kapsanan AG'deki veritabanlarına erişme izni olmalıdır.
Örneğin, aşağıdaki bağlantı dizesinde, burada AdventureWorks
, MyContainedListener
içeren bir AG içindeki veritabanıdır ve burada MyUser
, kapsanan AG'de tanımlanmış bir kullanıcıdır ve katılan örneklerden hiçbiri değildir:
"Persist Security Info=False;
User ID=MyUser;Password=*****;
Initial Catalog=AdventureWorks;
Server=MyContainedListener;
ApplicationIntent=ReadOnly"
Bu bağlantı dizesi, ReadOnly Yönlendirme yapılandırmasının parçası olan okunabilir ikincil öğeye bağlanmanızı sağlayacak ve siz de kapsanan AG'nin bağlamında olacaksınız.
Örneğe bağlanma ile kapsanan kullanılabilirlik grubuna bağlanma arasındaki farklar
- İçeren bir AG'ye bağlandığında, kullanıcılar yalnızca bu AG'deki veritabanlarını ve
tempdb
'ü görür. - Örnek düzeyinde, kapsanan AG
master
vemsdb
adları[contained AG]_master
ve[contained AG]_msdb
. İçerideki AG'de adlarımaster
vemsdb
. - Kapsanan AG
master
için veritabanı kimliği, kapsanan AG'nin içindeyken1
olur, ancak örneğe bağlandığında değişir ve başka bir şey olur. - Kullanıcılar, kapsanan bir AG bağlantısına bağlandığında
sys.databases
'de kapsanan AG'nin dışındaki veritabanlarını görmese de, bu veritabanlarına üç parçalı isimle veyaUSE
komutuyla erişebilirler. -
sp_configure
üzerinden sunucu yapılandırması, kapsanan AG bağlantısından okunabilir ancak yalnızca örnek düzeyinde yazılabilir. - Sysadmin, kapsanan AG bağlantılarından SQL Server'ı kapatma gibi örnek düzeyinde işlemler gerçekleştirebilir.
- Veritabanı düzeyi, uç nokta düzeyi veya AG düzeyi işlemlerinin çoğu yalnızca örnek bağlantılarından gerçekleştirilebilir, içerilmiş AG bağlantılarından gerçekleştirilemez.
Diğer özelliklerle etkileşimler
Belirli özellikleri içeren AG'lerle kullanırken dikkat edilmesi gereken ek hususlar vardır ve bazı özellikler şu anda desteklenmemektedir.
Yedeklemek
Kapsanan AG'deki veritabanlarını yedekleme yordamları, tüm kullanıcı veritabanı yedekleme yordamlarıyla aynıdır. Bu, hem kapsanan AG kullanıcı veritabanları hem de kapsanan AG sistem veritabanları için geçerlidir.
Yedekleme konumu yerelse, yedekleme dosyaları yedekleme işini çalıştıran sunucuya yerleştirilir. Bu, yedekleme dosyalarınızın farklı konumlarda olabileceği anlamına gelir.
Yedekleme konumu bir ağ kaynağındaysa, çoğaltmaları barındıran tüm sunucuların bu kaynağa erişmesi gerekir.
Dağıtılmış kullanılabilirlik grupları
Dağıtılmış kullanılabilirlik grubu, temel alınan iki kullanılabilirlik grubuna yayılan özel bir kullanılabilirlik grubu türüdür. Dağıtılmış bir kullanılabilirlik grubu yapılandırdığınızda, global birincil (ilk AG'nizin birincil çoğaltması olan) üzerinde yapılan değişiklikler, ikinci AG'nizin iletici olarak bilinen birincil çoğaltmasına çoğaltılır.
SQL Server 2025 (17.x) Önizleme sürümünden başlayarak, iki bağımsız AG arasında dağıtılmış bir kullanılabilirlik grubu yapılandırabilirsiniz. Kapsanan AG, kapsanan master
ve msdb
sistem veritabanlarına bağlı olduğundan, dağıtılmış bir kullanılabilirlik grubu oluşturmak için ikinci AG'nin (iletici) genel birincil ile aynı kapsanan AG sistem veritabanına sahip olması gerekir.
Dağıtılmış kullanılabilirlik grubunda iletici olarak bir kapsanan AG kullanmayı planlıyorsanız, AUTOSEEDING_SYSTEM_DATABASES
deyiminin seçeneği için WITH | CONTAINED
yan tümcesini kullanarak kapsanan AG'yi oluşturmanız gerekir. Madde AUTOSEEDING_SYSTEM_DATABASES
, SQL Server'a kendi kapsanan AG sistem veritabanlarını oluşturmayı atlamasını ve bunun yerine genel birincilden AG sistem veritabanlarını başlatmasını söyler.
Kaynak yöneticisi
Toplu Güncelleştirme 18'den önceki SQL Server 2022'de (16.x) ve SQL Server'ın eski sürümlerinde, içerilen kullanılabilirlik grubu bağlantılarında resource governor'ın yapılandırılması veya kullanılması desteklenmez.
SQL Server 2022 (16.x) Toplu Güncelleştirme 18'den başlayarak, örnek bağlantısında kaynak yöneticisi yapılandırıyorsanız, örnek bağlantılarında veya kapsanan kullanılabilirlik grubu bağlantılarında kaynak tüketimi beklendiği gibi yönetilir. İçerilen kullanılabilirlik grubu bağlantısında kaynak yöneticisini yapılandırmaya çalışırsanız bir hata alırsınız.
Resource Governor, Veritabanı Altyapısı örnek düzeyinde çalışır. Durum düzeyinde kaynak kontrolcüsü yapılandırması kullanılabilirlik kopyalarına aktarılmaz. Kullanılabilirlik çoğaltmasını barındıran her bir örnekte kaynak yöneticisini yapılandırmanız gerekir.
Tavsiye
Kullanılabilirlik grubu yük devretmeleri gerçekleşirken tutarlı bir davranış elde etmek için kullanılabilirlik çoğaltmalarını barındıran tüm Veritabanı Altyapısı örnekleri için aynı kaynak yöneticisi yapılandırmasını kullanmanızı öneririz.
Daha fazla bilgi için bkz . Resource governor ve Resource governor yapılandırma örnekleri ve en iyi yöntemler.
Veri yakalamayı değiştirme
Değişiklik veri yakalama (CDC), SQL Aracısı işleri olarak uygulanır, bu nedenle SQL Aracısı'nın kapsanan AG'de çoğaltmaları olan tüm örneklerde çalışması gerekir.
Kapsanan bir AG ile değişiklik verilerini yakalama kullanabilmek için, CDC’yi yapılandırırken AG dinleyicisine bağlanın. Böylece, CDC meta verileri kapsanan sistem veritabanları kullanılarak yapılandırılır.
Veri günlüğü aktarımı
Kaynak veritabanı kapsanan Yüksek Kullanılabilirlik Grubu (AG)'ndeyse günlük gönderimi yapılandırılabilir. Ancak log shipping hedefi, bir kapsamlı AG içinde desteklenmez. Ayrıca, CDC yapılandırıldıktan sonra günlük gönderme işlemini değiştirmek için ek bir adım daha vardır.
Günlük gönderimini bağımsız bir Erişilebilirlik Grubu (AG) ile yapılandırmak için şu adımları izleyin:
- İçerilen AG dinleyicisine bağlanın.
- log gönderimini normalde yaptığınız gibi yapılandırın.
- Günlük taşıma işi yapılandırıldıktan sonra, yedekleme yapmadan önce işi içerilen AG dinleyicisine bağlanacak şekilde değiştirin.
Saydam veri şifrelemesi (TDE)
Saydam veri şifrelemesini (TDE) kapsanan bir AG'deki veritabanlarıyla kullanmak için, Veritabanı Ana Anahtarını (DMK) kapsanan AG içindeki kapsanan master
veritabanına el ile yükleyin.
TDE kullanan veritabanları, Veritabanı Şifreleme Anahtarının (DEK) şifresini çözmek için master
veritabanındaki sertifikalara dayanır. Bu sertifika olmadan SQL Server, TDE ile şifrelenmiş veritabanlarının şifresini çözemez veya çevrimiçi yapamaz. SQL Server, iç içe geçmiş AG'de, DMK için hem master
veritabanlarını hem de örnek için master
veritabanını ve veritabanının şifresini çözmek için iç içe geçmiş AG içindeki master
veritabanını denetler. Sertifikayı herhangi bir konumda bulamazsa SQL Server veritabanını çevrimiçi duruma getiremez.
DMK'yi örnekteki master
veritabanından kapsayıcı master
veritabanına aktarmak için, öncelikle DMK'nin eski sunucudan yenisine aktarıldığı bölümlere odaklanarak, TDE korumalı bir veritabanını başka bir SQL Server'a taşıma konusundaki bölümüne,başlığı altında bakın.
Not
SQL Server örneğindeki tüm veritabanlarını şifrelemek sistem veritabanını da şifrelertempdb
.
SSIS paketleri & bakım planları
Bakım planları dahil olmak üzere SSIS paketlerinin kullanılması, kapsanan kullanılabilirlik gruplarında desteklenmez.
Desteklenmiyor
Şu anda aşağıdaki SQL Server özellikleri, kapsayıcı AG ile desteklenmiyor.
- Herhangi bir türde SQL Server Replikasyonu (İşlem, Birleştirme, Anlık Görüntü vb.).
- Hedef veritabanının kapsanan AG'de bulunduğu günlük gönderimi. Kapsanan AG'deki kaynak veritabanıyla günlük gönderimi desteklenir.
DDL değişiklikleri
Tek DDL değişiklikleri CREATE AVAILABILITY GROUP iş akışındadır. İki seçenek içeren bir WITH
yan tümce vardır:
<with_option_spec> ::=
CONTAINED [REUSE_SYSTEM_DATABASES | AUTOSEEDING_SYSTEM_DATABASES ]
İÇEREN
Bu, oluşturulan AG'nin kapsanan bir AG olması gerektiğini belirtir.
SİSTEM_VERİTABANLARINI_YENİDEN_KULLAN
Bu REUSE_SYSTEM_DATABASES
seçenek yalnızca kapsanan AG'ler için geçerlidir ve yeni oluşturulan AG'nin aynı ada sahip önceki bir kapsanan AG için mevcut kapsanan sistem veritabanlarını yeniden kullanması gerektiğini belirtir. Örneğin, MyContainedAG
adlı bağımsız bir AG'niz varsa ve bunu bırakıp yeniden oluşturmak istiyorsanız, özgün kapsanan sistem veritabanlarının içeriğini yeniden kullanmak için bu seçeneği kullanabilirsiniz. Bu seçeneği kullanırken sistem veritabanı adlarını belirtmeyin. SQL Server bunları otomatik olarak algılar.
AUTOSEEDING_SİSTEM_VERİTABANLARI
Şunlar için geçerlidir: SQL Server 2025 (17.x) Önizleme ve üzeri
Dağıtılmış kullanılabilirlik grubunda iletici olarak kapsanan AG'nizi kullanmayı planlıyorsanız, kapsanan AG'yi AUTOSEEDING_SYSTEM_DATABASES
seçeneğini kullanmanız gerekir. Bu seçenek, SQL Server'a kendi kapsanan AG sistem veritabanlarını oluşturmayı atlayarak, bunun yerine genel birincilden kapsanan AG sistem veritabanlarını başlatmasını söyler.
DMV değişiklikleri
Kapsamlı AG'lerle ilgili DMV'lere iki yeni ekleme vardır.
- DMV
sys.dm_exec_sessions
'a bir sütun eklenmiştir:contained_availability_group_id
-
sys.availability_groups
kataloğu görünümüne ekstra sütun eklendi:is_contained