Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
platí pro:SQL Server
Upozornění
Tato funkce bude odebrána v budoucí verzi SQL Serveru. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají. Pro zajištění vysoké dostupnosti místo toho použijte skupiny dostupnosti AlwaysOn.
Důležité
Zrcadlení databáze v SQL Serveru je odlišná technologie od zrcadlení databáze Microsoft Fabric. Zrcadlení do prostředí Fabric poskytuje lepší analytický výkon, možnost sjednocení datového úložiště pomocí OneLake ve Fabric a otevřený přístup k datům ve formátu Delta Parquet.
Díky zrcadlení do Microsoft Fabric můžete neustále replikovat stávající datovou infrastrukturu přímo do OneLake ve Fabric, včetně dat ze SQL Serveru 2016+, Azure SQL Database, Azure SQL Managed Instance, Cosmos DB, Oracle, Snowflake a dalších.
Zrcadlení databáze je řešení pro zvýšení dostupnosti databáze SQL Serveru. Zrcadlení se implementuje na základě databáze a funguje jenom s databázemi, které používají úplný model obnovení.
Informace o podpoře zrcadlení databáze, omezení, předpokladů, doporučení pro konfiguraci partnerských serverů a doporučení pro nasazení zrcadlení databáze naleznete v tématu Požadavky, Omezení a Doporučení pro zrcadlení databáze.
Výhody zrcadlení databáze
Zrcadlení databáze je jednoduchá strategie, která nabízí následující výhody:
Zvyšuje dostupnost databáze.
V případě havárie v režimu s vysokou bezpečností s automatickým převzetím služeb při selhání převzetí služeb při selhání rychle přenese pohotovostní kopii databáze do režimu online (bez ztráty dat). V ostatních režimech provozu má správce databáze alternativu vynucení služby (s možnou ztrátou dat) k pohotovostní kopii databáze. Další informace najdete v tématu Přepínání rolí dále v tomto tématu.
Zvyšuje ochranu dat.
Zrcadlení databáze poskytuje úplnou nebo téměř úplnou redundanci dat v závislosti na tom, jestli je provozní režim vysoce bezpečný nebo vysoce výkonný. Další informace naleznete v části Provozní režimy dále v tomto tématu.
Partner pro zrcadlení databáze běžící na SQL Serveru 2008 (10.0.x) Enterprise nebo novější verze se automaticky pokusí vyřešit určité typy chyb, které brání čtení datové stránky. Partner, který nemůže přečíst stránku, požádá o čerstvou kopii od druhého partnera. Pokud je tento požadavek úspěšný, nahradí se nečitelná stránka kopií, která obvykle chybu vyřeší. Další informace najdete v tématu Automatická oprava stránek (skupiny dostupnosti: zrcadlení databází).
Zlepšuje dostupnost produkční databáze během upgradů.
Pokud chcete minimalizovat výpadky zrcadlené databáze, můžete postupně upgradovat instance SQL Serveru, které hostují partnery pro převzetí služeb při selhání. Dojde k výpadku pouze jednoho převzetí služeb při selhání. Tato forma upgradu se označuje jako postupný upgrade. Další informace naleznete v tématu Upgrade zrcadlených instancí.
Termíny a definice zrcadlení databáze
Automatické převzetí služeb při selhání
Proces, kterým, když se hlavní server stane nedostupným, zrcadlový server, který převezme roli hlavního serveru a přenese jeho kopii databáze do režimu online jako hlavní databázi.
Partneři pro převzetí služeb při selhání
Dvě instance serveru (hlavní server nebo zrcadlový server), které fungují jako partneři pro přepínání rolí pro zrcadlenou databázi.
Vynucená služba
Převzetí služeb při selhání iniciované vlastníkem databáze při selhání hlavního serveru, který přenáší službu do zrcadlové databáze, když je v neznámém stavu.
Režim vysokého výkonu
Relace zrcadlení databáze funguje asynchronně a používá pouze hlavní server a zrcadlový server. Jedinou formou přepínání rolí je vynucená služba (s možnou ztrátou dat).
Režim vysoké bezpečnosti
Relace zrcadlení databáze funguje synchronně a volitelně používá určující kopii, stejně jako hlavní server a zrcadlový server.
Ruční převzetí služeb při selhání
Převzetí služeb při selhání iniciované vlastníkem databáze, zatímco hlavní server je stále spuštěný, přenese službu z hlavní databáze do zrcadlené databáze, když jsou v synchronizovaném stavu.
Zrcadlová databáze
Kopie databáze, která je obvykle plně synchronizovaná s hlavní databází.
Zrcadlový server
V konfiguraci zrcadlení databáze instance serveru, na které se nachází zrcadlová databáze.
Hlavní databáze
V zrcadlení databáze je databáze pro čtení i zápis, jejíž záznamy transakčního protokolu se použijí na kopii databáze jen pro čtení (zrcadlová databáze).
Hlavní server
V zrcadlení databáze partner, jehož databáze je aktuálně hlavní databází.
Znovu fronta
Přijaté záznamy transakčního protokolu, které čekají na disk zrcadlového serveru.
Role
Hlavní server a zrcadlový server provádějí doplňkové hlavní a zrcadlové role. Volitelně je role určující kopie provedena třetí instancí serveru.
Přepínání rolí
Převzetí hlavní role zrcadlem.
Odeslání fronty
Nezasílané záznamy transakčního protokolu, které se hromadily na disku protokolu hlavního serveru.
Session
Vztah, ke kterému dochází během zrcadlení databáze mezi hlavním serverem, zrcadlením serverem a serverem s kopií clusteru (pokud je k dispozici).
Po spuštění nebo obnovení relace zrcadlení se na zrcadlový server odešlou záznamy protokolu hlavní databáze, které se na hlavním serveru nashromážděly, a zapisuje tyto záznamy protokolu na disk co nejrychleji, aby se zachytily hlavní server.
Bezpečnost transakcí
Vlastnost databáze specifická pro zrcadlení, která určuje, zda relace zrcadlení databáze funguje synchronně nebo asynchronně. Existují dvě úrovně bezpečnosti: FULL a OFF.
Witness
Pro použití pouze s režimem vysoké bezpečnosti je volitelná instance SQL Serveru, která umožňuje zrcadleným serverům rozpoznat, kdy zahájit automatické převzetí služeb při selhání. Na rozdíl od dvou partnerů pro převzetí služeb při selhání nedosáží určující kopie databáze. Podpora automatického převzetí služeb při selhání je jedinou rolí určujícího clusteru.
Přehled zrcadlení databáze
Zrcadlení databáze udržuje dvě kopie izolované databáze, která se nachází v různých instancích databázového stroje SQL Serveru. Tyto instance se obvykle nacházejí v počítačích v různých umístěních. Při spuštění zrcadlení databáze spustí jedna instance relaci označovanou jako relace zrcadlení databáze s jinou instancí.
Jedna instance serveru obsluhuje databázi klientům ( hlavní server). Druhá instance funguje jako horký nebo teplý pohotovostní server ( zrcadlový server) v závislosti na konfiguraci a stavu relace zrcadlení. Při synchronizaci relace zrcadlení databáze poskytuje zrcadlení databáze aktivní pohotovostní server, který podporuje rychlé převzetí služeb při selhání bez ztráty dat z potvrzených transakcí. Pokud relace není synchronizována, zrcadlový server je obvykle k dispozici jako záložní pohotovostní server (s možnou ztrátou dat).
Hlavní a zrcadlové servery komunikují a spolupracují jako partneři v relaci zrcadlení databáze. Dva partneři v relaci provádějí doplňkové role: hlavní roli a zrcadlovou roli. V každém okamžiku jeden partner provede hlavní roli a druhý partner provede zrcadlenou roli. Každý partner je popsaný jako vlastník jeho aktuální role. Partner, který vlastní hlavní roli, se označuje jako hlavní server a jeho kopie databáze je aktuální hlavní databáze. Partner, který vlastní roli zrcadlení, se označuje jako zrcadlový server a jeho kopie databáze je aktuální zrcadlová databáze. Při nasazení zrcadlení databáze v produkčním prostředí je hlavní databází produkční databáze.
Zrcadlení databáze zahrnuje opětovné nasazení každé operace vložení, aktualizace a odstranění, ke kterým dochází v hlavní databázi, do zrcadlové databáze co nejrychleji. Opětovné nasazení se provádí odesláním datového proudu aktivních záznamů transakčního protokolu na zrcadlový server, který aplikuje záznamy protokolů na zrcadlovou databázi v co nejrychlejším pořadí. Na rozdíl od replikace, která funguje na logické úrovni, funguje zrcadlení databáze na úrovni fyzického záznamu protokolu. Počínaje SQL Serverem 2008 (10.0.x) hlavní server před odesláním na zrcadlový server zkomprimuje datový proud záznamů transakčního protokolu. Tato komprese protokolu probíhá ve všech relacích zrcadlení.
Poznámka:
Daná instance serveru se může účastnit více souběžných relací zrcadlení databáze se stejnými nebo různými partnery. Instance serveru může být partnerem v některých relacích a svědkem v jiných relacích. Instance zrcadlového serveru musí mít stejnou edici SQL Serveru.
V této části:
Provozní režimy
Relace zrcadlení databáze se spouští buď synchronní, nebo asynchronní operací. V rámci asynchronní operace se transakce potvrdí, aniž by čekaly, až zrcadlový server zapíše protokol na disk, což maximalizuje výkon. V rámci synchronní operace je transakce potvrzena u obou partnerů, ale za cenu zvýšené latence transakcí.
Existují dva provozní režimy zrcadlení. Jeden z nich podporuje synchronní provoz. V režimu vysoké bezpečnosti při spuštění relace zrcadlový server synchronizuje zrcadlovou databázi spolu s hlavní databází co nejrychleji. Jakmile se databáze synchronizují, transakce se potvrdí u obou partnerů za cenu zvýšené latence transakcí.
Druhý provozní režim, režim s vysokým výkonem, běží asynchronně. Zrcadlový server se pokusí držet krok se záznamy protokolu odesílanými hlavním serverem. Zrcadlová databáze může poněkud zpožďovat za hlavní databází. Obvykle je však mezera mezi databázemi malá. Mezera však může být významná, pokud je hlavní server pod velkým pracovním zatížením nebo je přetížen systém zrcadlového serveru.
Jakmile hlavní server odešle záznam protokolu do zrcadlového serveru, hlavní server v režimu vysokého výkonu odešle klientovi potvrzení. Nečeká na potvrzení ze zrcadlového serveru. To znamená, že transakce potvrdí bez čekání na zrcadlový server zapisovat protokol na disk. Taková asynchronní operace umožňuje, aby hlavní server běžel s minimální latencí transakcí, a to při potenciálním riziku ztráty dat.
Všechny relace zrcadlení databáze podporují pouze jeden hlavní server a jeden zrcadlový server. Tato konfigurace je znázorněna na následujícím obrázku.
Režim vysoké bezpečnosti s automatickým převzetím služeb při selhání vyžaduje třetí instanci serveru, která se označuje jako určující. Na rozdíl od obou partnerů nedosáží určující kopie databáze. Určující složka podporuje automatické převzetí služeb při selhání tím, že ověří, jestli je hlavní server v provozu a funguje. Zrcadlový server zahájí automatické převzetí služeb při selhání pouze v případě, že zrcadlo a určující složka zůstanou vzájemně připojené po odpojení od hlavního serveru.
Následující obrázek znázorňuje konfiguraci, která obsahuje určující kopii.
Další informace najdete v tématu Přepínání rolí dále v tomto tématu.
Poznámka:
Vytvoření nové relace zrcadlení nebo přidání určující kopie do existující konfigurace zrcadlení vyžaduje, aby všechny zúčastněné instance serveru běžely stejnou verzi SQL Serveru. Pokud ale upgradujete na SQL Server 2008 (10.0.x) nebo novější verzi, můžou se verze zahrnutých instancí lišit. Další informace naleznete v tématu Upgrade zrcadlených instancí.
Provozní režimy a bezpečnost transakcí
Bez ohledu na to, jestli je provozní režim asynchronní nebo synchronní, závisí na nastavení bezpečnosti transakcí. Pokud ke konfiguraci zrcadlení databáze používáte výhradně SQL Server Management Studio, nastavení bezpečnosti transakcí se při výběru režimu operace nakonfiguruje automaticky.
Pokud ke konfiguraci zrcadlení databáze používáte Transact-SQL, musíte vědět, jak nastavit bezpečnost transakcí. Bezpečnost transakcí je řízena SAFETY vlastností ALTER DATABASE prohlášení. V databázi, která se zrcadlí, je buď FULL, SAFETY nebo OFF.
SAFETYPokud je tato možnost nastavená na FULL, operace zrcadlení databáze je synchronní po počáteční fázi synchronizace. Pokud je svědkem nastavený režim s vysokou bezpečností, relace podporuje automatické převzetí služeb při selhání.Pokud je tato možnost nastavená
SAFETYnaOFF, operace zrcadlení databáze je asynchronní. Relace běží v režimu vysokého výkonuWITNESSa tato možnost by měla býtOFFtaké .
Další informace naleznete v tématu Režimy zrcadlení databáze.
Přepínání rolí
V kontextu relace zrcadlení databáze jsou hlavní a zrcadlové role obvykle zaměnitelné v procesu označovaného jako přepínání rolí. Přepnutí role zahrnuje přenos hlavní role na zrcadlový server. Při přepínání rolí funguje zrcadlový server jako partner převzetí služeb při selhání pro hlavní server. Když dojde k přepnutí role, zrcadlový server převezme hlavní roli a přenese jeho kopii databáze do online režimu jako novou hlavní databázi. První hlavní server, pokud je k dispozici, předpokládá zrcadlovou roli a jeho databáze se stane novou zrcadlovou databází. Role se můžou potenciálně opakovaně přepínat zpět a zpět.
Existují následující tři formy přepínání rolí.
Automatické převzetí služeb při selhání
To vyžaduje vysoký bezpečnostní režim a přítomnost zrcadlového serveru a svědka. Databáze už musí být synchronizovaná a určující složka musí být připojená k zrcadlenému serveru.
Rolí určujícího clusteru je ověřit, jestli je daný partnerový server funkční a funkční. Pokud zrcadlový server ztratí připojení k hlavnímu serveru, ale určující složka je stále připojená k hlavnímu serveru, zrcadlový server neicializuje převzetí služeb při selhání. Další informace naleznete v tématu Zrcadlení databáze s kopií clusteru.
Ruční převzetí služeb při selhání
To vyžaduje vysoký bezpečnostní režim. Partneři se musí vzájemně propojit a databáze už musí být synchronizovaná.
Vynucená služba (s možnou ztrátou dat)
V režimu vysokého výkonu a režimu vysoké bezpečnosti bez automatického převzetí služeb při selhání je možné vynucovat službu, pokud hlavní server selhal a zrcadlový server je k dispozici.
Důležité
Režim vysokého výkonu je určený ke spuštění bez určujícího stavu. Pokud ale existuje určující složka, vynucení služby vyžaduje, aby byla určující složka připojená k zrcadlenému serveru.
V jakémkoli scénáři přepínání rolí se klientské aplikace můžou rychle obnovit tak, že se znovu připojí k databázi.
Souběžné relace
Daná instance serveru se může účastnit více souběžných relací zrcadlení databáze (jednou na zrcadlenou databázi) se stejnými nebo různými instancemi serveru. Instance serveru často slouží výhradně jako partner nebo svědek ve všech relacích zrcadlení databáze. Vzhledem k tomu, že každá relace je nezávislá na ostatních relacích, může instance serveru v některých relacích fungovat jako partner a jako určující v jiných relacích. Představte si například následující čtyři relace mezi třemi instancemi serveru (SSInstance_1a SSInstance_2SSInstance_3). Každá instance serveru slouží jako partner v některých relacích a jako svědek v jiných:
| Instance serveru | Relace pro databázi A | Relace pro databázi B | Relace pro databázi C | Relace pro databázi D |
|---|---|---|---|---|
SSInstance_1 |
Witness | Partner/ka | Partner/ka | Partner/ka |
SSInstance_2 |
Partner/ka | Witness | Partner/ka | Partner/ka |
SSInstance_3 |
Partner/ka | Partner/ka | Witness | Witness |
Následující obrázek znázorňuje dvě instance serveru, které se účastní společně jako partneři ve dvou relacích zrcadlení. Jedna relace je určená pro databázi s názvem Db_1 a druhá relace je určená pro databázi s názvem Db_2.
Každá databáze je nezávislá na ostatních databázích. Například instance serveru může být zpočátku zrcadlovým serverem pro dvě databáze. Pokud jedna z těchto databází převezme služby při selhání, stane se instance serveru hlavním serverem pro databázi s převzetím služeb při selhání a zůstane zrcadlovým serverem druhé databáze.
Jako další příklad zvažte instanci serveru, která je hlavním serverem pro dvě nebo více databází spuštěných v režimu vysoké bezpečnosti s automatickým převzetím služeb při selhání, pokud instance serveru selže, všechny databáze automaticky při selhání do příslušných zrcadlových databází.
Při nastavování instance serveru tak, aby fungovala jako partner i určující, ujistěte se, že koncový bod zrcadlení databáze podporuje obě role (další informace najdete v tématu Koncový bod zrcadlení databáze (SQL Server)). Také se ujistěte, že systém má dostatek prostředků pro snížení kolize prostředků.
Poznámka:
Vzhledem k tomu, že zrcadlené databáze jsou nezávislé na sobě, nemůžou databáze převzít služby při selhání jako skupinu.
Klientská připojení
Podporu připojení klienta pro relace zrcadlení databáze poskytuje zprostředkovatel dat Microsoft .NET pro SQL Server. Další informace naleznete v tématu Připojení klientů k relaci zrcadlení databáze (SQL Server).
Dopad pozastavení relace na hlavní transakční protokol
Vlastník databáze může kdykoli pozastavit relaci. Pozastavení zachová stav relace při odebírání zrcadlení. Když je relace pozastavená, hlavní server neodesílá do zrcadlového serveru žádné nové záznamy protokolu. Všechny tyto záznamy zůstávají aktivní a hromadí se v transakčním protokolu hlavní databáze. Dokud relace zrcadlení databáze zůstane pozastavená, transakční protokol se nedá zkrátit. Proto pokud je relace zrcadlení databáze pozastavena příliš dlouho, může se protokol vyplnit.
Další informace naleznete v tématu Pozastavení a obnovení zrcadlení databáze (SQL Server).
Nastavení relace zrcadlení databáze
Než začne relace zrcadlení, musí vlastník databáze nebo správce systému vytvořit zrcadlovou databázi, nastavit koncové body a přihlášení a v některých případech vytvořit a nastavit certifikáty. Další informace naleznete v tématu Nastavení zrcadlení databáze (SQL Server).
Interoperabilita a koexistence s jinými funkcemi databázového stroje
Zrcadlení databáze lze použít s následujícími funkcemi nebo komponentami SQL Serveru.
V této části
Požadavky, omezení a doporučení pro zrcadlení databáze Popisuje požadavky a doporučení pro nastavení zrcadlení databáze.
Provozní režimy zrcadlení databáze Obsahuje informace o synchronních a asynchronních režimech provozu pro relace zrcadlení databáze a o přepínání partnerských rolí během relace zrcadlení databáze.
Kopie zrcadlení databáze Popisuje roli určujícího svědka v zrcadlení databáze, způsob použití jednoho určujícího disku v několika relacích zrcadlení, doporučení softwaru a hardwaru pro svědky a roli svědka při automatickém převzetí služeb při selhání. Obsahuje také informace o přidání nebo odebrání svědka.
Přepínání rolí během relace zrcadlení databáze (SQL Server) Obsahuje informace o přepínání partnerských rolí během relace zrcadlení databáze, včetně automatického převzetí služeb při selhání, ručního převzetí služeb při selhání a vynucené služby (s možnou ztrátou dat). Obsahuje také informace o odhadu přerušení služby během přepínání rolí.
Možné chyby během zrcadlení databáze Popisuje problémy fyzického, operačního systému a SQL Serveru, včetně pevných chyb a měkkých chyb, které můžou způsobit selhání v relaci zrcadlení databáze. Popisuje, jak mechanismus časového limitu zrcadlení reaguje na softwarové chyby.
Koncový bod zrcadlení databáze (SQL Server) Popisuje, jak funguje koncový bod zrcadlení databáze.
Nastavení zrcadlení databáze (SQL Server) Obsahuje témata týkající se požadavků, doporučení a kroků pro nastavení zrcadlení databáze.
Připojení klientů k relaci zrcadlení databáze (SQL Server) Obsahuje témata týkající se atributů připojovacího řetězce klienta a algoritmů pro připojení a opětovné připojení klienta ke zrcadlené databázi.
Pozastavení a obnovení zrcadlení databáze (SQL Server) Popisuje, co se stane, když je zrcadlení databáze pozastavené, včetně dopadu na zkrácení transakčního protokolu, a obsahuje popisy o tom, jak pozastavit a obnovit zrcadlení databáze.
Odebrání zrcadlení databáze (SQL Server) Popisuje dopad odebrání zrcadlení a obsahuje popisy o tom, jak ukončit relaci.
Monitorování zrcadlení databáze (SQL Server) Obsahuje informace o použití monitorování zrcadlení databáze nebo uložených procedur dbmmonitor k monitorování zrcadlení databáze nebo relací.
Související úkoly
Úlohy konfigurace
Použití aplikace SQL Server Management Studio
Spuštění Průvodce konfigurací zabezpečení zrcadlení databáze
Vytvoření relace zrcadlení databáze – Ověřování systému Windows
Použití jazyka Transact-SQL
Zrcadlení databáze – Povolit síťový přístup – Ověřování systému Windows
Zrcadlení databáze – Použití certifikátů pro odchozí připojení
Zrcadlení databáze – Použití certifikátů pro příchozí připojení
Vytvoření koncového bodu zrcadlení databáze pro ověřování systému Windows (Transact-SQL)
Přidání kopie clusteru zrcadlení databáze pomocí ověřování systému Windows (Transact-SQL)
Nastavení zrcadlové databáze pro použití důvěryhodné vlastnosti (Transact-SQL)
Použití Transact-SQL nebo aplikace SQL Server Management Studio
Úlohy správy
Transact-SQL
Změna bezpečnosti transakcí v relaci zrcadlení databáze (Transact-SQL)
Ruční převzetí služeb při selhání relace zrcadlení databáze (Transact-SQL)
Pozastavení nebo obnovení relace zrcadlení databáze (SQL Server)
Odebrání určující kopie z relace zrcadlení databáze (SQL Server)
SQL Server Management Studio
Přidání nebo nahrazení určující kopie zrcadlení databáze (SQL Server Management Studio)
Ruční převzetí služeb při selhání relace zrcadlení databáze (SQL Server Management Studio)
Pozastavení nebo obnovení relace zrcadlení databáze (SQL Server)
Odebrání určující kopie z relace zrcadlení databáze (SQL Server)
Související obsah
- Koncový bod zrcadlení databáze (SQL Server)
- Automatická oprava stránky (skupiny dostupnosti: Zrcadlení databáze)
- Řešení potíží s konfigurací zrcadlení databáze (SQL Server)
- Zrcadlení databáze: Interoperabilita a koexistence (SQL Server)
- Požadavky, omezení a doporučení pro zrcadlení databáze
- Co je skupina dostupnosti AlwaysOn?
- Informace o přenosu protokolů (SQL Server)