Aracılığıyla paylaş


Linux'ta yüksek kullanılabilirlik için SQL Server kullanılabilirlik grubunu yapılandırma

Şunlar için geçerlidir:Linux üzerinde SQL Server

Bu makalede, Linux'ta yüksek kullanılabilirlik için SQL Server Always On kullanılabilirlik grubunun (AG) nasıl oluşturulacağı açıklanmaktadır. AG'ler için iki yapılandırma türü vardır. yüksek kullanılabilirlik yapılandırması, iş sürekliliği sağlamak için bir küme yöneticisi kullanır. Bu yapılandırma, okuma ölçeğindeki kopyaları da içerebilir. Bu belgede yüksek kullanılabilirlik için AG'nin nasıl oluşturulacağı açıklanmaktadır.

Küme yöneticisi olmadan okuma ölçeğiiçin bir AG de oluşturabilirsiniz. Yalnızca okuma ölçeği için AG, performans ölçeğini genişletme için salt okunur çoğaltmalar sağlar. Yüksek kullanılabilirlik sağlamaz. Bir okuma ölçeği için AG oluşturmak amacıyla, bkz. Linux'ta SQL Server kullanılabilirlik grubunu okuma ölçeği için yapılandırma.

Yüksek kullanılabilirlik ve veri korumasını garanti eden yapılandırmalar, iki veya üç eşzamanlı taahhüt replikası gerektirir. Üç eşzamanlı kopya ile AG, bir sunucu bulunmasa bile otomatik olarak kendini kurtarabilir. Daha fazla bilgi için bkz. kullanılabilirlik grubu yapılandırmaları için yüksek kullanılabilirlik ve veri koruması.

Tüm sunucuların fiziksel veya sanal olması ve sanal sunucuların aynı sanallaştırma platformunda olması gerekir. Bu gereksinim, eskrim aracılarının platforma özgü olmasıdır. Bkz. Konuk Kümeleri içinİlkeleri.

Yol Haritası

Yüksek kullanılabilirlik için Linux sunucularında AG oluşturma adımları, Windows Server yük devretme kümesindeki adımlardan farklıdır. Aşağıdaki listede üst düzey adımlar açıklanmaktadır:

  1. SQL Server için Linux üzerinde yükleme yönergeleri.

    Önemli

    Linux yüksek kullanılabilirliği, sunuculardaki kaynakları izole etmek için çit ajanları kullandığından, AG'deki üç sunucunun da aynı platformda (fiziksel veya sanal) bulunması gerekir. Eskrim aracıları her platform için özeldir.

  2. AG'yi oluşturun. Bu adım, bu mevcut makalede ele alınmaktadır.

  3. Pacemaker gibi bir küme kaynak yöneticisi yapılandırın.

    Küme kaynak yöneticisini yapılandırmanın yolu, belirli Linux dağıtımına bağlıdır. Dağıtıma özgü yönergeler için aşağıdaki bağlantılara bakın:

    Önemli

    Üretim ortamları, yüksek kullanılabilirlik için bir eskrim aracısı gerektirir. Bu makaledeki örneklerde eskrim aracıları kullanılmaz. Bunlar yalnızca test ve doğrulama amaçlıdır.

    Pacemaker kümesi, kümeyi bilinen bir duruma döndürmek için eskrim kullanır. Çitlemeyi yapılandırma şekli, dağıtıma ve ortama bağlıdır. Şu anda bazı bulut ortamlarında eskrim sağlanmamaktadır. Daha fazla bilgi için bkz. RHEL Yüksek Kullanılabilirlik Kümeleri için Destek İlkeleri - Sanallaştırma Platformları .

    SLES için bkz. SUSE Linux Enterprise Yüksek Kullanılabilirlik Uzantısı.

  4. AG'yi kümeye kaynak olarak ekleyin.

    AG'yi kümeye kaynak olarak eklemenin yolu Linux dağıtımına bağlıdır. Dağıtıma özgü yönergeler için aşağıdaki bağlantılara bakın:

Birden çok Ağ Arabirimi (NIC) için dikkat edilmesi gerekenler

Birden çok NIC'ye sahip sunucular için kullanılabilirlik grubu ayarlama hakkında bilgi için aşağıdakiler için ilgili bölümlere bakın:

Önkoşullar

Kullanılabilirlik grubunu oluşturmadan önce şunları yapmanız gerekir:

  • Kullanılabilirlik çoğaltmalarını barındıracak tüm sunucuların iletişim kurabilmesi için ortamınızı ayarlayın.
  • SQL Server'ı yükleyin.

Linux'ta, küme tarafından yönetilecek bir küme kaynağı olarak eklemeden önce bir kullanılabilirlik grubu oluşturmanız gerekir. Bu belge kullanılabilirlik grubunu oluşturan bir örnek sağlar.

  1. Her konağın bilgisayar adını güncelleştirin.

    Her SQL Server örneği adı şu şekilde olmalıdır:

    • 15 veya daha az karakter.
    • Ağ içinde benzersiz.

    Bilgisayar adını ayarlamak için /etc/hostnamedüzenleyin. Aşağıdaki betik, /etc/hostnameile düzenlemenizi sağlar:

    sudo vi /etc/hostname
    
  2. Hosts dosyasını yapılandırın.

    Not

    Ana bilgisayar adları DNS sunucusundaki IP adresleriyle kayıtlıysa aşağıdaki adımları uygulamanız gerekmez. Kullanılabilirlik grubu yapılandırmasının parçası olması amaçlanan tüm düğümlerin birbiriyle iletişim kurabildiğini doğrulayın. (Konak adına yapılan bir ping, ilgili IP adresiyle yanıt vermelidir.) Ayrıca, /etc/hosts dosyasının localhost IP adresi 127.0.0.1'i düğümün ana bilgisayar adıyla eşleyen bir kayıt içermediğinden emin olun.

    Her sunucudaki hosts dosyası, kullanılabilirlik grubuna katılacak tüm sunucuların IP adreslerini ve adlarını içerir.

    Aşağıdaki komut geçerli sunucunun IP adresini döndürür:

    sudo ip addr show
    

    /etc/hostsgüncelleştirin. Aşağıdaki betik, /etc/hostsile düzenlemenizi sağlar:

    sudo vi /etc/hosts
    

    Aşağıdaki örnek, /etc/hosts üzerinde node1, node1ve node2eklemeleriyle node3'ı göstermektedir. Bu örnekte, node1 birincil çoğaltmayı barındıran sunucuya, node2 ve node3 ikincil çoğaltmaları barındıran sunuculara başvurur.

    127.0.0.1    localhost localhost4 localhost4.localdomain4
    ::1          localhost localhost6 localhost6.localdomain6
    10.128.18.12 node1
    10.128.16.77 node2
    10.128.15.33 node3
    

SQL Server'ı yükleme

SQL Server'ı yükleyin. Aşağıdaki bağlantılar çeşitli dağıtımlar için SQL Server yükleme yönergelerine işaret eder:

AlwaysOn kullanılabilirlik gruplarını etkinleştirme

Bir SQL Server örneğini barındıran her düğüm için Always On kullanılabilirlik gruplarını etkinleştirin ve mssql-serveryeniden başlatın. Aşağıdaki betiği çalıştırın:

sudo /opt/mssql/bin/mssql-conf set hadr.hadrenabled 1
sudo systemctl restart mssql-server

AlwaysOn_health Olay oturumunu etkinleştirme

Kullanılabilirlik grubuyla ilgili sorunları giderirken kök neden tanılamasına yardımcı olması için isteğe bağlı olarak Genişletilmiş Olaylar'ı (XE) etkinleştirebilirsiniz. SQL Server'ın her örneğinde aşağıdaki komutu çalıştırın:

ALTER EVENT SESSION AlwaysOn_health ON SERVER
WITH
(
        STARTUP_STATE = ON
);
GO

Bu XE oturumu hakkında daha fazla bilgi için kullanılabilirlik grupları için Genişletilmiş Olayları yapılandırmaya bakın .

Sertifika oluşturma

Linux üzerindeki SQL Server hizmeti, yansıtma uç noktaları arasındaki iletişimin kimliğini doğrulamak için sertifikaları kullanır.

Aşağıdaki Transact-SQL betiği bir ana anahtar ve bir sertifika oluşturur. Ardından sertifikayı yedekler ve dosyanın güvenliğini özel bir anahtarla sağlar. Betiği güçlü parolalarla güncelleştirin. Birincil SQL Server örneğine bağlanın. Sertifikayı oluşturmak için aşağıdaki Transact-SQL betiğini çalıştırın:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master-key-password>';

CREATE CERTIFICATE dbm_certificate
    WITH SUBJECT = 'dbm';

BACKUP CERTIFICATE dbm_certificate
    TO FILE = '/var/opt/mssql/data/dbm_certificate.cer'
    WITH PRIVATE KEY (
        FILE = '/var/opt/mssql/data/dbm_certificate.pvk',
        ENCRYPTION BY PASSWORD = '<private-key-password>'
);

Bu noktada, birincil SQL Server çoğaltmanızın /var/opt/mssql/data/dbm_certificate.cer üzerinde bir sertifika ve var/opt/mssql/data/dbm_certificate.pvk'de bir özel anahtar bulunur. Bu iki dosyayı kullanılabilirlik çoğaltmalarını barındıracak tüm sunucularda aynı konuma kopyalayın. mssql kullanıcısını kullanın veya mssql kullanıcısına bu dosyalara erişme izni verin.

Örneğin, kaynak sunucuda aşağıdaki komut dosyaları hedef makineye kopyalar. <node2> değerlerini, çoğaltmaları barındıracak SQL Server örneklerinin adlarıyla değiştirin.

cd /var/opt/mssql/data
scp dbm_certificate.* root@<node2>:/var/opt/mssql/data/

Her hedef sunucuda, mssql kullanıcısına sertifikaya erişme izni verin.

cd /var/opt/mssql/data
chown mssql:mssql dbm_certificate.*

İkincil sunucularda sertifika oluşturma

Aşağıdaki Transact-SQL betiği, birincil SQL Server çoğaltması üzerinde oluşturduğunuz yedekten bir ana anahtar ve sertifika oluşturur. Betiği güçlü parolalarla güncelleştirin. Şifre çözme parolası, önceki adımda .pvk dosyasını oluşturmak için kullandığınız parolayla aynıdır. Sertifikayı oluşturmak için tüm ikincil sunucularda aşağıdaki betiği çalıştırın:

CREATE MASTER KEY ENCRYPTION BY PASSWORD = '<master-key-password>';

CREATE CERTIFICATE dbm_certificate
    FROM FILE = '/var/opt/mssql/data/dbm_certificate.cer'
    WITH PRIVATE KEY (
        FILE = '/var/opt/mssql/data/dbm_certificate.pvk',
        DECRYPTION BY PASSWORD = '<private-key-password>'
);

Önceki örnekte, <private-key-password>'ı birincil çoğaltmada sertifikayı oluşturmak için kullandığınız aynı parolayla değiştirin.

Tüm çoğaltmalarda veritabanı yansıtma uç noktalarını oluşturun

Veritabanı yansıtma uç noktaları, veritabanı yansıtma oturumlarına veya konak kullanılabilirlik çoğaltmalarına katılan sunucu örnekleri arasında ileti göndermek ve almak için İletim Denetimi Protokolü'ni (TCP) kullanır. Veritabanı yansıtma uç noktası, benzersiz bir TCP bağlantı noktası numarasını dinler.

Aşağıdaki Transact-SQL betiği, kullanılabilirlik grubu için Hadr_endpoint adlı bir dinleme uç noktası oluşturur. Uç noktayı başlatır ve oluşturduğunuz sertifikaya bağlantı izni verir. Betiği çalıştırmadan önce < ... >arasındaki değerleri değiştirin. İsteğe bağlı olarak LISTENER_IP = (0.0.0.0)bir IP adresi ekleyebilirsiniz. Dinleyici IP adresi bir IPv4 adresi olmalıdır. 0.0.0.0de kullanabilirsiniz.

Tüm SQL Server örneklerinde ortamınız için aşağıdaki Transact-SQL betiğini güncelleştirin:

CREATE ENDPOINT [Hadr_endpoint]
    AS TCP
(
            LISTENER_PORT = 5022
)
    FOR DATABASE_MIRRORING
(
            ROLE = ALL,
            AUTHENTICATION = CERTIFICATE dbm_certificate,
            ENCRYPTION = REQUIRED ALGORITHM AES
);

ALTER ENDPOINT [Hadr_endpoint]
    STATE = STARTED;

Not

Konfigürasyon amaçlı bir çoğaltmayı barındırmak için bir düğümde SQL Server Express sürümünü kullanıyorsanız, ROLE için tek geçerli değer WITNESS'dir. SQL Server Express sürümünde aşağıdaki betiği çalıştırın:

CREATE ENDPOINT [Hadr_endpoint]
    AS TCP
(
            LISTENER_PORT = 5022
)
    FOR DATABASE_MIRRORING
(
            ROLE = WITNESS,
            AUTHENTICATION = CERTIFICATE dbm_certificate,
            ENCRYPTION = REQUIRED ALGORITHM AES
);

ALTER ENDPOINT [Hadr_endpoint]
    STATE = STARTED;

Dinleyici bağlantı noktası için güvenlik duvarındaki TCP bağlantı noktası açık olmalıdır.

Önemli

Veritabanı yansıtma uç noktası için desteklenen tek kimlik doğrulama yöntemidir CERTIFICATE. WINDOWS seçeneği kullanılamaz.

Daha fazla bilgi için bkz . Veritabanı yansıtma uç noktası (SQL Server).

AG oluşturma

Bu bölümdeki örneklerde Transact-SQL kullanarak kullanılabilirlik grubunun nasıl oluşturulacağı açıklanmaktadır. SQL Server Management Studio Kullanılabilirlik Grubu Sihirbazı'nı da kullanabilirsiniz. Sihirbazla bir AG oluşturduğunuzda, çoğaltmaları AG'ye eklediğinizde bir hata döndürür. Bunu düzeltmek için ALTER, CONTROLve VIEW DEFINITIONS tüm çoğaltmalarda AG'de pacemaker'a verin. Birincil çoğaltmada izinler verildiğinde, sihirbaz aracılığıyla düğümleri Kullanılabilirlik Grubu (AG)'ne ekleyin, ancak HA'nın düzgün çalışabilmesi için tüm çoğaltmalarda izin vermeniz gerekir.

Otomatik yük devretmeyi sağlayan yüksek kullanılabilirlik yapılandırması için AG en az üç çoğaltma gerektirir. Aşağıdaki yapılandırmalardan biri yüksek kullanılabilirliği destekleyebilir:

Bilgi için bkz. kullanılabilirlik grubu yapılandırmaları için yüksek kullanılabilirlik ve veri koruması.

Not

Kullanılabilirlik grupları ek eşzamanlı veya eşzamansız çoğaltmalar içerebilir.

Linux'ta yüksek kullanılabilirlik için AG'yi oluşturun. CREATE AVAILABILITY GROUP ile CLUSTER_TYPE = EXTERNALkullanın.

  • Kullanılabilirlik grubu: CLUSTER_TYPE = EXTERNAL.

    AG'yi bir dış küme varlığının yönettiğini belirtir. Pacemaker, bir dış küme varlığı örneğidir. AG küme tipi harici olduğunda,

  • Birincil ve ikincil çoğaltmaları ayarlayın: FAILOVER_MODE = EXTERNAL.

    Çoğaltmanın Pacemaker gibi bir dış küme yöneticisiyle etkileşim kurduğunu belirtir.

Aşağıdaki Transact-SQL betikleri, yüksek kullanılabilirlik sağlamak adına ag1adlı bir AG oluşturur. Betik, AG çoğaltmalarını SEEDING_MODE = AUTOMATICile yapılandırıyor. Bu ayar, SQL Server'ın veritabanını her ikincil sunucuda otomatik olarak oluşturmasına neden olur. Ortamınız için aşağıdaki betiği güncelleştirin. <node1>, <node2>veya <node3> değerlerini çoğaltmaları barındıran SQL Server örneklerinin adlarıyla değiştirin. <5022> veri yansıtma uç noktası için ayarladığınız bağlantı noktasıyla değiştirin. AG'yi oluşturmak için, birincil çoğaltmayı barındıran SQL Server örneğinde aşağıdaki Transact-SQL çalıştırın.

Önemli

SQL Server kaynak aracısının geçerli uygulamasında düğüm adı örneğinizdeki ServerName özelliğiyle eşleşmelidir. Örneğin, düğümünüzün adı node1ise, SERVERPROPERTY('ServerName') öğesinin SQL Server örneğinizde node1 döndürdüğünden emin olun. Uyuşmazlık varsa, pacemaker kaynağı oluşturulduktan sonra çoğaltmalarınız çözümlenme durumuna geçer.

Bu kuralın önemli olduğu bir senaryo, tam nitelikli alan adlarının kullanılmasıdır. Örneğin, küme kurulumu sırasında düğüm adı olarak node1.yourdomain.com kullanırsanız, SERVERPROPERTY('ServerName') öğesinin yalnızca node1değil node1.yourdomain.comdöndürdüğünden emin olun. Bu sorunun olası geçici çözümleri şunlardır:

  • Konak adınızı FQDN olarak yeniden adlandırın ve SQL Server'daki meta verilerin değişiklikle eşleştiğinden emin olmak için sp_dropserver ve sp_addserver depolama yordamlarını kullanın.
  • düğüm adını SERVERPROPERTY('ServerName') değeriyle eşleştirmek için addr komutundaki pcs cluster auth seçeneğini kullanın ve düğüm adresi olarak statik bir IP kullanın.

Sadece bir aşağıdaki betiklerden çalıştırın:

Üç senkron çoğaltıcı ile bir kullanılabilirlik grubu oluşturun

Üç eşzamanlı kopya ile AG oluşturun.

CREATE AVAILABILITY GROUP [ag1]
      WITH (DB_FAILOVER = ON, CLUSTER_TYPE = EXTERNAL)
      FOR REPLICA ON
         N'<node1>'
               WITH (
            ENDPOINT_URL = N'tcp://<node1>:<5022>',
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            FAILOVER_MODE = EXTERNAL,
            SEEDING_MODE = AUTOMATIC
            ),
         N'<node2>'
         WITH (
            ENDPOINT_URL = N'tcp://<node2>:<5022>',
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            FAILOVER_MODE = EXTERNAL,
            SEEDING_MODE = AUTOMATIC
            ),
         N'<node3>'
         WITH(
            ENDPOINT_URL = N'tcp://<node3>:<5022>',
            AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
            FAILOVER_MODE = EXTERNAL,
            SEEDING_MODE = AUTOMATIC
            );

ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE;

Önemli

Üç eşzamanlı çoğaltmaya sahip bir AG oluşturduktan sonra, aşağıdaki betiği çalıştırmayın:

İki eşzamanlı kopya ve bir yapılandırma kopyasıyla bir kullanılabilirlik grubu oluşturma

İki eşzamanlı replik ve bir yapılandırma replikası ile AG oluşturun.

Önemli

Bu mimari, herhangi bir SQL Server sürümünün üçüncü çoğaltmayı barındırmasına olanak tanır. Örneğin, üçüncü çoğaltma SQL Server Express Edition'da barındırılabilir. Express Edition'da geçerli tek uç nokta türü WITNESS.

CREATE AVAILABILITY GROUP [ag1]
   WITH (CLUSTER_TYPE = EXTERNAL)
   FOR REPLICA ON
      N'<node1>' WITH (
         ENDPOINT_URL = N'tcp://<node1>:<5022>',
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
         FAILOVER_MODE = EXTERNAL,
         SEEDING_MODE = AUTOMATIC
         ),
      N'<node2>' WITH (
         ENDPOINT_URL = N'tcp://<node2>:<5022>',
         AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
         FAILOVER_MODE = EXTERNAL,
         SEEDING_MODE = AUTOMATIC
         ),
      N'<node3>' WITH (
         ENDPOINT_URL = N'tcp://<node3>:<5022>',
         AVAILABILITY_MODE = CONFIGURATION_ONLY
         );
ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE;

İki eşzamanlı kopya ile kullanılabilirlik grubu oluşturma

İki senkron kopya ile AG oluşturma

Senkron kullanılabilirlik moduna sahip iki çoğaltma ekleyin. Örneğin, aşağıdaki betik ag1adlı bir AG oluşturur. node1 ve node2, otomatik tohumlama ve otomatik yük devretme ile, zaman uyumlu modda çoğaltmaları barındırır.

Önemli

İki zaman uyumlu çoğaltmaya sahip bir AG oluşturmak için yalnızca aşağıdaki betiği çalıştırın. Yukarıdaki betiklerden birini çalıştırdıysanız aşağıdaki betiği çalıştırmayın.

CREATE AVAILABILITY GROUP [ag1]
   WITH (CLUSTER_TYPE = EXTERNAL)
   FOR REPLICA ON
   N'node1' WITH (
      ENDPOINT_URL = N'tcp://node1:5022',
      AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
      FAILOVER_MODE = EXTERNAL,
      SEEDING_MODE = AUTOMATIC
   ),
   N'node2' WITH (
      ENDPOINT_URL = N'tcp://node2:5022',
      AVAILABILITY_MODE = SYNCHRONOUS_COMMIT,
      FAILOVER_MODE = EXTERNAL,
      SEEDING_MODE = AUTOMATIC
   );

ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE;

Ayrıca, SQL Server Management Studio veya PowerShell kullanarak CLUSTER_TYPE=EXTERNAL ile bir AG yapılandırabilirsiniz.

İkincil çoğaltmaları AG'ye birleştirme

Pacemaker kullanıcısı, tüm çoğaltmalardaki kullanılabilirlik grubu üzerinde ALTER, CONTROLve VIEW DEFINITION izinleri gerektirir. İzinleri vermek için, birincil çoğaltmada kullanılabilirlik grubu oluşturulduktan sonra ve kullanılabilirlik grubuna eklendikten hemen sonra her ikincil çoğaltmada aşağıdaki Transact-SQL betiğini çalıştırın. Betiği çalıştırmadan önce <pacemakerLogin> değerini Pacemaker kullanıcı hesabının adıyla değiştirin. Pacemaker için oturum açma izniniz yoksa Pacemaker için bir sql server oturum açma iznioluşturun.

GRANT ALTER, CONTROL, VIEW DEFINITION ON AVAILABILITY GROUP::ag1 TO <pacemakerLogin>
GRANT VIEW SERVER STATE TO <pacemakerLogin>

Aşağıdaki Transact-SQL betiği bir SQL Server örneğini ag1adlı bir AG'ye ekler. Ortamınız için betiği güncelleştirin. İkincil çoğaltmayı barındıran her SQL Server örneğinde AG'ye katılmak için aşağıdaki Transact-SQL çalıştırın.

ALTER AVAILABILITY GROUP [ag1] JOIN WITH (CLUSTER_TYPE = EXTERNAL);

ALTER AVAILABILITY GROUP [ag1] GRANT CREATE ANY DATABASE;

Kullanılabilirlik grubuna veritabanı ekleme

Kullanılabilirlik grubuna eklediğiniz veritabanının tam kurtarma modelinde olduğundan ve geçerli bir günlük yedeğine sahip olduğundan emin olun. Veritabanınız bir test veritabanı veya yeni oluşturulan bir veritabanıysa, veritabanı yedeğini alın. Birincil SQL Server'da aşağıdaki Transact-SQL (T-SQL) betiğini çalıştırarak db1adlı bir veritabanı oluşturun ve yedekleyin:

CREATE DATABASE [db1];
GO

ALTER DATABASE [db1]
    SET RECOVERY FULL;
GO

BACKUP DATABASE [db1]
    TO DISK = N'/var/opt/mssql/data/db1.bak';

Birincil SQL Server çoğaltması üzerinde aşağıdaki T-SQL betiğini çalıştırarak db1adlı bir kullanılabilirlik grubuna ag1 adlı bir veritabanı ekleyin:

ALTER AVAILABILITY GROUP [ag1] ADD DATABASE [db1];

Veritabanının ikincil sunucularda oluşturulduğunu doğrulayın

İkincil SQL Server çoğaltmalarında, db1 veritabanının oluşturulup oluşturulmadığını ve eşitlenip eşitlenmediğini görmek için aşağıdaki sorguyu çalıştırın:

SELECT *
FROM sys.databases
WHERE name = 'db1';
GO

SELECT DB_NAME(database_id) AS 'database',
       synchronization_state_desc
FROM sys.dm_hadr_database_replica_states;
GO

Önemli

AG'yi oluşturduktan sonra yüksek kullanılabilirlik için Pacemaker gibi bir küme teknolojisiyle tümleştirmeyi yapılandırmanız gerekir. SQL Server 2017 (14.x) ile başlayarak AG'leri kullanan bir okuma ölçeği yapılandırması için küme ayarlamak gerekmez.

Bu belgedeki adımları izlediyseniz henüz kümelenmemiş bir AG'niz vardır. Sonraki adım kümeyi eklemektir. Bu yapılandırma, okuma-ölçeklendirme/yük dengeleme senaryoları için geçerlidir, fakat yüksek kullanılabilirlik için yeterli değildir. Yüksek kullanılabilirlik için AG'yi küme kaynağı olarak eklemeniz gerekir. Yönergeler için bkz. İlgili içerik.

Açıklamalar

Önemli

Kümeyi yapılandırdıktan ve AG'yi küme kaynağı olarak ekledikten sonra, AG kaynaklarının yükünü devretmek için Transact-SQL kullanamazsınız. Linux'ta SQL Server küme kaynakları, Windows Server Yük Devretme Kümesi'ndeki (WSFC) kadar işletim sistemiyle sıkı bağlı değildir. SQL Server hizmeti kümenin varlığından haberdar değildir. Tüm düzenleme işlemleri küme yönetim araçları aracılığıyla gerçekleştirilir. RHEL veya Ubuntu'da pcskullanın. SLES'de crmkullanın.

Önemli

AG bir küme kaynağıysa, bulunan sürümde eş zamansız bir kopyaya veri kaybıyla zorlanmış yük devretmenin çalışmadığı bilinen bir sorun var. Bu, gelecek sürümde düzeltilecektir. Elle veya otomatik olarak eşzamanlı bir kopyaya yük devretme başarılı olur.