Příprava na použití skupiny dostupnosti AlwaysOn SQL Server s Configuration Manager

Platí pro: Configuration Manager (Current Branch)

Tento článek slouží k přípravě Configuration Manager na použití skupiny dostupnosti AlwaysOn SQL Server pro databázi lokality. Tato funkce poskytuje řešení pro vysokou dostupnost a zotavení po havárii.

Configuration Manager podporuje použití skupin dostupnosti:

  • V primárních lokalitách a v lokalitě centrální správy.
  • Místně nebo v Microsoft Azure.

Pokud používáte skupiny dostupnosti v Microsoft Azure, můžete dále zvýšit dostupnost databáze lokality pomocí skupin dostupnosti Azure. Další informace o skupinách dostupnosti Azure najdete v tématu Správa dostupnosti virtuálních počítačů.

Důležité

Než budete pokračovat, dobře si nakonfigurujte SQL Server a skupiny dostupnosti. Tento článek odkazuje na knihovnu dokumentace SQL Server s dalšími informacemi a postupy.

Podporované scénáře

Pro použití skupin dostupnosti s Configuration Manager se podporují následující scénáře. Další informace a postupy pro jednotlivé scénáře najdete v tématu Konfigurace skupin dostupnosti pro Configuration Manager.

Požadavky

Následující požadavky platí pro všechny scénáře. Pokud se na konkrétní scénář vztahují další požadavky, jsou podrobně popsané v tomto scénáři.

Configuration Manager účtů a oprávnění

Instalační účet

Účet, který používáte ke spuštění Configuration Manager nastavení, musí být:

  • Člen místní skupiny Administrators na každém počítači, který je členem skupiny dostupnosti.
  • Správce systému v každé instanci SQL Server, která je hostitelem databáze lokality.

Server lokality pro přístup k členu repliky

Účet počítače serveru lokality musí být členem místní skupiny Administrators na každém počítači, který je členem skupiny dostupnosti.

SQL Server

Verze

Každá replika ve skupině dostupnosti musí používat verzi SQL Server, kterou vaše verze Configuration Manager podporuje. Pokud to SQL Server podporuje, můžou různé uzly skupiny dostupnosti spouštět různé verze SQL Server. Další informace najdete v tématu Podporované verze SQL Server pro Configuration Manager.

Vydání

Použijte edici Enterprise SQL Server.

Účet

Každá instance SQL Server může běžet pod doménovým uživatelským účtem (účtem služby) nebo účtem mimo doménu. Každá replika ve skupině může mít jinou konfiguraci.

Database

Konfigurace databáze na nové replice

Tyto konfigurace proveďte pouze na primární replice. Pokud chcete nakonfigurovat sekundární repliku, nejprve převeďte služby při selhání primární repliky na sekundární. Tato akce nastaví sekundární repliku na novou primární repliku.

Nakonfigurujte databázi každé repliky s následujícími nastaveními:

  • Povolení integrace CLR:

    sp_configure 'show advanced options', 1;  
    GO  
    RECONFIGURE;  
    GO  
    sp_configure 'clr enabled', 1;  
    GO  
    RECONFIGURE;  
    GO
    

    Další informace najdete v tématu Integrace CLR.

  • Nastavte maximální velikost repl textu na 2147483647:

    EXECUTE sp_configure 'max text repl size (B)', 2147483647
    
  • Nastavte vlastníka databáze na účet SA. Tento účet nemusíte povolovat.

  • Zapněte nastavení DŮVĚRYHODNÉ:

    ALTER DATABASE [CM_xxx] SET TRUSTWORTHY ON;
    

    Další informace najdete v tématu Vlastnost databáze TRUSTWORTHY.

  • Povolte službu Service Broker:

    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER
    

    Poznámka

    Možnost Service Broker není možné povolit u databáze, která je již součástí skupiny dostupnosti. Tuto možnost musíte povolit, než ji přidáte do skupiny dostupnosti.

  • Nakonfigurujte prioritu služby Service Broker:

    ALTER DATABASE [CM_xxx] SET HONOR_BROKER_PRIORITY ON;
    ALTER DATABASE [CM_xxx] SET ENABLE_BROKER WITH ROLLBACK IMMEDIATE
    

Skript pro ověření databáze

Spuštěním následujícího skriptu SQL ověřte konfigurace databáze pro primární i sekundární repliku. Než budete moct opravit problém se sekundární replikou, změňte tuto sekundární repliku na primární repliku.

    SET NOCOUNT ON

    DECLARE @dbname NVARCHAR(128)

    SELECT @dbname = sd.name FROM sys.sysdatabases sd WHERE sd.dbid = DB_ID()

    IF (@dbname = N'master' OR @dbname = N'model' OR @dbname = N'msdb' OR @dbname = N'tempdb' OR @dbname = N'distribution' ) BEGIN
    RAISERROR(N'ERROR: Script is targeting a system database.  It should be targeting the DB you created instead.', 0, 1)
    GOTO Branch_Exit;
    END ELSE
    PRINT N'INFO: Targeted database is ' + @dbname + N'.'

    PRINT N'INFO: Running verifications....'

    IF NOT EXISTS (SELECT * FROM sys.configurations c WHERE c.name = 'clr enabled' AND c.value_in_use = 1)
    PRINT N'ERROR: CLR is not enabled!'
    ELSE
    PRINT N'PASS: CLR is enabled.'

    DECLARE @repltable TABLE (
    name nvarchar(max),
    minimum int,
    maximum int,
    config_value int,
    run_value int )

    INSERT INTO @repltable
    EXEC sp_configure 'max text repl size (B)'

    IF NOT EXISTS(SELECT * from @repltable where config_value = 2147483647 and run_value = 2147483647 )
    PRINT N'ERROR: Max text repl size is not correct!'
    ELSE
    PRINT N'PASS: Max text repl size is correct.'

    IF NOT EXISTS (SELECT db.owner_sid FROM sys.databases db WHERE db.database_id = DB_ID() AND db.owner_sid = 0x01)
    PRINT N'ERROR: Database owner is not sa account!'
    ELSE
    PRINT N'PASS: Database owner is sa account.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_trustworthy_on = 1 )
    PRINT N'ERROR: Trustworthy bit is not on!'
    ELSE
    PRINT N'PASS: Trustworthy bit is on.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_broker_enabled = 1 )
    PRINT N'ERROR: Service broker is not enabled!'
    ELSE
    PRINT N'PASS: Service broker is enabled.'

    IF NOT EXISTS( SELECT * FROM sys.databases db WHERE db.database_id = DB_ID() AND db.is_honor_broker_priority_on = 1 )
    PRINT N'ERROR: Service broker priority is not set!'
    ELSE
    PRINT N'PASS: Service broker priority is set.'

    PRINT N'Done!'

    Branch_Exit:

Konfigurace skupin dostupnosti

Členové repliky

Configuration Manager neověřuje stav repliky asynchronního potvrzení, aby se potvrdilo, že je aktuální. Použití repliky asynchronního potvrzení jako databáze lokality může ohrozit integritu lokality a dat. Tato replika může být záměrně nesynchronní. Další informace najdete v tématu Přehled SQL Server skupin dostupnosti AlwaysOn.

Každý člen repliky musí mít následující konfiguraci:

  • Použijte výchozí instanci nebo pojmenovanou instanci.

    Poznámka

    Na serveru nemáte sdílenou složku se stejným názvem jako název instance SQL Server.

  • Nastavení Připojení v primární roli je Povolit všechna připojení.

  • Možnost Čtení sekundárního nastavení je Ano.

  • Povoleno pro ruční převzetí služeb při selhání

    Poznámka

    Configuration Manager podporuje použití synchronních replik skupiny dostupnosti, pokud je nastavené automatické převzetí služeb při selhání. Ruční převzetí služeb při selhání nastavte, když:

    • Spuštěním Configuration Manager nastavení určíte použití databáze lokality ve skupině dostupnosti.
    • Nainstalujete všechny aktualizace Configuration Manager. (Nejen aktualizace, které se týkají databáze lokality).
  • Všichni členové potřebují stejný režim seedingu.Configuration Manager instalace zahrnuje kontrolu předpokladů pro ověření této konfigurace při vytváření databáze prostřednictvím instalace nebo obnovení.

    Poznámka

    Když instalační program vytvoří databázi a nakonfigurujete automatické seeding, skupina dostupnosti musí mít oprávnění k vytvoření databáze. Tento požadavek platí pro novou databázi i obnovení. Další informace najdete v tématu Automatické seeding pro sekundární repliku.

Umístění člena repliky

Buď hostujte všechny repliky ve skupině dostupnosti místně, nebo je hostujte všechny v Microsoft Azure. Skupina, která zahrnuje místního člena a člena v Azure, se nepodporuje.

Poznámka

Pokud pro SQL Server používáte virtuální počítač Azure, povolte plovoucí IP adresu. Další informace najdete v tématu Konfigurace nástroje pro vyrovnávání zatížení pro skupinu dostupnosti SQL Server AlwaysOn na virtuálních počítačích Azure.

Configuration Manager nastavení se musí připojit ke každé replice. Když nastavíte skupinu dostupnosti v Azure a skupina se nachází za interním nebo externím nástrojem pro vyrovnávání zatížení, otevřete následující výchozí porty:

  • Mapovač koncových bodů RPC: TCP 135

  • SQL Server Service Broker: TCP 4022

  • SQL přes TCP: TCP 1433

Po dokončení instalace musí tyto porty zůstat otevřené pro Configuration Manager a analyzátor propojení replikace.

Pro tyto konfigurace můžete použít vlastní porty. Použijte stejné vlastní porty podle koncového bodu a na všech replikách ve skupině dostupnosti.

Pokud chcete SQL Server replikovat data mezi lokalitami, vytvořte pravidlo vyrovnávání zatížení pro každý port v nástroji pro vyrovnávání zatížení Azure. Další informace najdete v tématu Konfigurace portů s vysokou dostupností pro interní nástroj pro vyrovnávání zatížení.

Posluchače

Skupina dostupnosti musí mít alespoň jeden naslouchací proces skupiny dostupnosti. Když nakonfigurujete Configuration Manager pro použití databáze lokality ve skupině dostupnosti, použije virtuální název tohoto naslouchacího procesu. I když skupina dostupnosti může obsahovat více naslouchacích procesů, Configuration Manager může použít jenom jeden. Další informace najdete v tématu Vytvoření nebo konfigurace naslouchacího procesu skupiny dostupnosti SQL Server.

Cesty k souborům

Když spustíte Configuration Manager instalační program a nakonfigurujete lokalitu tak, aby používala databázi ve skupině dostupnosti, musí mít každý sekundární server repliky SQL Server cestu k souboru, která je shodná s cestou k souborům databáze lokality na aktuální primární replice. Pokud identická cesta neexistuje, instalačnímu programu se nepodaří přidat instanci pro skupinu dostupnosti jako nové umístění databáze lokality.

Účet místní služby SQL Server musí mít oprávnění Úplné řízení k této složce.

Servery sekundární repliky vyžadují tuto cestu k souboru pouze v případě, že používáte Configuration Manager nastavení k určení instance databáze ve skupině dostupnosti. Po dokončení konfigurace databáze lokality ve skupině dostupnosti můžete nepoužívané cesty ze sekundárních serverů replik odstranit.

Představte si například následující scénář:

  • Vytvoříte skupinu dostupnosti, která používá tři SQL Servery.

  • Server primární repliky je novou instalací SQL Server 2014. Ve výchozím nastavení ukládá soubory MDF a LDF databáze do C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA.

  • Oba servery sekundárních replik jste upgradovali na SQL Server 2014 z předchozích verzí. Při upgradu si tyto servery zachovají původní cestu k souboru pro ukládání databázových souborů: C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\DATA.

  • Před přesunem databáze lokality do této skupiny dostupnosti vytvořte na každém serveru sekundární repliky následující cestu k souboru: C:\Program Files\Microsoft SQL Server\MSSQL12.MSSQLSERVER\MSSQL\DATA. Tato cesta je duplikátem cesty používané na primární replice, i když sekundární repliky nebudou toto umístění souboru používat.

  • Pak udělíte účtu služby SQL Server na každé sekundární replice úplný přístup k nově vytvořenému umístění souboru na daném serveru.

  • Teď můžete úspěšně spustit instalaci Configuration Manager a nakonfigurovat lokalitu tak, aby používala databázi lokality ve skupině dostupnosti.

Převzetí služeb při selhání s více podsítěmi

Klíčové slovo připojovacího řetězce MultiSubnetFailover můžete povolit v SQL Server. Do registru systému Windows na serveru lokality je také nutné ručně přidat následující hodnoty:

HKLM:\SOFTWARE\Microsoft\SMS\Identification
HKLM:\SOFTWARE\Microsoft\SMS\SQL Server

MSF Enabled : 1 (DWORD)

Upozornění

Použití vysoké dostupnosti serveru lokality a SQL Server skupin dostupnosti AlwaysOn s převzetím služeb při selhání s více podsítěmi neposkytuje úplné možnosti automatického převzetí služeb při selhání pro scénáře zotavení po havárii.

Pokud potřebujete vytvořit skupinu dostupnosti se členem ve vzdáleném umístění, určete prioritu na základě nejnižší latence sítě. Vysoká latence sítě může způsobit selhání replikace.

Omezení a známé problémy

Následující omezení platí pro všechny scénáře.

Nepodporované možnosti a konfigurace SQL Server

  • Základní skupiny dostupnosti: Základní skupiny dostupnosti, které byly zavedeny v edici SQL Server Standard 2016, nepodporují přístup pro čtení k sekundárním replikám. Konfigurace vyžaduje tento přístup. Další informace najdete v tématu Základní SQL Server skupiny dostupnosti.

  • Instance clusteru s podporou převzetí služeb při selhání: Instance clusteru s podporou převzetí služeb při selhání se nepodporují pro repliku, kterou používáte s Configuration Manager. Další informace najdete v tématu SQL Server instance clusteru s podporou převzetí služeb při selhání AlwaysOn.

SQL Servery, které hostují další skupiny dostupnosti

Pokud SQL Server hostuje jednu nebo více skupin dostupnosti kromě skupiny, kterou používáte pro Configuration Manager, potřebuje v době spuštění Configuration Manager nastavení konkrétní nastavení. Tato nastavení jsou také nutná k instalaci aktualizace pro Configuration Manager. Každá replika v každé skupině dostupnosti musí mít následující konfigurace:

  • Ruční převzetí služeb při selhání

  • Povolit jakékoli připojení jen pro čtení

Poznámka

Configuration Manager podporuje použití synchronních replik skupiny dostupnosti, pokud je nastavené automatické převzetí služeb při selhání. Ruční převzetí služeb při selhání nastavte, když:

  • Spuštěním Configuration Manager nastavení určíte použití databáze lokality ve skupině dostupnosti.
  • Nainstalujete všechny aktualizace Configuration Manager. (Nejen aktualizace, které se týkají databáze lokality).

Nepodporované použití databáze

Configuration Manager podporuje pouze databázi lokality ve skupině dostupnosti.

Configuration Manager ve skupině dostupnosti nepodporují následující databáze:

  • Databáze sestav

  • Databáze WSUS

Existující databáze

Nemůžete použít novou databázi vytvořenou v replice. Při konfiguraci skupiny dostupnosti obnovte kopii existující databáze Configuration Manager do primární repliky.

Chyby instalace v souboru ConfigMgrSetup.log

Když spustíte Configuration Manager instalační program pro přesun databáze lokality do skupiny dostupnosti, pokusí se zpracovat databázové role na sekundárních replikách skupiny dostupnosti. Soubor ConfigMgrSetup.log zobrazuje následující chybu:

ERROR: SQL Server error: [25000][3906][Microsoft][SQL Server Native Client 11.0][SQL Server]Failed to update database "CM_AAA" because the database is read-only. Configuration Manager Setup 1/21/2016 4:54:59 PM 7344 (0x1CB0)

Tyto chyby můžete bezpečně ignorovat.

Rozšíření lokality

Pokud nakonfigurujete databázi lokality pro samostatnou primární lokalitu tak, aby používala skupinu dostupnosti, nemůžete lokalitu rozbalit tak, aby zahrnovala lokalitu centrální správy. Pokud tento proces zkusíte, selže. Pokud chcete lokalitu rozšířit, dočasně odeberte databázi primární lokality ze skupiny dostupnosti.

Při přidávání sekundární lokality nemusíte provádět žádné změny konfigurace.

Změny zálohování lokality

Záložní databázové soubory

Pokud databáze lokality používá skupinu dostupnosti, spusťte integrovanou úlohu údržby zálohovat server lokality a zazálohujte běžná nastavení a soubory Configuration Manager. Nepoužívejte soubory MDF nebo LDF vytvořené z této zálohy. Místo toho vytvořte přímé zálohy těchto databázových souborů pomocí SQL Server.

SQL Server můžete dál zálohovat, ale nemůžete ho obnovit přímo do clusteru SQL Server AlwaysOn. Musíte ho obnovit na samostatném serveru a přesunout zpět na SQL Server AlwaysOn.

Transakční protokol

Nastavte model obnovení databáze lokality na Hodnotu Úplná. Tato konfigurace je požadavkem pro Configuration Manager použití ve skupině dostupnosti. Naplánujte monitorování a údržbu velikosti transakčního protokolu databáze lokality. V modelu úplného obnovení nejsou transakce posílené, dokud neprovádí úplnou zálohu databáze nebo transakčního protokolu. Další informace najdete v tématu Zálohování a obnovení SQL Server databází.

Změny pro obnovení lokality

Pokud alespoň jeden uzel skupiny dostupnosti stále funguje, použijte možnost Obnovení lokality a přeskočte obnovení databáze (tuto možnost použijte, pokud databáze lokality nebyla ovlivněna).

Site Recovery může znovu vytvořit databázi ve skupině dostupnosti. Tento proces funguje s ručním i automatickým seedingem.

Tip

Když spustíte průvodce nastavením nebo obnovením, stránka Nová databáze skupiny dostupnosti se vztahuje pouze na konfigurace ručního seedingu. Při automatickém seedingu neexistuje žádná sdílená záloha databáze, takže se stránka průvodce nezobrazuje.

Další informace najdete v tématu Zálohování a obnovení.

Změny pro generování sestav

Instalace bodu služby Reporting Service

Bod služby Reporting Services nepodporuje použití virtuálního názvu naslouchacího procesu skupiny dostupnosti. Nepodporuje ani hostování databáze ve skupině dostupnosti.

  • Ve výchozím nastavení nastaví instalace bodu služby Reporting Services název serveru databáze lokality na virtuální název, který je zadaný jako naslouchací proces. Změňte toto nastavení tak, aby bylo možné zadat název počítače a instanci repliky ve skupině dostupnosti.

  • Pokud chcete přesměrování zpracování sestav a zvýšit dostupnost, když je uzel repliky offline, zvažte instalaci dalších bodů služby Reporting Services na každý uzel repliky. Potom nakonfigurujte každý bod služby Reporting Services tak, aby používal vlastní název počítače. Když nainstalujete bod služby generování sestav na každou repliku skupiny dostupnosti, může se generování sestav vždy připojit k aktivnímu serveru bodu generování sestav.

Přepnutí bodu služby Reporting Services používaného konzolou

  1. V konzole Configuration Manager přejděte do pracovního prostoru Monitorování, rozbalte položku Vytváření sestav a vyberte uzel Sestavy.

  2. Na pásu karet vyberte Možnosti sestavy.

  3. V dialogovém okně Možnosti sestavy vyberte bod služby Reporting Services, který chcete použít.

Další kroky

Tento článek popisuje požadavky, omezení a změny běžných úloh, které Configuration Manager vyžadují při používání skupin dostupnosti. Postupy nastavení a konfigurace webu pro používání skupin dostupnosti najdete v tématu Konfigurace skupin dostupnosti.