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.
SQL Server örneği Always On kullanılabilirlik grupları özelliği için etkinleştirildiyse yeni bir kullanılabilirlik grubu oluşturur.
Önemli
Yeni kullanılabilirlik grubunuzun ilk birincil çoğaltması olarak kullanmayı planladığınız SQL Server örneğinde CREATE KULLANıLABILIRLIK GRUBU'nu yürütebilirsiniz. Bu sunucu örneği bir Windows Server Yük Devretme Kümelemesi (WSFC) düğümünde bulunmalıdır.
Transact-SQL söz dizimi kuralları
Sözdizimi
CREATE AVAILABILITY GROUP group_name
WITH (<with_option_spec> [ ,...n ] )
FOR [ DATABASE database_name [ ,...n ] ]
REPLICA ON <add_replica_spec> [ ,...n ]
AVAILABILITY GROUP ON <add_availability_group_spec> [ ,...2 ]
[ LISTENER 'dns_name' ( <listener_option> ) ]
[ ; ]
<with_option_spec>::=
AUTOMATED_BACKUP_PREFERENCE = { PRIMARY | SECONDARY_ONLY| SECONDARY | NONE }
| FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }
| HEALTH_CHECK_TIMEOUT = milliseconds
| DB_FAILOVER = { ON | OFF }
| DTC_SUPPORT = { PER_DB | NONE }
| [ BASIC | DISTRIBUTED | CONTAINED [ REUSE_SYSTEM_DATABASES | AUTOSEEDING_SYSTEM_DATABASES ] ]
| REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT = { integer }
| CLUSTER_TYPE = { WSFC | EXTERNAL | NONE }
| WRITE_LEASE_VALIDITY = { seconds }
| CLUSTER_CONNECTION_OPTIONS = 'key_value_pairs>[;...]`
<add_replica_spec>::=
<server_instance> WITH
(
ENDPOINT_URL = 'TCP://system-address:port',
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY },
FAILOVER_MODE = { AUTOMATIC | MANUAL | EXTERNAL }
[ , <add_replica_option> [ ,...n ] ]
)
<add_replica_option>::=
SEEDING_MODE = { AUTOMATIC | MANUAL }
| BACKUP_PRIORITY = n
| SECONDARY_ROLE ( {
[ ALLOW_CONNECTIONS = { NO | READ_ONLY | ALL } ]
[,] [ READ_ONLY_ROUTING_URL = 'TCP://system-address:port' ]
} )
| PRIMARY_ROLE ( {
[ ALLOW_CONNECTIONS = { READ_WRITE | ALL } ]
[,] [ READ_ONLY_ROUTING_LIST = { ( '<server_instance>' [ ,...n ] ) | NONE } ]
[,] [ READ_WRITE_ROUTING_URL = 'TCP://system-address:port' ]
} )
| SESSION_TIMEOUT = integer
<add_availability_group_spec>::=
<ag_name> WITH
(
LISTENER_URL = 'TCP://system-address:port',
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT },
FAILOVER_MODE = MANUAL,
SEEDING_MODE = { AUTOMATIC | MANUAL }
)
<listener_option> ::=
{
WITH DHCP [ ON ( <network_subnet_option> ) ]
| WITH IP ( { ( <ip_address_option> ) } [ , ...n ] ) [ , PORT = listener_port ]
}
<network_subnet_option> ::=
'ip4_address', 'four_part_ipv4_mask'
<ip_address_option> ::=
{
'ip4_address', 'pv4_mask'
| 'ipv6_address'
}
Tartışmalar
group_name
Yeni kullanılabilirlik grubunun adını belirtir.
group_name geçerli bir SQL Servertanımlayıcısı olmalı ve WSFC kümesindeki tüm kullanılabilirlik gruplarında benzersiz olmalıdır. Kullanılabilirlik grubu adı için uzunluk üst sınırı, ve için cluster_type = WSFC 128 karakter ve için 64 karakterdir cluster_type = NONEEXTERNAL.
AUTOMATED_BACKUP_PREFERENCE = { BİRİnCİl | SECONDARY_ONLY | İKINCIL | NONE }
Yedeklemelerin nerede gerçekleştirileceği seçilirken yedekleme işinin birincil çoğaltmayı nasıl değerlendirmesi gerektiğiyle ilgili bir tercih belirtir. Otomatik yedekleme tercihini hesaba katmak için belirli bir yedekleme işi betiği oluşturabilirsiniz. Tercihin SQL Server tarafından uygulanmadığını anlamak önemlidir, bu nedenle geçici yedeklemeler üzerinde hiçbir etkisi yoktur.
Desteklenen değerler şunlardır:
BİRİNCİL
Yedeklemelerin her zaman birincil çoğaltmada gerçekleşmesi gerektiğini belirtir. Bu seçenek, yedek ikincil çoğaltmada çalıştırıldığında desteklenmeyen değişiklik yedeklemeleri oluşturma gibi yedekleme özelliklerine ihtiyacınız varsa kullanışlıdır.
Önemli
İkincil veritabanlarını bir kullanılabilirlik grubuna hazırlamak için günlük gönderimini kullanmayı planlıyorsanız, tüm ikincil veritabanları hazırlanıp kullanılabilirlik grubuna katılana kadar otomatik yedekleme tercihini Birincil olarak ayarlayın.
SECONDARY_ONLY
Yedeklemelerin birincil çoğaltma üzerinde hiçbir zaman gerçekleştirilmemesi gerektiğini belirtir. Birincil çoğaltma çevrimiçi tek çoğaltmaysa, yedekleme gerçekleşmemelidir.
İKİNCİL
Birincil çoğaltmanın çevrimiçi tek çoğaltma olması dışında yedeklerin ikincil çoğaltmada gerçekleşmesi gerektiğini belirtir. Bu durumda, yedekleme birincil çoğaltmada gerçekleşmelidir. Bu, varsayılan davranıştır.
HİÇBİRİ
Yedekleme işlerinin, yedeklemeleri gerçekleştirecek replikayı seçerken kullanılabilirlik replikalarının rolünü yoksaymasını tercih ettiğinizi belirtir. Not yedekleme işleri, her kullanılabilirlik çoğaltmasının yedekleme önceliği gibi diğer faktörleri işletimsel durumu ve bağlı durumuyla birlikte değerlendirebilir.
Önemli
AUTOMATED_BACKUP_PREFERENCE ayarı zorunlu değildir. Bu tercihin yorumlanması, varsa belirli bir kullanılabilirlik grubundaki veritabanları için arka işlerde betik oluşturmanıza bağlıdır. Otomatik yedekleme tercihi ayarının geçici yedeklemeler üzerinde hiçbir etkisi yoktur. Daha fazla bilgi için bkz. Kullanılabilirlik Çoğaltmalarında Yedeklemeyi Yapılandırma (SQL Server).
Uyarı
Mevcut kullanılabilirlik grubunun otomatik yedekleme tercihini görüntülemek için, sys.availability_groups katalog görünümünün automated_backup_preference veya automated_backup_preference_desc sütununu seçin. Ayrıca, tercih edilen yedekleme çoğaltmasını belirlemek için sys.fn_hadr_backup_is_preferred_replica (Transact-SQL) kullanılabilir. Bu işlev, olduğunda AUTOMATED_BACKUP_PREFERENCE = NONEbile çoğaltmalardan en az biri için 1 döndürür.
FAILURE_CONDITION_LEVEL = { 1 | 2 | 3 | 4 | 5 }
Bu kullanılabilirlik grubu için otomatik yük devretmeyi tetikleyen hata koşullarını belirtir. FAILURE_CONDITION_LEVEL grup düzeyinde ayarlanır, ancak yalnızca zaman uyumlu işleme kullanılabilirlik modu (AVAILABILITY_MODE SYNCHRONOUS_COMMIT = ) için yapılandırılmış kullanılabilirlik çoğaltmalarıyla ilgilidir. Ayrıca, hata koşulları yalnızca hem birincil hem de ikincil çoğaltmalar otomatik yük devretme modu (FAILOVER_MODE = AUTOMATIC) için yapılandırılmışsa ve ikincil çoğaltma şu anda birincil çoğaltmayla eşitlenmişse otomatik yük devretmeyi tetikleyebilir.
Hata koşulu düzeyleri (1-5) en az kısıtlayıcı olan düzey 1'den en kısıtlayıcı düzey 5'e kadar değişir. Belirli bir koşul düzeyi, daha az kısıtlayıcı olan tüm düzeyleri kapsar. Bu nedenle, en katı koşul düzeyi olan 5, daha az kısıtlayıcı dört koşul düzeyini (1-4), düzey 4'ü 1-3 düzeylerini vb. içerir. Aşağıdaki tabloda her düzeye karşılık gelen hata koşulu açıklanmaktadır.
| Seviye | Hata Durumu |
|---|---|
| 1 | Aşağıdakilerden herhangi biri gerçekleştiğinde otomatik yük devretmenin başlatılması gerektiğini belirtir: -SQL Server hizmeti çalışmıyor. -Sunucu örneğinden ACK alınmadığından WSFC kümesine bağlanmak için kullanılabilirlik grubunun kira süresi dolar. Daha fazla bilgi için bkz . Nasıl Çalışır: SQL Server AlwaysOn Kira Zaman Aşımı. |
| 2 | Aşağıdakilerden herhangi biri gerçekleştiğinde otomatik yük devretmenin başlatılması gerektiğini belirtir: -SQL Server örneği kümeye bağlanmaz ve kullanılabilirlik grubunun kullanıcı tarafından belirtilen HEALTH_CHECK_TIMEOUT eşiği aşılır. -Kullanılabilirlik çoğaltması başarısız durumda. |
| 3 | Yalnız bırakılmış spinlock'lar, ciddi yazma erişimi ihlalleri veya çok fazla döküm gibi kritik SQL Server iç hatalarında otomatik yük devretmenin başlatılması gerektiğini belirtir. Bu, varsayılan davranıştır. |
| 4 | SQL Server iç kaynak havuzundaki kalıcı bellek dışı koşul gibi orta düzeydeki SQL Server iç hatalarında otomatik yük devretmenin başlatılması gerektiğini belirtir. |
| 5 | Aşağıdakiler dahil olmak üzere tüm uygun hata koşullarında otomatik yük devretmenin başlatılması gerektiğini belirtir: -SQL Altyapısı çalışan iş parçacıklarının tükenmesi. -Çözülemeyen bir kilitlenmenin algılanması. |
Uyarı
SQL Server örneğinin istemci isteklerine yanıt vermemesi kullanılabilirlik gruplarıyla ilgili değildir.
FAILURE_CONDITION_LEVEL ve HEALTH_CHECK_TIMEOUT değerleri, belirli bir grup için esnek bir yük devretme ilkesi tanımlar. Bu esnek yük devretme ilkesi, otomatik yük devretmeye neden olması gereken koşullar üzerinde ayrıntılı denetim sağlar. Daha fazla bilgi için bkz. Bir kullanılabilirlik grubunun (SQL Server) Otomatik Yük Devretmesi için Esnek Yük Devretme İlkesi.
HEALTH_CHECK_TIMEOUT = milisaniye
WSFC kümesi sunucu örneğinin yavaş olduğunu veya yanıt vermediğini varsaymadan önce sunucu durumu bilgilerini döndürmek için sp_server_diagnostics sistem saklı yordamının bekleme süresini (milisaniye olarak) belirtir. HEALTH_CHECK_TIMEOUT grup düzeyinde ayarlanır, ancak yalnızca otomatik yük devretme (AVAILABILITY_MODE SYNCHRONOUS_COMMIT = ) ile zaman uyumlu işleme kullanılabilirlik modu için yapılandırılmış kullanılabilirlik çoğaltmalarıyla ilgilidir. Ayrıca, sistem durumu denetimi zaman aşımı otomatik yük devretmeyi tetikleyebilir ancak hem birincil hem de ikincil çoğaltmalar otomatik yük devretme modu (FAILOVER_MODE = AUTOMATIC) için yapılandırılmışsa ve ikincil çoğaltma şu anda birincil çoğaltmayla eşitlenmişse.
Varsayılan HEALTH_CHECK_TIMEOUT değeri 30000 milisaniyedir (30 saniye). En düşük değer 15.000 milisaniye (15 saniye) ve maksimum değer 4.294.967.295 milisaniyedir.
Önemli
sp_server_diagnostics veritabanı düzeyinde sistem durumu denetimleri gerçekleştirmez.
DB_FAILOVER = { ON | KAPALI }
Birincil çoğaltmadaki bir veritabanı çevrimdışı olduğunda alınacak yanıtı belirtir. AÇI olarak ayarlandığında, kullanılabilirlik grubundaki bir veritabanının ONLINE dışında herhangi bir durumu otomatik yük devretmeyi tetikler. Bu seçenek KAPALI olarak ayarlandığında, otomatik yük devretmeyi tetiklemede yalnızca örneğin sistem durumu kullanılır.
Bu ayar hakkında daha fazla bilgi için bkz . Veritabanı Düzeyi Sistem Durumu Algılama Seçeneği
DTC_SUPPORT = { PER_DB | HİÇ }
Şunlar için geçerlidir: SQL Server (SQL Server 2016 (13.x) ile başlayarak)
Veritabanları arası işlemlerin dağıtılmış işlem düzenleyicisi (DTC) aracılığıyla desteklenip desteklenmediğini belirtir. Veritabanları arası işlemler yalnızca SQL Server 2016(13.x) sürümünden itibaren desteklenir. PER_DB bu işlemler için destek içeren kullanılabilirlik grubunu oluşturur. Daha fazla bilgi için bkz. Her Zaman Açık kullanılabilirlik grupları için Veritabanları Arası İşlemler ve Dağıtılmış İşlemler ve Veritabanı Yansıtma (SQL Server).
TEMEL
Şunlar için geçerlidir: SQL Server (SQL Server 2016 (13.x) ile başlayarak)
Temel bir kullanılabilirlik grubu oluşturmak için kullanılır. Temel kullanılabilirlik grupları bir veritabanı ve iki çoğaltmayla sınırlıdır: birincil çoğaltma ve bir ikincil çoğaltma. Bu seçenek, SQL Server Standard Edition'da kullanım dışı bırakılan veritabanı yansıtma özelliğinin yerini alır. Daha fazla bilgi için bkz. Temel kullanılabilirlik grupları (AlwaysOn kullanılabilirlik grupları). Temel kullanılabilirlik grupları SQL Server 2016(13.x) sürümünden itibaren desteklenir.
DAĞITILMIŞ
Şunlar için geçerlidir: SQL Server (SQL Server 2016 (13.x) ile başlayarak)
Dağıtılmış kullanılabilirlik grubu oluşturmak için kullanılır. Bu seçenek, ayrı Windows Server Yük Devretme Kümelerindeki iki kullanılabilirlik grubunu bağlamak için KULLANıLABILIRLIK GRUBU AÇILDI parametresiyle birlikte kullanılır. Daha fazla bilgi için bkz . Dağıtılmış kullanılabilirlik grupları (AlwaysOn kullanılabilirlik grupları). Dağıtılmış kullanılabilirlik grupları SQL Server 2016 (13.x) sürümünden itibaren desteklenir.
KAPSANAN [REUSE_SYSTEM_DATABASES | AUTOSEEDING_SYSTEM_DATABASES]
SQL Server 2022(16.x) ile kullanıma sunulmuştur.
Kapsanan bir kullanılabilirlik grubu oluşturun. Bu seçenek, kendi master ve veritabanlarıyla bir kullanılabilirlik grubu oluşturmak için kullanılır ve msdb kullanılabilirlik grubundaki çoğaltma kümesinde eşitlenmiş olarak tutulur.
seçeneği, REUSE_SYSTEM_DATABASES bu yeni kullanılabilirlik grubunun oluşturulmasında kullanılabilirlik grubunun önceki bir sürümünde bulunan ve master veritabanlarının kullanılmasına neden olurmsdb. Kapsanan kullanılabilirlik grupları hakkında daha fazla bilgi için bkz. Kapsanan kullanılabilirlik grubuna Genel Bakış (AlwaysOn kullanılabilirlik grupları).
SQL Server 2025 (17.x), dağıtılmış bir kapsanan kullanılabilirlik grubu için destek sağlar. Dağıtılmış kullanılabilirlik grubunda iletici olarak bir kapsanan AG kullanmayı planlıyorsanız, deyiminin seçeneği AUTOSEEDING_SYSTEM_DATABASES için WITH | CONTAINED yan tümcesini CREATE AVAILABILITY GROUP kullanarak kapsanan AG'yi oluşturmanız gerekir.
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
Şunlar için geçerlidir: SQL Server (SQL Server 2017 (14.x) ile başlayarak)
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT
SQL Server 2017(14.x) ile kullanıma sunulmuştur. Birincil çoğaltma bir işlemi işlemeden önce işlemek için gereken en az sayıda zaman uyumlu ikincil çoğaltmayı ayarlar. SQL Server işlemlerinin işlem günlükleri en az ikincil çoğaltma sayısıyla güncelleştirilene kadar beklemesini garanti eder.
- Varsayılan: 0. SQL Server 2016 (13.x) ile aynı davranışı sağlar.
- En az: 0.
- Maksimum: Çoğaltma sayısı eksi 1.
REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT, zaman uyumlu işleme modundaki çoğaltmalarla ilgilidir. Çoğaltmalar zaman uyumlu işleme modunda olduğunda, birincil çoğaltmada yazma işlemleri zaman uyumlu çoğaltmalarda yazılana kadar bekler ve çoğaltma veritabanı işlem günlüğüne kaydedilir. İkincil zaman uyumlu çoğaltmayı barındıran bir SQL Server yanıt vermeyi durdurursa, birincil çoğaltmayı barındıran SQL Server bu ikincil çoğaltmayı EŞITLENMEDİ olarak işaretler ve devam eder. Yanıt vermeyen veritabanı yeniden çevrimiçi olduğunda , "eşitlenmedi" durumunda olur ve birincil veritabanı yeniden eşitlenene kadar çoğaltma iyi durumda değil olarak işaretlenir. Bu ayar, her işlemi en az sayıda çoğaltma işleyene kadar birincil çoğaltmanın devam etmemesi garanti eder. En az sayıda çoğaltma kullanılamıyorsa, birincil hatada işlemeler başarısız olur. Küme türü için, EXTERNAL kullanılabilirlik grubu bir küme kaynağına eklendiğinde ayar değiştirilir.
Kullanılabilirlik grubu yapılandırmaları için bkz. Yüksek kullanılabilirlik ve veri koruması.
CREATE AVAILABILITY GROUP için desteklenmez. SQL Server 2022(16.x) sürümünden başlayarak, dağıtılmış bir kullanılabilirlik grubunda REQUIRED_SYNCHRONIZED_SECONDARIES_TO_COMMIT ayarlamak için ALTER AVAILABILITY GROUP kullanabilirsiniz. Bkz . ALTER AVAILABILITY GROUP (Transact-SQL).
KÜME_TİPİ
Şunlar için geçerlidir: SQL Server (SQL Server 2017 (14.x) ile başlayarak).
Kullanılabilirlik grubunun bir Windows Server Yük Devretme Kümesinde (WSFC) olup olmadığını belirlemek için kullanılır. Kullanılabilirlik grubu Bir Windows Server yük devretme kümesindeki bir yük devretme kümesi örneğinde olduğunda WSFC olarak ayarlayın. Küme, Linux Pacemaker gibi bir Windows Server yük devretme kümesi olmayan bir küme yöneticisi tarafından yönetildiğinde EXTERNAL olarak ayarlanır. Kullanılabilirlik grubu küme koordinasyonu için WSFC kullanmadığında NONE olarak ayarlayın. Örneğin, kullanılabilirlik grubu küme yöneticisi olmayan Linux sunucuları içerdiğinde.
WRITE_LEASE_VALIDITY
Şunlar için geçerlidir: SQL Server 2017 (14.x) ve sonraki sürümleri.
Süresi dolmadan veya yenilenmesi gerekmeden önce kira süresini (saniye olarak) belirtir. Bu, yerel küme düzenleyici ile SQL Server örnek işlemleri arasındaki sistem durumunu ve iletişimi izler. Kira geçerlilik mekanizması, kullanılabilirlik grubu birincil SQL Server örneğine sinyal sinyalleri kullanır. Birincil, kiralama geçerlilik süresi içinde kira yenilemesi gönderemezse veya alamazsa yanıt vermemeye devam eder ve birincil dosya çevrimdışı olur. Bu mekanizma, küme düzenleyicinin yük devretme tarafından yeni bir birincil seçildiğinde SQL Server'a birincil olmayı durdurması için bildirimde bulunamadığı bölünmüş beyin durumlarını önler. Yalnızca CLUSTER_TYPE = EXTERNAL, küme Linux Pacemaker gibi bir Windows Server yük devretme kümesi olmayan bir küme yöneticisi tarafından yönetildiğinde için geçerlidir.
Dış düzenleyici, dış kiralama yenileme işleminin tutarlı bir şekilde kararlı olduğundan emin olmakla sorumludur. Kira yenileme iletisi beklenmedik bir şekilde yanıtsız kalırsa, geçerli AG çoğaltması çevrimdışı olarak ayarlanır ve bu da AG kullanılabilirlik kaybına neden olur.
CLUSTER_CONNECTION_OPTIONS
Şunlar için geçerlidir: SQL Server 2025 (17.x) ve sonraki sürümleri
CLUSTER_CONNECTION_OPTIONS Windows Server Yük Devretme Kümesi ile kullanılabilirlik grubu çoğaltmalarınız arasındaki iletişim için TLS 1.3 şifrelemesini zorlamak için yan tümcesini kullanın. Seçenekler, noktalı virgülle ayrılmış bir anahtar-değer çiftleri listesi olarak belirtilir. Anahtar-değer çiftleri, kullanılabilirlik grubu için bağlantı dizesi şifrelemesini yapılandırmak için kullanılır.
Daha fazla bilgi için katı şifreleme ve TDS 8.0ile bir kullanılabilirlik grubuna bağlanma'yı gözden geçirin.
Aşağıdaki tabloda, yan tümcesinde kullanabileceğiniz anahtar-değer çiftleri CLUSTER_CONNECTION_OPTIONS açıklanmaktadır:
| Key | Desteklenen değerler | Açıklama |
|---|---|---|
Encrypt |
Mandatory, Strict, Optional |
Kullanılabilirlik grubu için şifrelemenin nasıl zorunlu kılınmasını belirtir. Sunucu şifrelemeyi desteklemiyorsa bağlantı başarısız olur. Şifreleme olarak ayarlandıysa MandatoryTrustServerCertificate evet olarak ayarlanmalıdır. Şifreleme olarak ayarlanırsa StrictTrustServerCertificate yoksayılır. Bu anahtar değer çifti gereklidir. |
HostNameInCertificate |
Çoğaltma adı veya AG dinleyici adı | Şifreleme için kullanılan sertifikada çoğaltma adını veya kullanılabilirlik grubu dinleyici adını belirtir. Bu değer, sertifikanın Konu Alternatif Adı'ndaki değerle eşleşmelidir. Sunucu adı sertifikada listeleniyorsa anahtar-değer çiftini HostNameInCertificate atlayabilirsiniz. Sunucu adı sertifikada listelenmiyorsa, sunucu adıyla anahtar-değer çiftini belirtmeniz HostNameInCertificate gerekir. Bu anahtar değer çifti isteğe bağlıdır.* |
TrustServerCertificate |
Yes, No |
yes Sürücünün sunucu TLS/SSL sertifikasını doğrulamadığını belirtmek için olarak ayarlayın. ise no, sürücü sertifikayı doğrular. Daha fazla bilgi için TDS 8.0'ı gözden geçirin. Bu anahtar değer çifti isteğe bağlıdır.* |
ServerCertificate |
Sertifikanızın yolu | kullanmak HostNameInCertificateistemiyorsanız, sertifikanızın yolunu geçirebilirsiniz. Küme hizmeti hesabının verilen konumdan sertifikayı okuma izni olmalıdır.Bu anahtar değer çifti isteğe bağlıdır. |
Yan tümcesini kullanmayı öğrenmek için CLUSTER_CONNECTION_OPTIONS gözden geçirin.
VERITABANI database_name
Yerel SQL Server örneğindeki (yani, kullanılabilirlik grubunu oluşturduğunuz sunucu örneği) bir veya daha fazla kullanıcı veritabanının listesini belirtir. Bir kullanılabilirlik grubu için birden çok veritabanı belirtebilirsiniz, ancak her veritabanı yalnızca bir kullanılabilirlik grubuna ait olabilir. Kullanılabilirlik grubunun destekleyebilecek veritabanlarının türü hakkında bilgi için bkz. Always On kullanılabilirlik grupları (SQL Server) için Önkoşullar, Kısıtlamalar ve Öneriler. Hangi yerel veritabanlarının zaten bir kullanılabilirlik grubuna ait olduğunu öğrenmek için sys.databases katalog görünümündeki replica_id sütununa bakın.
DATABASE yan tümcesi isteğe bağlıdır. Bunu atlarsanız, yeni kullanılabilirlik grubu boş olur.
Kullanılabilirlik grubunu oluşturduktan sonra, ikincil çoğaltmayı barındıran her sunucu örneğine bağlanın ve ardından her ikincil veritabanını hazırlayıp kullanılabilirlik grubuna ekleyin. Daha fazla bilgi için bkz. Her Zaman Açık İkincil Veritabanında (SQL Server) Veri Taşımayı Başlatma.
Uyarı
Daha sonra, geçerli birincil çoğaltmayı barındıran sunucu örneğinde uygun veritabanlarını bir kullanılabilirlik grubuna ekleyebilirsiniz. Veritabanını kullanılabilirlik grubundan da kaldırabilirsiniz. Daha fazla bilgi için bkz. ALTER AVAILABILITY GROUP (Transact-SQL).
ÇOĞALTMA AÇıK
Yeni kullanılabilirlik grubunda kullanılabilirlik çoğaltmalarını barındırmak için bir ila beş SQL Server örneğini belirtir. Her çoğaltma, sunucu örneği adresi ve ardından bir WITH (...) yan tümcesi ile belirtilir. En düşük düzeyde, ilk birincil çoğaltmaya dönüşen yerel sunucu örneğinizi belirtmeniz gerekir. İsteğe bağlı olarak, en fazla dört ikincil çoğaltma belirtebilirsiniz.
Her ikincil çoğaltmayı kullanılabilirlik grubuna eklemeniz gerekir. Daha fazla bilgi için bkz. ALTER AVAILABILITY GROUP (Transact-SQL).
Uyarı
Kullanılabilirlik grubu oluştururken dörtten az ikincil çoğaltma belirtirseniz, ALTER AVAILABILITY GROUPTransact-SQL deyimini kullanarak istediğiniz zaman ek bir ikincil çoğaltma belirtebilirsiniz. Var olan bir kullanılabilirlik grubundan ikincil çoğaltmayı kaldırmak için de bu deyimi kullanabilirsiniz.
server_instance
Bir çoğaltmanın konağı olan SQL Server örneğinin adresini belirtir. Adres biçimi, örneğin varsayılan örnek mi yoksa adlandırılmış örnek mi olduğuna ve tek başına bir örnek mi yoksa bir yük devretme kümesi örneği mi (FCI) olduğuna bağlıdır:
{ '*system_name*[\\*instance_name*]' | '*FCI_network_name*[\\*instance_name*]' }
Bu adresin bileşenleri aşağıdaki gibidir:
system_name
SQL Server'ın hedef örneğinin bulunduğu bilgisayar sisteminin NetBIOS adıdır. Bu bilgisayar bir WSFC düğümü olmalıdır.
FCI_network_name
SQL Server yük devretme kümesine erişmek için kullanılan ağ adıdır. Sunucu örneği SQL Server yük devretme iş ortağı olarak katılıyorsa bunu kullanın. Bir FCI sunucu örneğinde SELECT @@SERVERNAME yürütülürken 'FCI_network_name[\instance_name]' dizesinin tamamı (tam çoğaltma adıdır) döndürülür.
instance_name
system_name veya FCI_network_name tarafından barındırılan ve HADR hizmeti etkinleştirilmiş bir SQL Server örneğinin adıdır. Varsayılan sunucu örneği için instance_name isteğe bağlıdır. Örnek adı büyük/küçük harfe duyarsız. Adlandırılmış bir örnekte, bu değer adı yürütülerek select ServerProperty(N'InstanceName');döndürülen değerle aynıdır.
\
Yalnızca system_name veyaFCI_network_name ayırmak için instance_name belirtirken kullanılan bir ayırıcıdır.
WSFC düğümleri ve sunucu örnekleri için önkoşullar hakkında bilgi için bkz. Always On kullanılabilirlik grupları (SQL Server) için Önkoşullar, Kısıtlamalar ve Öneriler.
ENDPOINT_URL ='TCP:// system-address:port'
Geçerli REPLICA ON yan tümcenizde tanımladığınız kullanılabilirlik çoğaltmasını barındıran SQL Server örneğindeki veritabanı yansıtma uç noktasının URL yolunu belirtir.
ENDPOINT_URL yan tümcesi gereklidir. Daha fazla bilgi için bkz. Kullanılabilirlik Çoğaltması (SQL Server) Eklerken veya Değiştirirken Uç Nokta URL'sini Belirtme.
'TCP:// system-address:port'
Uç nokta URL'si veya salt okunur yönlendirme URL'si belirtmek için bir URL belirtir. URL parametreleri aşağıdaki gibidir:
sistem adresi
Sistem adı, tam etki alanı adı veya IP adresi gibi hedef bilgisayar sistemini kesin olarak tanımlayan bir dizedir.
liman
İş ortağı sunucu örneğinin yansıtma uç noktasıyla ilişkili bir bağlantı noktası numarasıdır (ENDPOINT_URL seçeneği için) veya sunucu örneğinin Veritabanı Altyapısı tarafından kullanılan bağlantı noktası numarasıdır (READ_ONLY_ROUTING_URL seçeneği için).
AVAILABILITY_MODE = {SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
SYNCHRONOUS_COMMIT veya ASYNCHRONOUS_COMMIT, birincil çoğaltmanın işlemi belirli bir birincil veritabanına işleyebilmesi için birincil çoğaltmanın günlük kayıtlarının sağlamlaştırmasını (yazmasını) kabul etmesini beklemesi gerekip gerekmediğini belirtir. Aynı birincil çoğaltmadaki farklı veritabanlarındaki işlemler bağımsız olarak işlenebilir. SQL Server 2017 (14.x) CU1, CONFIGURATION_ONLY tanıtır. CONFIGURATION_ONLY çoğaltma yalnızca veya CLUSTER_TYPE = EXTERNALile CLUSTER_TYPE = NONE kullanılabilirlik grupları için geçerlidir.
SYNCHRONOUS_COMMIT
Birincil çoğaltmanın, bu ikincil çoğaltmada (zaman uyumlu işleme modu) sağlamlaştırılana kadar işleme işlemlerini beklemesini belirtir. Birincil çoğaltma dahil olmak üzere en fazla üç çoğaltma için SYNCHRONOUS_COMMIT belirtebilirsiniz.
ASYNCHRONOUS_COMMIT
Birincil çoğaltmanın, bu ikincil çoğaltmanın günlüğü sağlamlaştırmasını beklemeden işlemleri işlediğini belirtir (zaman uyumlu işleme kullanılabilirlik modu). Birincil çoğaltma dahil olmak üzere en fazla beş kullanılabilirlik çoğaltması için ASYNCHRONOUS_COMMIT belirtebilirsiniz.
CONFIGURATION_ONLY
Birincil çoğaltmanın kullanılabilirlik grubu yapılandırma meta verilerini bu çoğaltmadaki ana veritabanına zaman uyumlu olarak işlediğini belirtir. Çoğaltma kullanıcı verileri içermez. Bu seçenek:
Express Edition dahil olmak üzere herhangi bir SQL Server sürümünde barındırılabilir.
CONFIGURATION_ONLY çoğaltmasının veri yansıtma uç noktasının türünde
WITNESSolmasını gerektirir.Değiştirilemez.
olduğunda
CLUSTER_TYPE = WSFCgeçerli değildir.ve seçenekleri
failover_modeseeding_mode, bir çoğaltma için olarak ayarlandığındaavailability_modedesteklenmezconfiguration_only. Burada bir örnek gösterilmiştir.Daha fazla bilgi için bkz . Yalnızca yapılandırma çoğaltması.
AVAILABILITY_MODE yan tümcesi gereklidir. Daha fazla bilgi için bkz . Kullanılabilirlik Modları (AlwaysOn kullanılabilirlik grupları).
FAILOVER_MODE = { OTOMATIK | MANUAL }
Tanımladığınız kullanılabilirlik çoğaltmasının yük devretme modunu belirtir.
OTOMATİK
Otomatik yük devretmeyi etkinleştirir. Bu seçenek yalnızca AVAILABILITY_MODE = SYNCHRONOUS_COMMIT de belirtirseniz desteklenir. Birincil çoğaltma dahil olmak üzere iki kullanılabilirlik çoğaltması için AUTOMATIC belirtebilirsiniz.
Uyarı
SQL Server Yük Devretme Kümesi Örnekleri (FCI) kullanılabilirlik grupları tarafından otomatik yük devretmeyi desteklemez, bu nedenle FCI tarafından barındırılan tüm kullanılabilirlik çoğaltmaları yalnızca el ile yük devretme için yapılandırılabilir.
EL İLE
Veritabanı yöneticisi tarafından planlı el ile yük devretmeyi veya zorunlu el ile yük devretmeyi (genellikle zorlamalı yük devretme olarak adlandırılır) etkinleştirir.
FAILOVER_MODE yan tümcesi gereklidir. İki tür el ile yük devretme, veri kaybı olmadan el ile yük devretme ve zorlamalı yük devretme (olası veri kaybıyla) farklı koşullar altında desteklenir. Daha fazla bilgi için bkz . Yük Devretme ve Yük Devretme Modları (AlwaysOn kullanılabilirlik grupları).
SEEDING_MODE = { OTOMATIK | MANUAL }
İkincil çoğaltmanın başlangıçta nasıl dağıtıldığını belirtir.
OTOMATİK
Doğrudan tohumlamayı etkinleştirir. Bu yöntem, ikincil çoğaltmayı ağ üzerinden tohumlar. Bu yöntem, çoğaltmadaki birincil veritabanının bir kopyasını yedeklemenizi ve geri yüklemenizi gerektirmez.
Uyarı
Doğrudan tohumlama için, ALTER AVAILABILITY GROUP komutunu HERHANGI Bir VERITABANı OLUŞTUR seçeneğiyle çağırarak her ikincil çoğaltmada veritabanı oluşturmaya izin vermelisiniz.
EL İLE
El ile tohumlama (varsayılan) belirtir. Bu yöntem, birincil çoğaltmada veritabanının yedeğini oluşturmanızı ve bu yedeklemeyi ikincil çoğaltmada el ile geri yüklemenizi gerektirir.
BACKUP_PRIORITY = n
Aynı kullanılabilirlik grubundaki diğer çoğaltmalara göre bu çoğaltmada yedekleme gerçekleştirme önceliğinizi belirtir. Değer, 0,.100 aralığındaki bir tamsayıdır. Bu değerler aşağıdaki anlamlara sahiptir:
1..100, yedeklemeleri gerçekleştirmek için kullanılabilirlik çoğaltmasının seçilebileceğini belirtir. 1 en düşük önceliği, 100 ise en yüksek önceliği gösterir. BACKUP_PRIORITY = 1 ise, kullanılabilirlik çoğaltması yalnızca şu anda daha yüksek öncelikli kullanılabilirlik çoğaltmaları yoksa yedekleme gerçekleştirmek için seçilir.
0, bu kullanılabilirlik çoğaltmasını yedekleme gerçekleştirmek için olmadığını gösterir. Bu, örneğin, yedeklemelerin yük devretmesini asla istemediğiniz bir uzaktan kullanılabilirlik çoğaltması için kullanışlıdır.
Daha fazla bilgi için bkz . Etkin İkinciller: İkincil Çoğaltmalarda Yedekleme (Her Zaman Açık kullanılabilirlik grupları).
SECONDARY_ROLE ( ... )
Bu kullanılabilirlik çoğaltması şu anda ikincil role sahipse (yani, ikincil çoğaltma olduğunda) etkili olacak role özgü ayarları belirtir. Parantez içinde, ikincil rol seçeneklerinden birini veya her ikisini de belirtin. Her ikisini de belirtirseniz, virgülle ayrılmış bir liste kullanın.
İkincil rol seçenekleri şunlardır:
ALLOW_CONNECTIONS = { HAYIR | READ_ONLY | ALL }
İkincil rolü gerçekleştiren (yani ikincil çoğaltma olarak davranan) belirli bir kullanılabilirlik çoğaltmasının veritabanlarının istemcilerden gelen bağlantıları kabul edip etmeyeceğini belirtir. Bunlardan biri:
HAYIR
Bu çoğaltmanın ikincil veritabanlarına kullanıcı bağlantısına izin verilmez. Okuma erişimi sağlanmamıştır. Bu, varsayılan davranıştır.
READ_ONLY
Uygulama Amacı özelliğinin ReadOnly olarak ayarlandığı ikincil çoğaltmadaki veritabanlarına yalnızca bağlantılara izin verilir. Bu özellik hakkında daha fazla bilgi için bkz. SQL Server Yerel İstemcisi ile Bağlantı Dizesi Anahtar Sözcüklerini Kullanma.
HEPSİ
Salt okunur erişim için ikincil çoğaltmadaki veritabanlarına tüm bağlantılara izin verilir.
Daha fazla bilgi için bkz . Etkin İkinciller: Okunabilir İkincil Çoğaltmalar (AlwaysOn kullanılabilirlik grupları).
READ_ONLY_ROUTING_URL ='TCP:// system-address:port'
Okuma amacı bağlantı isteklerini bu kullanılabilirlik çoğaltmasına yönlendirmek için kullanılacak URL'yi belirtir. Bu, Veritabanı Altyapısı'nın dinlediği URL'dir. Genellikle, SQL Server'ın varsayılan örneği 1433 numaralı TCP bağlantı noktasını dinler.
Adlandırılmış bir örnek için, sys.dm_tcp_listener_states dinamik yönetim görünümünün bağlantı noktasını ve type_desc sütunlarını sorgulayarak bağlantı noktası numarasını alabilirsiniz. Sunucu örneği Transact-SQL dinleyicisini (type_desc='TSQL') kullanır.
Bir çoğaltmanın salt okunur yönlendirme URL'sini hesaplama hakkında daha fazla bilgi için bkz. Always On için read_only_routing_url Hesaplama.
Uyarı
SQL Server'ın adlandırılmış bir örneği için, Transact-SQL dinleyicisi belirli bir bağlantı noktasını kullanacak şekilde yapılandırılmalıdır. Daha fazla bilgi için bkz. Sunucuyu Belirli bir TCP Bağlantı Noktasını dinleyecek şekilde yapılandırma (SQL Server Configuration Manager).
PRIMARY_ROLE ( ... )
Bu kullanılabilirlik çoğaltması birincil role (birincil çoğaltma olduğunda) sahipse geçerli olacak role özgü ayarları belirtir. Parantez içinde birincil rol seçeneklerinden birini veya her ikisini de belirtin. Her ikisini de belirtirseniz, virgülle ayrılmış bir liste kullanın.
Birincil rol seçenekleri şunlardır:
ALLOW_CONNECTIONS = { READ_WRITE | TÜMÜ }
Birincil rolü gerçekleştiren (yani birincil çoğaltma görevi gören) belirli bir kullanılabilirlik çoğaltmasının veritabanlarının istemcilerden kabul edebilecekleri bağlantı türünü belirtir:
Okuma_Yazma
Uygulama Amacı bağlantı özelliğinin ReadOnly olarak ayarlandığı bağlantılara izin verilmez. Uygulama Amacı özelliği ReadWrite olarak ayarlandığında veya Uygulama Amacı bağlantı özelliği ayarlı değilse, bağlantıya izin verilir. Uygulama Amacı bağlantı özelliği hakkında daha fazla bilgi için bkz. SQL Server Yerel İstemcisi ile bağlantı Dizesi Anahtar Sözcüklerini kullanma.
HEPSİ
Birincil çoğaltmadaki veritabanlarına tüm bağlantılara izin verilir. Bu, varsayılan davranıştır.
READ_ONLY_ROUTING_LIST = { ('_server_instance_' [ , ... n ] ) | HİÇ }
İkincil rol altında çalışırken aşağıdaki gereksinimleri karşılayan bu kullanılabilirlik grubu için kullanılabilirlik çoğaltmalarını barındıran sunucu örneklerinin virgülle ayrılmış listesini belirtir:
Tüm bağlantılara veya salt okunur bağlantılara izin verecek şekilde yapılandırılmalıdır (SECONDARY_ROLE seçeneğinin ALLOW_CONNECTIONS bağımsız değişkenine bakın).
Salt okunur yönlendirme URL'sini tanımla (SECONDARY_ROLE seçeneğinin READ_ONLY_ROUTING_URL bağımsız değişkenine bakın).
READ_ONLY_ROUTING_LIST değerleri aşağıdaki gibidir:
server_instance
İkincil rol altında çalıştırılırken okunabilir bir ikincil çoğaltma olan bir çoğaltmanın konağı olan SQL Server örneğinin adresini belirtir.
Okunabilir bir ikincil çoğaltma barındırabilecek tüm sunucu örneklerini belirtmek için virgülle ayrılmış bir liste kullanın. Salt okunur yönlendirme, sunucu örneklerinin listede belirtildiği sırayı izler. Çoğaltmanın ana bilgisayar sunucusu örneğini çoğaltmanın salt okunur yönlendirme listesine eklerseniz, bu sunucu örneğinin listenin sonuna yerleştirilmesi genellikle iyi bir uygulamadır; bu nedenle okuma amacı bağlantıları varsa ikincil bir çoğaltmaya gider.
SQL Server 2016(13.x) sürümünden başlayarak, okunabilir ikincil çoğaltmalar arasında okuma amacı isteklerinin yükünü dengeleyebilirsiniz. Bunu, çoğaltmaları salt okunur yönlendirme listesi içinde iç içe yerleştirilmiş bir parantez kümesine yerleştirerek belirtirsiniz. Daha fazla bilgi ve örnek için bkz. Salt okunur çoğaltmalar arasında yük dengelemeyi yapılandırma.
HİÇBİRİ
Bu kullanılabilirlik çoğaltması birincil çoğaltma olduğunda salt okunur yönlendirmenin desteklenmediğini belirtir. Bu, varsayılan davranıştır.
READ_WRITE_ROUTING_URL ='TCP://system-address:port'
Şunlar için geçerlidir: SQL Server (SQL Server 2019 (15.x) ile başlayarak)
Birincil rol altında çalışırken aşağıdaki gereksinimleri karşılayan bu kullanılabilirlik grubu için kullanılabilirlik çoğaltmalarını barındıran sunucu örneklerini belirtir:
- Çoğaltma belirtimi PRIMARY_ROLE READ_WRITE_ROUTING_URL içerir.
- Bağlantı dizesi, ApplicationIntent'i ReadWrite olarak tanımlayarak veya ApplicationIntent'i ayarlamayarak ve varsayılan değerin (ReadWrite) etkin olmasıyla ReadWrite'dir.
Daha fazla bilgi için bkz. birincil çoğaltmaya ikincil okuma/yazma bağlantı yeniden yönlendirmesi (Always On kullanılabilirlik grupları).
SESSION_TIMEOUT = tamsayı
Oturum zaman aşımı süresini saniye cinsinden belirtir. Bu seçeneği belirtmezseniz, varsayılan olarak süre 10 saniyedir. En düşük değer 5 saniyedir.
Önemli
Zaman aşımı süresini 10 saniye veya daha uzun tutmanızı öneririz.
Oturum zaman aşımı süresi hakkında daha fazla bilgi için bkz . AlwaysOn kullanılabilirlik gruplarına (SQL Server) genel bakış.
KULLANıLABILIRLIK GRUBU AÇıK
Dağıtılmış bir kullanılabilirlik grubu oluşturan iki kullanılabilirlik grubunu belirtir. Her kullanılabilirlik grubu kendi Windows Server Yük Devretme Kümesi'nin (WSFC) bir parçasıdır. Dağıtılmış kullanılabilirlik grubu oluşturduğunuzda, geçerli SQL Server örneğindeki kullanılabilirlik grubu birincil kullanılabilirlik grubu olur. İkinci kullanılabilirlik grubu ikincil kullanılabilirlik grubu olur.
İkincil kullanılabilirlik grubunu dağıtılmış kullanılabilirlik grubuna eklemeniz gerekir. Daha fazla bilgi için bkz. ALTER AVAILABILITY GROUP (Transact-SQL).
ag_name
Dağıtılmış kullanılabilirlik grubunun yarısını oluşturan kullanılabilirlik grubunun adını belirtir.
='TCP:// system-address:port' LISTENER_URL
Kullanılabilirlik grubuyla ilişkili dinleyicinin URL yolunu belirtir.
LISTENER_URL yan tümcesi gereklidir.
'TCP:// system-address:port'
Kullanılabilirlik grubuyla ilişkili dinleyicinin URL'sini belirtir. URL parametreleri aşağıdaki gibidir:
sistem adresi
Bir sistem adı, tam etki alanı adı veya IP adresi gibi dinleyiciyi kesin olarak tanımlayan bir dizedir.
bağlantı noktası
Kullanılabilirlik grubunun yansıtma uç noktasıyla ilişkili bir bağlantı noktası numarasıdır. Bunun dinleyicinin bağlantı noktası olmadığını unutmayın.
AVAILABILITY_MODE = { SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | CONFIGURATION_ONLY }
Birincil çoğaltmanın işlemi belirli bir birincil veritabanına işleyebilmesi için önce birincil çoğaltmanın günlük kayıtlarının sağlamlaştırmasını (yazmasını) kabul etmesinin ikincil kullanılabilirlik grubunun beklemesi gerekip gerekmediğini belirtir.
SYNCHRONOUS_COMMIT
Birincil çoğaltmanın, ikincil kullanılabilirlik grubunda sağlamlaştırılana kadar işlemleri işlemeyi beklediğini belirtir. Birincil kullanılabilirlik grubu da dahil olmak üzere en fazla iki kullanılabilirlik grubu için SYNCHRONOUS_COMMIT belirtebilirsiniz.
ASYNCHRONOUS_COMMIT
Birincil çoğaltmanın, bu ikincil kullanılabilirlik grubunun günlüğü sağlamlaştırmasını beklemeden işlemleri işlediğini belirtir. Birincil kullanılabilirlik grubu dahil olmak üzere en fazla iki kullanılabilirlik grubu için ASYNCHRONOUS_COMMIT belirtebilirsiniz.
AVAILABILITY_MODE yan tümcesi gereklidir.
FAILOVER_MODE = { MANUEL }
Dağıtılmış kullanılabilirlik grubunun yük devretme modunu belirtir.
EL İLE
Veritabanı yöneticisi tarafından planlı el ile yük devretmeyi veya zorunlu el ile yük devretmeyi (genellikle zorlamalı yük devretme olarak adlandırılır) etkinleştirir.
FAILOVER_MODE yan tümcesi gereklidir ve tek seçenek MANUAL'dır. İkincil kullanılabilirlik grubuna otomatik yük devretme desteklenmez.
SEEDING_MODE = { OTOMATIK | MANUAL }
İkincil kullanılabilirlik grubunun başlangıçta nasıl dağıtıldığını belirtir.
OTOMATİK
Doğrudan tohumlamayı etkinleştirir. Bu yöntem, ikincil kullanılabilirlik grubunu ağ üzerinden tohumlar. Bu yöntem, ikincil kullanılabilirlik grubunun çoğaltmalarında birincil veritabanının bir kopyasını yedeklemenizi ve geri yüklemenizi gerektirmez.
EL İLE
El ile tohumlama (varsayılan) belirtir. Bu yöntem, birincil çoğaltmada veritabanının yedeğini oluşturmanızı ve bu yedeklemeyi ikincil kullanılabilirlik grubunun çoğaltmalarına el ile geri yüklemenizi gerektirir.
DINLEYICI 'dns_name'( listener_option )
Bu kullanılabilirlik grubu için yeni bir kullanılabilirlik grubu dinleyicisi tanımlar. DINLEYICI isteğe bağlı bir bağımsız değişkendir.
Önemli
İlk dinleyicinizi oluşturmadan önce , Kullanılabilirlik grubu dinleyicisi oluşturma veya yapılandırma (SQL Server) okumanızı kesinlikle öneririz.
Belirli bir kullanılabilirlik grubu için dinleyici oluşturduktan sonra aşağıdakileri yapmanızı kesinlikle öneririz:
- Ağ yöneticinizden dinleyicinin IP adresini özel kullanım için ayırmasını isteyin.
- Dinleyicinin DNS ana bilgisayar adını uygulama geliştiricilerine bu kullanılabilirlik grubuna istemci bağlantıları isteğinde bulunurken bağlantı dizelerinde kullanmaları için verin.
dns_name
Kullanılabilirlik grubu dinleyicisinin DNS ana bilgisayar adını belirtir. Dinleyicinin DNS adı etki alanında ve NetBIOS'ta benzersiz olmalıdır.
dns_name bir dize değeridir. Bu ad herhangi bir sırada yalnızca alfasayısal karakterler, tireler (-) ve kısa çizgi (_) içerebilir. DNS ana bilgisayar adları büyük/küçük harfe duyarlı değildir. Uzunluk üst sınırı 63 karakterdir.
Anlamlı bir dize belirtmenizi öneririz. Örneğin, adlı AG1bir kullanılabilirlik grubu için anlamlı bir DNS ana bilgisayar adı olacaktır ag1-listener.
Önemli
NetBIOS, dns_name yalnızca ilk 15 karakteri tanır. Aynı Active Directory tarafından denetlenen iki WSFC kümeniz varsa ve 15 karakterden fazla ve aynı 15 karakter ön ekine sahip adları kullanarak her iki kümede de kullanılabilirlik grubu dinleyicileri oluşturmayı denerseniz, Sanal Ağ Adı kaynağının çevrimiçi duruma getirilemediğine ilişkin bir hata bildirilir. DNS adları için ön ek adlandırma kuralları hakkında bilgi için bkz. Etki Alanı Adları Atama.
listener_option
DINLEYICI aşağıdaki <listener_option> seçeneklerden birini alır:
DHCP ILE [ { ('four_part_ipv4_address','four_part_ipv4_mask') } ]
Kullanılabilirlik grubu dinleyicisinin Dinamik Ana Bilgisayar Yapılandırma Protokolü'nü (DHCP) kullandığını belirtir. İsteğe bağlı olarak, bu dinleyicinin oluşturulduğu ağı tanımlamak için ON yan tümcesini kullanın. DHCP, kullanılabilirlik grubundaki bir çoğaltmayı barındıran her sunucu örneği için kullanılan tek bir alt ağ ile sınırlıdır.
Önemli
Üretim ortamında DHCP'nin kullanılması önerilmez. Bir kesinti süresi varsa ve DHCP IP kirasının süresi dolarsa, dinleyici DNS adıyla ilişkili yeni DHCP ağ IP adresini kaydetmek ve istemci bağlantısını etkilemek için ek süre gerekir. Ancak DHCP, kullanılabilirlik gruplarının temel işlevlerini doğrulamak ve uygulamalarınızla tümleştirme için geliştirme ve test ortamınızı ayarlamak için uygundur.
Örneğin:
WITH DHCP ON ('10.120.19.0','255.255.254.0')
WITH IP ( { ('four_part_ipv4_address','four_part_ipv4_mask') | ('ipv6_address') } [ , ... n ] ) [ , PORT =listener_port ]
Kullanılabilirlik grubu dinleyicisinin DHCP yerine bir veya daha fazla statik IP adresi kullandığını belirtir. Birden çok alt ağda kullanılabilirlik grubu oluşturmak için, her alt ağ dinleyici yapılandırmasında bir statik IP adresi gerektirir. Belirli bir alt ağ için statik IP adresi bir IPv4 adresi veya bir IPv6 adresi olabilir. Yeni kullanılabilirlik grubu için bir çoğaltma barındıran her alt ağ için statik bir IP adresi almak için ağ yöneticinize başvurun.
Örneğin:
WITH IP ( ('10.120.19.155','255.255.254.0') )
ip4_address
Kullanılabilirlik grubu dinleyicisi için dört parçalı IPv4 adresi belirtir. Örneğin, 10.120.19.155.
ipv4_mask
Kullanılabilirlik grubu dinleyicisi için bir IPv4 dört parçalı maske belirtir. Örneğin, 255.255.254.0.
ipv6_address
Kullanılabilirlik grubu dinleyicisi için bir IPv6 adresi belirtir. Örneğin, 2001::4898:23:1002:20f:1fff:feff:b3a3.
BAĞLANTI NOKTASI = listener_port
BIR WITH IP yan tümcesi tarafından belirtilen bir kullanılabilirlik grubu dinleyicisi tarafından kullanılacak bağlantı noktası numarası-listener_port belirtir. PORT isteğe bağlıdır.
Varsayılan bağlantı noktası numarası olan 1433 desteklenir. Ancak, güvenlikle ilgili endişeleriniz varsa farklı bir bağlantı noktası numarası kullanmanızı öneririz.
Örneğin: WITH IP ( ('2001::4898:23:1002:20f:1fff:feff:b3a3') ) , PORT = 7777
Önkoşullar ve kısıtlamalar
Kullanılabilirlik grubu oluşturma önkoşulları hakkında bilgi için bkz. Always On kullanılabilirlik grupları (SQL Server) için Önkoşullar, Kısıtlamalar ve Öneriler.
KULLANıLABILIRLIK GRUBU Transact-SQL deyimleriyle ilgili kısıtlamalar hakkında bilgi için bkz. Always On kullanılabilirlik grupları (SQL Server) için Transact-SQL Deyimlerine Genel Bakış.
Güvenlik
İzinler
Sysadmin sabit sunucu rolünde üyelik ve CREATE AVAILABILITY GROUP sunucu izni, ALTER ANY AVAILABILITY GROUP izni veya CONTROL SERVER izni gerektirir.
Örnekler
A. İkincil çoğaltmalarda, esnek yük devretme ilkesinde ve bağlantı erişiminde yedeklemeyi yapılandırma
Aşağıdaki örnek, MyAg ve ThisDatabaseadlı iki kullanıcı veritabanı için adlı ThatDatabase bir kullanılabilirlik grubu oluşturur. Aşağıdaki tabloda, kullanılabilirlik grubu için bir bütün olarak ayarlanan seçenekler için belirtilen değerler özetlenmiştir.
| Grup Seçeneği | Ayarlar | Açıklama |
|---|---|---|
| AUTOMATED_BACKUP_PREFERENCE | İKİNCİL | Bu otomatik yedekleme tercihi, birincil çoğaltmanın çevrimiçi tek çoğaltma olması dışında yedeklerin ikincil çoğaltmada gerçekleşmesi gerektiğini gösterir (varsayılan davranış budur). AUTOMATED_BACKUP_PREFERENCE ayarının herhangi bir etkiye sahip olması için, otomatik yedekleme tercihini hesaba katmak için kullanılabilirlik veritabanlarında yedekleme işleri betiği oluşturmanız gerekir. |
| FAILURE_CONDITION_LEVEL | 3 | Bu hata koşulu düzeyi ayarı yalnız bırakılmış spinlock'lar, ciddi yazma erişim ihlalleri veya çok fazla döküm gibi kritik SQL Server iç hatalarında otomatik yük devretmenin başlatılması gerektiğini belirtir. |
| HEALTH_CHECK_TIMEOUT | 600000 | Bu sistem durumu denetim zaman aşımı değeri olan 60 saniye, WSFC kümesinin konak sunucu örneğinin yavaş olduğunu veya yanıt vermediğini varsaymadan önce otomatik olarak zaman uyumlu işleme çoğaltması barındıran bir sunucu örneği hakkındaki sunucu durumu bilgilerini döndürmek için sp_server_diagnostics sistem saklı yordamı için 60000 milisaniye beklediğini belirtir. (Varsayılan değer 30000 milisaniyedir). |
, ve COMPUTER01adlı COMPUTER02COMPUTER03bilgisayarlarda varsayılan sunucu örnekleri tarafından üç kullanılabilirlik çoğaltması barındırılacaktır. Aşağıdaki tabloda, her çoğaltmanın çoğaltma seçenekleri için belirtilen değerler özetlenmektedir.
| Çoğaltma Seçeneği | Ayar açık COMPUTER01 |
Ayar açık COMPUTER02 |
Ayar açık COMPUTER03 |
Açıklama |
|---|---|---|---|---|
| ENDPOINT_URL | TCP:// COMPUTER01:5022 | TCP:// COMPUTER02:5022 | TCP:// COMPUTER03:5022 | Bu örnekte sistemler aynı etki alanı olduğundan uç nokta URL'leri sistem adresi olarak bilgisayar sisteminin adını kullanabilir. |
| AVAILABILITY_MODE | SYNCHRONOUS_COMMIT | SYNCHRONOUS_COMMIT | ASYNCHRONOUS_COMMIT | Çoğaltmalardan ikisi zaman uyumlu işleme modunu kullanır. Eşitlendiğinde, veri kaybı olmadan yük devretmeyi destekler. Zaman uyumsuz işleme kullanılabilirlik modunu kullanan üçüncü çoğaltma. |
| Aktarma Modu | OTOMATİK | OTOMATİK | EL İLE | Zaman uyumlu işleme çoğaltmaları otomatik yük devretmeyi ve planlı el ile yük devretmeyi destekler. Zaman uyumlu işleme kullanılabilirlik modu çoğaltması yalnızca zorlamalı el ile yük devretmeyi destekler. |
| BACKUP_PRIORITY | 30 | 30 | 90 | Zaman uyumsuz işleme çoğaltmasına, zaman uyumlu işleme çoğaltmalarına göre daha yüksek bir öncelik olan 90 atanır. Yedeklemeler genellikle zaman uyumsuz işleme çoğaltmasını barındıran sunucu örneğinde gerçekleşir. |
| SECONDARY_ROLE | ( ALLOW_CONNECTIONS = HAYIR, READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' ) |
( ALLOW_CONNECTIONS = HAYIR, READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' ) |
( ALLOW_CONNECTIONS = READ_ONLY, READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' ) |
Yalnızca zaman uyumsuz işleme çoğaltması okunabilir bir ikincil çoğaltma görevi görür. Bilgisayar adını ve varsayılan Veritabanı Altyapısı bağlantı noktası numarasını (1433) belirtir. Bu bağımsız değişken isteğe bağlıdır. |
| PRIMARY_ROLE | ( ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = (COMPUTER03) ) |
( ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = (COMPUTER03) ) |
( ALLOW_CONNECTIONS = READ_WRITE, READ_ONLY_ROUTING_LIST = YOK ) |
Birincil rolde, tüm çoğaltmalar okuma amacı bağlantı girişimlerini reddeder. Yerel çoğaltma ikincil rol altında çalışıyorsa okuma amacı bağlantı istekleri COMPUTER03 yönlendirilir. Bu çoğaltma birincil rol altında çalıştırıldığında salt okunur yönlendirme devre dışı bırakılır. Bu bağımsız değişken isteğe bağlıdır. |
| SESSION_TIMEOUT | 10 | 10 | 10 | Bu örnek, varsayılan oturum zaman aşımı değerini (10) belirtir. Bu bağımsız değişken isteğe bağlıdır. |
Son olarak, örnek yeni kullanılabilirlik grubu için bir kullanılabilirlik grubu dinleyicisi oluşturmak için isteğe bağlı LISTENER yan tümcesini belirtir. Bu dinleyici için benzersiz bir DNS adı MyAgListenerIvP6( ) belirtilir. İki çoğaltma farklı alt ağlarda olduğundan dinleyicinin statik IP adresleri kullanması gerekir. İki kullanılabilirlik çoğaltmasının her biri için WITH IP yan tümcesi, 2001:4898:f0:f00f::cf3c IPv6 biçimini kullanan statik bir IP adresi ve 2001:4898:e0:f213::4ce2belirtir. Bu örnek, dinleyici bağlantı noktası olarak bağlantı noktasını 60173 belirtmek için isteğe bağlı PORT bağımsız değişkenini de kullanır.
CREATE AVAILABILITY GROUP MyAg
WITH (
AUTOMATED_BACKUP_PREFERENCE = SECONDARY,
FAILURE_CONDITION_LEVEL = 3,
HEALTH_CHECK_TIMEOUT = 600000
)
FOR
DATABASE ThisDatabase, ThatDatabase
REPLICA ON
'COMPUTER01' WITH
(
ENDPOINT_URL = 'TCP://COMPUTER01:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = AUTOMATIC,
BACKUP_PRIORITY = 30,
SECONDARY_ROLE (ALLOW_CONNECTIONS = NO,
READ_ONLY_ROUTING_URL = 'TCP://COMPUTER01:1433' ),
PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = (COMPUTER03) ),
SESSION_TIMEOUT = 10
),
'COMPUTER02' WITH
(
ENDPOINT_URL = 'TCP://COMPUTER02:5022',
AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
FAILOVER_MODE = AUTOMATIC,
BACKUP_PRIORITY = 30,
SECONDARY_ROLE (ALLOW_CONNECTIONS = NO,
READ_ONLY_ROUTING_URL = 'TCP://COMPUTER02:1433' ),
PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = (COMPUTER03) ),
SESSION_TIMEOUT = 10
),
'COMPUTER03' WITH
(
ENDPOINT_URL = 'TCP://COMPUTER03:5022',
AVAILABILITY_MODE = ASYNCHRONOUS_COMMIT,
FAILOVER_MODE = MANUAL,
BACKUP_PRIORITY = 90,
SECONDARY_ROLE (ALLOW_CONNECTIONS = READ_ONLY,
READ_ONLY_ROUTING_URL = 'TCP://COMPUTER03:1433' ),
PRIMARY_ROLE (ALLOW_CONNECTIONS = READ_WRITE,
READ_ONLY_ROUTING_LIST = NONE ),
SESSION_TIMEOUT = 10
);
GO
ALTER AVAILABILITY GROUP [MyAg]
ADD LISTENER 'MyAgListenerIvP6' ( WITH IP ( ('2001:db88:f0:f00f::cf3c'),('2001:4898:e0:f213::4ce2') ) , PORT = 60173 );
GO
B. Kullanılabilirlik grubuna yönelik bağlantılarda şifrelemeyi zorunlu kılma
Bu bölümdeki örnekler kullanılabilirlik grubuyla bağlantılarda şifrelemeyiAccountsAG zorlar.
Sunucu adı her sertifikada herhangi bir yöntemle tanımlandığı şekilde listeleniyorsa şu seçeneği atlayabilirsiniz HostNameInCertificate :
CREATE AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict')
Yöntem 1'i izlediyseniz ve sunucu adınız sertifikada Konu Alternatif Adı olarak listelenmiyorsa, seçenekteki Konu Alternatif Adı'ndaHostNameInCertificate listelenen değeri belirtmeniz gerekir.
CREATE AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict;HostNameInCertificate=<Subject Alternative Name>')
Yöntem 1'i izlediyseniz ve için ServerCertificatebir değer sağlamak yerine özelliğini kullanmak HostNameInCertificate istiyorsanız:
CREATE AVAILABILITY GROUP [AccountsAG]
SET (
CLUSTER_CONNECTION_OPTIONS = 'Encrypt=Strict;ServerCertificate=C:\Users\admin\SqlAGCertificate.cer')
İlgili görevler
Kullanılabilirlik grubu sihirbazını kullanma (SQL Server Management Studio)
Yeni kullanılabilirlik grubu İletişim Kutusunu Kullanma (SQL Server Management Studio)
Kullanılabilirlik grubu sihirbazını kullanma (SQL Server Management Studio)
Ayrıca bakınız
UYGUNLUK GRUBUNU DEĞİŞTİR (Transact-SQL)
ALTER DATABASE SET HADR (Transact-SQL)
DROP KULLANıLABILIRLIK GRUBU (Transact-SQL)
AlwaysOn kullanılabilirlik grupları Yapılandırması (SQL Server) sorunlarını giderme
AlwaysOn kullanılabilirlik gruplarına (SQL Server) genel bakış
Kullanılabilirlik grubu dinleyicileri, İstemci Bağlantısı ve Uygulama Yük Devretme (SQL Server)