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 makalede, 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ı nedeniyle mevcuttur. Bkz. Konuk Kümeleri içinİlkeleri.

Yükleme adımları

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. Linux üzerinde SQL Server için yükleme kılavuzu.

    Ö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 aşağıdaki adımları tamamlayın:

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

Linux'ta, kümenin yönetebilmesi için küme kaynağı olarak eklemeden önce bir kullanılabilirlik grubu oluşturmanız gerekir. Bu makalede, kullanılabilirlik grubunu oluşturan bir örnek sağlanır.

  1. Her sunucunun bilgisayar adını güncelleyin.

    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 örnekte /etc/hostname ile düzenleme gösterilmektedir:

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

    Uyarı

    DNS sunucusu ana bilgisayar adlarını IP adresleriyle kaydederse, aşağıdaki adımları tamamlamanı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ılan 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 örnekte /etc/hosts ile düzenleme gösterilmektedir:

    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:

Uyarı

SQL Server 2025'te (17.x) başlayarak SUSE Linux Enterprise Server (SLES) desteklenmez.

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 komut dosyasını çalıştırın:

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

AlwaysOn_health Olay oturumunu etkinleştir

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ıran 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ğerleri, çoğaltmaları barındıran 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>'ı ana çoğaltmadaki sertifikayı oluştururken kullandığınız parolayla değiştirin.

Tüm kopyalarda 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, bir IP adresi LISTENER_IP = (0.0.0.0)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;

Uyarı

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ında TCP bağlantı noktasını açmanız gerekir.

Ö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. Sihirbazı kullanarak bir AG oluşturduğunuzda, replikaları AG'ye eklediğinizde bir hata mesajı verir. Bu hatayı düzeltmek için, AG üzerindeki tüm replikalarda pacemaker'a ALTER, CONTROL ve VIEW DEFINITIONS verin. Birincil çoğaltmada izin verdikten sonra, düğümleri sihirbaz yardımıyla AG'ye birleştirin, ancak HA'nın düzgün çalışabilmesi için tüm çoğaltmalarda da izin verin.

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:

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

Uyarı

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 ifadesini CLUSTER_TYPE = EXTERNAL ile kullanı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.

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

Düğüm adını ServerName özelliğiyle eşleştir

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 adınız node1 ise, SQL Server örneğinizde SERVERPROPERTY('ServerName')'in node1 döndüğünden emin olun. Uyumsuzluk varsa, Pacemaker kaynağı oluşturulduktan sonra kopyalarınız çözümleme durumuna geçer.

Bu kural, tam nitelikli alan adlarını kullandığınızda önemlidir. Örneğin, küme kurulumu sırasında node1.yourdomain.com olarak düğüm adını kullanıyorsanız, yalnızca node1 değil, node1.yourdomain.com döndüğünden SERVERPROPERTY('ServerName') emin olun. Bu sorunu düzeltmek için şunları yapabilirsiniz:

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

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

Üç eşzamanlı replikası olan bir 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 zaman uyumlu çoğaltma ve bir yapılandırma çoğaltması ile bir AG oluştur:

Ö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 eşzamanlı çoğaltmalı bir AG oluşturun.

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ının tüm çoğaltmalardaki kullanılabilirlik grubu üzerinde ALTER, CONTROL, ve VIEW DEFINITION izinlerine ihtiyacı vardır. Bu izinleri vermek için, birincil çoğaltmada kullanılabilirlik grubunu oluşturduktan sonra aşağıdaki Transact-SQL betiğini çalıştırın. Betiği her ikincil replikaya kullanılabilirlik grubuna ekledikten hemen sonra ç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 komut dosyasını güncelleyin. İ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;

Uyarı

Yapılandırma çoğaltması için yalnızca birleştirme adımı gerekir.

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

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 makaledeki 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 ve yük dengeleme senaryoları için geçerlidir, ancak 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

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 (WSFC) üzerinde olduğu kadar işletim sistemiyle sıkıca 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 kullanın pcs. SLES'de kullanın crm.

AG bir küme kaynağıysa, geçerli sürümde zaman uyumsuz bir çoğaltmaya veri kaybıyla zorlamalı yük devretmenin çalışmamasıyla ilgili bilinen bir sorun vardır. Bu sorun, gelecek bir sürümde düzeltilecektir. Elle veya otomatik olarak eşzamanlı bir kopyaya yük devretme başarılı olur.