ALTER DATABASE (Transact-SQL) SET HADR

platí pro:SQL Server

Toto téma obsahuje syntaxi ALTER DATABASE pro nastavení možností skupin dostupnosti Always On v sekundární databázi. Na jeden ALTER DATABASE výpis je povolena pouze jedna SET HADR možnost. Tyto možnosti jsou podporovány pouze na sekundárních replikách.

Transact-SQL konvence syntaxe

Syntax

ALTER DATABASE database_name  
   SET HADR   
   {  
        { AVAILABILITY GROUP = group_name | OFF }  
   | { SUSPEND | RESUME }  
   }  
[;]  

Arguments

database_name
Je název sekundární databáze, která má být upravena.

SET HADR
Spustí specifikovaný příkaz Always On availability groups na určené databázi.

{ AVAILABILITY GROUP=group_name | VYPNUTO }
Připojuje nebo odstraňuje databázi dostupnosti ze specifikované skupiny dostupnosti, a to následovně:

group_name
Připojuje se k určené databázi na sekundární replice, která je hostována serverovou instancí, na níž příkaz vykonáte, do dostupnosti určené skupinou určenou group_name.

Předpoklady pro tuto operaci jsou následující:

  • Databáze musí být již přidána do skupiny dostupnosti na primární replikě.

  • Primární replika musí být aktivní. Informace o tom, jak řešit problémy s neaktivní primární replikou, najdete v článku Troubleshooting Always On Availability Groups Configuration (SQL Server).

  • Primární replika musí být online a sekundární replika musí být připojena k primární replikě.

  • Sekundární databáze musí být obnovena pomocí WITH NORECOVERY z nedávných databázových a logových záloh primární databáze, přičemž končí logovou zálohou, která je dostatečně nedávná, aby sekundární databáze mohla dohnat primární databázi.

    Note

    Pro přidání databáze do skupiny dostupnosti se připojte k serverové instanci, která hostuje primární repliku, a použijte ALTER AVAILABILITY GROUP příkaz group_name ADD DATABASEdatabase_name.

Další informace najdete v tématu Připojení sekundární databáze ke skupině dostupnosti (SQL Server).

OFF
Odstraní specifikovanou sekundární databázi ze skupiny dostupnosti.

Odstranění sekundární databáze může být užitečné, pokud výrazně zaostává za primární databází a nechcete čekat, až sekundární databáze dožene. Po odstranění sekundární databáze ji můžete aktualizovat obnovením série záloh končících nedávnou logovou zálohou (pomocí RESTORE ... BEZ NÁVRATU DO ŽIVOTA).

Important

Pro úplné odstranění databáze dostupnosti ze skupiny dostupnosti se připojte k serverové instanci, která hostuje primární repliku, a použijte ALTER AVAILABILITY GROUP příkaz group_name REMOVE DATABASEavailability_database_name. Pro více informací viz Odebrání primární databáze ze skupiny dostupnosti (SQL Server).

SUSPEND
Pozastavuje pohyb dat v sekundární databázi. Příkaz SUSPEND se vrátí ihned po přijetí replikou, která hostuje cílovou databázi, ale ve skutečnosti se databáze pozastaví asynchronně.

Rozsah dopadu závisí na tom, kde výrok provedete ALTER DATABASE :

  • Pokud pozastavíte sekundární databázi na sekundární replikě, je pozastavena pouze lokální sekundární databáze. Stávající připojení na sekundární čitelné síti zůstanou použitelná. Nová připojení k pozastavené databázi v sekundární čitelné oblasti nejsou povolená, dokud nebude možné pokračovat v přesunu dat.

  • Pokud pozastavíte databázi na primární replikě, přesun dat je pozastaven do příslušných sekundárních databází na každé sekundární replice. Stávající spojení na čitelném sekundárním uzlu zůstávají použitelná a nová spojení s úmyslem čtení se nepřipojí k čitelným sekundárním replikám.

  • Když je pohyb dat pozastaven kvůli nucenému manuálnímu failoveru, připojení k nové sekundární replice není povoleno, zatímco pohyb dat je pozastaven.

Když je databáze na sekundární replice pozastavena, obě varianty se stanou nesynchronizovanými a jsou označeny jako NESYNCHRONIZOVANÉ.

Important

Zatímco je sekundární databáze pozastavena, fronta odeslání odpovídající primární databáze bude hromadit záznamy neodeslaných transakcí. Připojení k sekundární replice vrací data, která byla k dispozici v době pozastavení přesunu dat.

Note

Pozastavení a obnovení Always On sekundární databáze přímo neovlivňuje dostupnost primární databáze, i když pozastavení sekundární databáze může ovlivnit redundanci a možnosti failoveru primární databáze, dokud není pozastavená sekundární databáze obnovena. To je v protikladu k zrcadlení databáze, kde je stav zrcadlení pozastaven pro zrcadlenou databázi i hlavní databázi, dokud se zrcadlení neobnoví. Pozastavení primární databáze AlwaysOn pozastaví přesun dat ve všech odpovídajících sekundárních databázích a možnosti redundance a převzetí služeb při selhání pro tuto databázi přestanou fungovat, dokud se primární databáze neobnoví.

Pro více informací viz Suspend an Availability Database (SQL Server).

RESUME
Obnovuje pozastavený pohyb dat na určené sekundární databázi. Příkaz RESUME se vrátí ihned po přijetí replikou, která hostuje cílovou databázi, ale ve skutečnosti se databáze obnoví asynchronně.

Rozsah dopadu závisí na tom, kde výrok provedete ALTER DATABASE :

  • Pokud obnovíte sekundární databázi na sekundární replice, obnoví se pouze lokální sekundární databáze. Přesun dat je obnoven, pokud databáze nebyla také pozastavena na primární replice.

  • Pokud obnovíte databázi na primární replikě, přesun dat se obnoví ke každé sekundární replice, na které odpovídající sekundární databáze nebyla také lokálně pozastavena. Pro obnovení sekundární databáze, která byla jednotlivě pozastavena na sekundární replice, připojte se k serverové instanci, která hostí sekundární repliku, a tam databázi obnovte.

    V režimu synchronous-commit se stav databáze změní na SYNCHRONIZING. Pokud není v současnosti pozastavena žádná jiná databáze, stav repliky se také změní na SYNCHRONIZACI.

    Další informace naleznete v tématu Obnovení Databáze Dostupnosti (SQL Server).

Stavy databáze

Když je sekundární databáze připojena ke skupině dostupnosti, lokální sekundární replika změní stav této sekundární databáze z OBNOVENÍ na ONLINE. Pokud je sekundární databáze odstraněna ze skupiny dostupnosti, je lokální sekundární replikou vrácena do stavu OBNOVENÍ. To vám umožní aplikovat následné zálohy logů z primární databáze na tuto sekundární databázi.

Restrictions

Provádějte ALTER DATABASE příkazy mimo transakce i dávky.

Zabezpečení

Permissions

Vyžaduje oprávnění ALTER pro databázi. Připojení databáze ke skupině dostupnosti vyžaduje členství v roli db_owner pevné databáze.

Examples

Následující příklad připojí sekundární databázi AccountsDb1k místní sekundární replice AccountsAG skupiny dostupnosti.

ALTER DATABASE AccountsDb1 SET HADR AVAILABILITY GROUP = AccountsAG;  

Note

Pokud chcete zobrazit tento příkaz Transact-SQL použitý v kontextu, přečtěte si téma Vytvoření skupiny dostupnosti (Transact-SQL).

Viz také

ALTER DATABASE (Transact-SQL)
ALTER AVAILABILITY GROUP (Transact-SQL)
CREATE AVAILABILITY GROUP (Transact-SQL)
Přehled skupin Always On Availability (SQL Server)Řešení problémů Always On Availability Groups Konfigurace (SQL Server)