Sdílet prostřednictvím


Zrcadlení databáze a přesouvání protokolů (SQL Server)

platí pro:SQL Server

Uvedenou databázi lze zrcadlit nebo zaslat protokoly; lze ji také současně zrcadlit a zaslat protokoly. Pokud chcete zvolit, jaký přístup použít, zvažte následující:

  • Kolik cílových serverů potřebujete?

    Pokud potřebujete jenom jednu cílovou databázi, doporučuje se zrcadlení databáze.

    Pokud potřebujete více než jednu cílovou databázi, musíte použít log shipping, a to buď samostatně, nebo se zrcadlením databází. Kombinací těchto přístupů získáte výhody zrcadlení databáze a zároveň podporu více cílů poskytovanou převodem protokolu.

  • Pokud potřebujete odložit obnovu logu v cílové databázi (obvykle kvůli ochraně před logickými chybami), doporučuje se použít log shipping, buď samostatně, nebo v kombinaci se zrcadlením databáze.

Toto téma se zabývá úvahami ohledně kombinování přepravy protokolu a zrcadlení databáze.

Poznámka:

Úvod k těmto technologiím najdete v tématech Zrcadlení databáze (SQL Server) a O přesouvání protokolů (SQL Server).

Kombinování přesouvání protokolů a zrcadlení databáze

Hlavní databáze v relaci zrcadlení může také fungovat jako primární databáze v konfiguraci přesouvání protokolů a naopak, protože sdílená složka zálohování protokolu je nedotčená. Relace zrcadlení databáze běží v jakémkoli provozním režimu, ať už synchronní (s bezpečností transakcí nastavenou na FULL) nebo asynchronní (s bezpečností transakcí nastavenou na VYPNUTO).

Poznámka:

K použití zrcadlení databáze v databázi je vždy vyžadován úplný model obnovení.

Při kombinování přesouvání protokolů a zrcadlení databáze se obvykle vytvoří zrcadlící relace před přesouváním protokolů, i když to není nutné. Aktuální hlavní databáze je pak nakonfigurována jako primární databáze pro přenos protokolu (hlavní/primární databáze), spolu s jednou nebo více vzdálenými sekundárními databázemi. Zrcadlová databáze musí být také nakonfigurována jako primární uzel pro přenos protokolu (zrcadlová/primární databáze). Sekundární databáze pro odesílání protokolů by měly být na různých instancích serveru, než je instanční/primární server nebo zrcadlový/primární server.

Poznámka:

Nastavení rozlišování velkých a malých písmen serverů zapojených do předávání protokolů by se mělo shodovat.

Během relace přesunu protokolů vytvářejí zálohovací úlohy na primární databázi zálohy protokolů ve složce záloh. Odtud jsou zálohy zkopírovány úlohami kopírování sekundárních serverů. Aby úlohy zálohování a úlohy kopírování proběhly úspěšně, musí mít přístup ke složce zálohování odeslání protokolu. Pokud chcete maximalizovat dostupnost primárního serveru, doporučujeme vytvořit záložní složku ve sdíleném umístění zálohování na samostatném hostitelském počítači. Ujistěte se, že všechny servery pro přenos protokolu, včetně zrcadla/primárního serveru, mají přístup ke sdílenému úložišti záloh (nazývané backup share).

Pokud chcete umožnit odesílání protokolů pokračovat po převzetí služeb při selhání zrcadlení databáze, musíte také nakonfigurovat zrcadlový server jako hlavní server pomocí stejné konfigurace, kterou používáte pro hlavní databázi. Zrcadlová databáze je ve stavu obnovování, které znemožňuje úlohám zálohování zálohování logu na zrcadlovou databázi. Tím se zajistí, že zrcadlená/primární databáze nezasahuje do hlavní/primární databáze, jejíž zálohy protokolů právě kopírují sekundární servery. Aby se zabránilo neoprávněným upozorněním, po spuštění úlohy zálohování na zrcadle nebo primární databázi zapíše úloha zálohování zprávu do tabulky log_shipping_monitor_history_detail a úloha agenta vrátí úspěšný stav.

Zrcadlová nebo primární databáze není aktivní v relaci log shippingu. Pokud ale zrcadlení převezme služby při selhání, bude bývalá databáze zrcadlení online jako hlavní databáze. V tomto okamžiku se tato databáze také stane aktivní jako primární databáze pro log shipping. Úlohy zálohování odesílání protokolů, které dříve nemohly odesílat protokoly z této databáze, začnou odesílat protokoly. Naopak převzetí služeb při selhání způsobí, že se bývalá hlavní/primární databáze stane novou zrcadlenou/primární databází a přejde do stavu obnovení a úlohy zálohování v této databázi přestanou zálohovat protokol.

Poznámka:

V případě automatického převzetí služeb při selhání dojde k přepnutí do role zrcadlení, když se bývalá hlavní databáze nebo primární databáze znovu připojí k relaci zrcadlení.

Pokud chcete spustit v režimu vysoké bezpečnosti s automatickým převzetím služeb při selhání, je relace zrcadlení nakonfigurovaná s další instancí serveru, která se označuje jako svědek. Pokud dojde ke ztrátě hlavní databáze z nějakého důvodu po synchronizaci databáze a pokud zrcadlový server a svědek mohou vzájemně komunikovat, dojde k automatickému převzetí. Automatické převzetí služeb při selhání způsobí, že zrcadlový server převezme hlavní roli a přenese svou databázi do režimu online jako hlavní databázi. Pokud je umístění expedičního zálohování protokolu přístupné pro nový hlavní/primární server, začnou úlohy zálohování odesílat zálohy protokolů do daného umístění. Synchronní režim zrcadlení databáze zaručuje, že řetěz protokolů není ovlivněn převzetím služeb při selhání zrcadlení a že se obnovují pouze platné protokoly. Sekundární servery nadále kopírují zálohy protokolů, aniž by věděly, že se z primárního serveru stala jiná instance serveru.

Při použití místního monitoru pro zasílání záznamů nejsou pro tento scénář potřeba žádná zvláštní opatření. Informace o použití instance vzdáleného monitorování v tomto scénáři najdete v části Dopad zrcadlení databáze na instanci vzdáleného monitorování dále v tomto tématu.

Převzetí služeb při selhání z primární databáze do zrcadlové databáze

Následující obrázek ukazuje, jak spolupracuje přenos protokolu a zrcadlení databáze, když je zrcadlení spuštěno ve vysoce bezpečném režimu s automatickým převzetím služeb při selhání. Zpočátku je Server_A hlavním serverem pro zrcadlení a zároveň primárním serverem pro přesouvání protokolů. Server_B je zrcadlový server a je také nakonfigurovaný jako primární server, který je momentálně neaktivní. Server_C a Server_D jsou sekundární servery pro odesílání protokolů. Aby se maximalizovala dostupnost relace přepravy protokolu, umístění zálohování je na sdíleném adresáři na samostatném hostitelském počítači.

Přesouvání protokolů a zrcadlení databází

Po selhání zrcadlení se název primárního serveru definovaný na sekundárním serveru nezmění. .

Dopad zrcadlení databáze na instanci vzdáleného monitorování

Pokud se odesílání protokolů používá s instancí vzdáleného monitorování, relace odesílání protokolů kombinovaná se zrcadlením databáze ovlivní informace v monitorovacích tabulkách. Informace o primárním serveru je kombinací toho, co je nakonfigurováno na hlavním serveru, a monitorování nakonfigurovaného na každém sekundárním serveru.

Aby bylo monitorování co nejplynulejší, při použití vzdáleného monitoru doporučujeme určit původní primární název při konfiguraci primárního na sekundárním. Tento přístup také usnadňuje změnu konfigurace přenosu protokolů prostřednictvím agenta Microsoft SQL Serveru. Další informace o monitorování naleznete v tématu Monitorování přesouvání protokolů (Transact-SQL).

Nastavení zrcadlení a přepravy protokolů společně

K nastavení zrcadlení databáze a protokolování přepravy jsou nutné následující kroky:

  1. Obnovte zálohy hlavní (primární) databáze pomocí NORECOVERY na jinou instanci serveru pro pozdější použití jako zrcadlová databáze pro hlavní (primární) databázi. Další informace naleznete v tématu Příprava zrcadlové databáze pro zrcadlení (SQL Server).

  2. Nastavení zrcadlení databáze Další informace naleznete v tématu Vytvoření relace zrcadlení databáze pomocí ověřování systému Windows (SQL Server Management Studio) nebo Nastavení zrcadlení databáze (SQL Server).

  3. Obnovte zálohy hlavní/primární databáze do jiných instancí serveru, které se později použijí jako sekundární databáze pro odesílání protokolů pro primární databázi.

  4. Nastavte přepravu protokolů pro hlavní databázi jako primární databázi pro jednu nebo více sekundárních databází.

    Jako záložní adresář (záložní sdílená složka) byste měli nastavit jednu sdílenou složku. Tím se zajistí, že po přepnutí role mezi hlavními a zrcadlovými servery budou úlohy zálohování nadále zapisovat do stejného adresáře jako předtím. Osvědčeným postupem je zajistit, aby se tato sdílená složka nacházela na jiném fyzickém serveru než servery, které hostují databáze zapojené do zrcadlení a přenášení protokolů.

    Další informace najdete v tématu Konfigurace přesouvání protokolů (SQL Server).

  5. Ruční převzetí služeb při selhání z primárního serveru na zrcadlový server.

    Provedení ručního převzetí služeb při selhání:

  6. Nastavte odesílání protokolů na nový hlavní server (dříve jako zrcadlo) jako primární databázi.

    Důležité

    Neprovádějte žádné nastavení ze sekundárního objektu.

    Musíte použít stejnou sdílenou složku zálohování, kterou jste použili v kroku 4.

    Rozhraní přenosu transakčních protokolů v aplikaci SQL Server Management Studio podporuje pouze jednu primární databázi na konfiguraci přenosu protokolu. Proto je nutné použít uložené procedury k nastavení nového základu jako primárního.

  7. Proveďte další ruční převzetí služeb při selhání, aby se vrácení zpět proveďlo na původní hlavní server.