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
Tato část představuje monitorování zrcadlení databáze a uložené procedury systému sp_dbmmonitor , vysvětluje, jak funguje monitorování zrcadlení databáze (včetně úlohy monitorování zrcadlení databáze) a shrnuje informace, které můžete monitorovat o relacích zrcadlení databáze. Tato část dále popisuje, jak definovat prahové hodnoty upozornění pro sadu předdefinovaných událostí zrcadlení databáze a jak nastavit upozornění na jakoukoli událost zrcadlení databáze.
Během relace zrcadlení můžete monitorovat zrcadlenou databázi a ověřit, jestli a jak dobře data proudí. Chcete-li nastavit a spravovat monitorování jedné nebo více zrcadlených databází na instanci serveru, můžete použít buď nástroj Database Mirroring Monitor, nebo systémové uložené procedury sp_dbmmonitor.
Úloha monitorování zrcadlení databáze, Database Mirroring Monitor Job, běží na pozadí, nezávisle na nástroji Database Mirroring Monitor. SQL Server Agent volá úlohu monitorování zrcadlení databáze v pravidelných intervalech, výchozí hodnota je jednou minuta a úloha volá uloženou proceduru, která aktualizuje stav zrcadlení. Pokud ke spuštění relace zrcadlení použijete SQL Server Management Studio, vytvoří se úloha monitorování zrcadlení databáze automaticky. Pokud ale ke spuštění zrcadlení použijete pouze ALTER DATABASE<database_name>SET PARTNER, musíte úlohu vytvořit spuštěním uložené procedury.
V tomto tématu:
Monitorování stavu zrcadlení
Pokud chcete nastavit a spravovat monitorování jedné nebo více zrcadlených databází na instanci serveru, můžete použít buď Monitor zrcadlení databáze, nebo systémové uložené procedury dbmmonitor. Během zrcadlení můžete sledovat zrcadlenou databázi a ověřit, zda a jak dobře data proudí.
Konkrétně monitorování zrcadlené databáze umožňuje:
Ověřte, že zrcadlení funguje.
Základní stav zahrnuje informaci o tom, zda jsou obě instance serveru v provozu, zda jsou servery propojené a zda se protokol transakcí přesouvá z primárního serveru na zrcadlový server.
Určete, jestli zrcadlová databáze udržuje krok s hlavní databází.
Během režimu vysokého výkonu může hlavní server vyvíjet backlog neodeslaných záznamů protokolu, které je stále potřeba odeslat z hlavního serveru na zrcadlový server. Kromě toho se v jakémkoli provozním režimu může na zrcadlovém serveru hromadit prodleva v podobě neobnovených záznamů protokolu, které byly zapsány do souboru protokolu, ale dosud nebyly obnoveny v zrcadlové databázi.
Určete, kolik dat bylo ztraceno, když se hlavní instance serveru stane nedostupnou v režimu vysokého výkonu.
Ztrátu dat můžete určit podle množství neodeslaného protokolu transakcí (pokud nějaký existuje) a podle časového intervalu, ve kterém byly ztracené transakce zapsány na hlavním serveru.
Porovnejte aktuální výkon s minulým výkonem.
Když dochází k problémům, může správce databáze zobrazit historii výkonu zrcadlení, aby vám pomohl pochopit aktuální stav. Při pohledu na historii může uživatel zjistit trendy v výkonu, identifikovat vzory problémů s výkonem (například denní dobu, kdy je síť pomalá nebo počet příkazů při zadávání protokolu je velmi velký).
Vyřešte příčinu sníženého toku dat mezi partnery při zrcadlení.
Nastavte prahové hodnoty upozornění u klíčových metrik výkonu.
Pokud nový řádek stavu obsahuje hodnotu, která překračuje prahovou hodnotu, do protokolu událostí Windows se odešle informační událost. Správce systému pak může ručně nakonfigurovat výstrahy na základě těchto událostí. Pro více informací viz Použití varovných prahů a upozornění na zrcadlení metrik výkonu (SQL Server).
Nástroje pro monitorování stavu zrcadlení databáze
Stav zrcadlení lze sledovat buď pomocí nástroje Database Mirroring Monitor, nebo pomocí systémové uložené procedury sp_dbmmonitorresults. Tyto nástroje lze použít ke sledování zrcadlení databáze u libovolné zrcadlené databáze na místní instanci serveru jak správci systému, tj. členy pevné role serveru sysadmin, tak uživateli, které správce systému přidal do pevné databázové role dbm_monitor v databázi msdb. Při použití některého z nástrojů může správce systému také ručně aktualizovat stav zrcadlení.
Note
Správci systému můžou také nakonfigurovat a zobrazit prahové hodnoty upozornění pro klíčové metriky výkonu. Pro více informací viz Použití varovných prahů a upozornění na zrcadlení metrik výkonu (SQL Server).
Monitor zrcadlení databáze
Monitorování zrcadlení databáze je grafický nástroj uživatelského rozhraní, který správcům systému umožňuje zobrazit a aktualizovat stav a nakonfigurovat prahové hodnoty upozornění na několik klíčových metrik výkonu. Monitorování zrcadlení databáze mohou také používat členové dbm_monitor pevné databázové role k zobrazení nejnovějšího řádku tabulky stavu zrcadlení, i když nemůžou aktualizovat stavové tabulky.
Monitor zobrazuje na stránce s kartami Stav stav vybrané databáze včetně metrik výkonu. Obsah této stránky pochází jak z instance primárního serveru, tak ze instance zrcadlového serveru. Stránka se asynchronně naplňuje, protože informace o stavu se získávají prostřednictvím samostatných připojení k instancím primárního a zrcadlového serveru. Monitor se pokouší aktualizovat stavovou tabulku v 30sekundových intervalech. Aktualizace proběhne úspěšně pouze v případě, že se tabulka neaktualizovala během 15 sekund a uživatel je členem pevné role serveru správce systému . Souhrn informací uvedených na stránce Stav viz Stav zobrazený monitorem zrcadlení databáze dále v tomto tématu.
Úvod do rozhraní monitorování zrcadlení databáze naleznete v tématu Přehled monitorování zrcadlení databáze. Informace o spuštění nástroje Database Mirroring Monitor najdete v tématu Start Database Mirroring Monitor (SQL Server Management Studio).
Systémové uložené procedury
Aktuální stav můžete také načíst nebo aktualizovat spuštěním uložené procedury sp_dbmmonitorresults systému. Další uložené procedury dbmmonitor umožňují nastavit monitorování, změnit parametry monitorování, zobrazit aktuální interval aktualizace a zrušit monitorování u instance serveru.
Následující tabulka uvádí uložené procedury pro správu a používání monitorování zrcadlení databáze nezávisle na nástroji Database Mirroring Monitor.
Procedure Description sp_dbmmonitoraddmonitoring Vytvoří úlohu, která pravidelně aktualizuje informace o stavu pro každou zrcadlenou databázi v instanci serveru. sp_dbmmonitorchangemonitoring Změní hodnotu parametru monitorování zrcadlení databáze. sp_dbmmonitorhelpmonitoring Vrátí aktuální období aktualizace. sp_dbmmonitorresults Vrátí stavové řádky pro monitorovanou databázi a umožňuje zvolit, jestli procedura předem získá nejnovější stav. sp_dbmmonitordropmonitoring Zastaví a odstraní úlohu monitoru zrcadlení pro všechny databáze na instanci serveru. Systémové uložené procedury dbmmonitor lze použít jako doplněk k nástroji Monitor zrcadlení databáze. Například i když bylo monitorování nakonfigurováno pomocí sp_dbmmonitoraddmonitoring, můžete k zobrazení stavu použít monitorování zrcadlení databáze.
Jak funguje monitorování
Tato část představuje tabulku stavu zrcadlení databáze, úlohu monitoru zrcadlení databáze a nástroj Monitor, způsob, jak mohou uživatelé sledovat stav zrcadlení databáze, a způsob, jak lze úlohu monitorování odstranit.
Tabulka stavu zrcadlení databáze
Stav zrcadlení databáze je uložen v interní nedokumentované tabulce stavu zrcadlení databáze v databázi msdb . Tato stavová tabulka se automaticky vytvoří při první aktualizaci stavu zrcadlení na instanci serveru.
Stavovou tabulku může aktualizovat buď automaticky, nebo ručně správce systému s minimálním intervalem aktualizace 15 sekund. Minimální interval 15 sekund zabraňuje přetížení instancí serveru dotazy na stav.
Stavová tabulka se automaticky aktualizuje monitorováním zrcadlení databáze i úlohou monitorování zrcadlení databáze, pokud je spuštěná. Úloha monitorování zrcadlení databáze aktualizuje tabulku ve výchozím nastavení jednou za minutu (správce systému může zadat dobu aktualizace 1 až 120 minut). Monitorování zrcadlení databáze naproti tomu aktualizuje tabulku automaticky každých 30 sekund. U těchto aktualizací volá úloha monitorování zrcadlení databáze a monitorování zrcadlení databáze sp_dbmmonitorupdate.
Při prvním spuštění procedury sp_dbmmonitorupdate vytvoří v databázi msdbtabulku stavu zrcadlení databáze a dbm_monitor pevnou databázovou roli. sp_dbmmonitorupdate obvykle aktualizuje stav zrcadlení vložením nového řádku do stavové tabulky pro každou zrcadlenou databázi v instanci serveru; Další informace naleznete v části Tabulka stavu zrcadlení databáze dále v tomto tématu. Tento postup také vyhodnotí metriky výkonu v nových řádcích a zkrátí řádky starší než aktuální doba uchovávání (výchozí hodnota je 7 dnů). Další informace najdete v tématu sp_dbmmonitorupdate (Transact-SQL).
Note
Pokud monitorování zrcadlení databáze aktuálně nepoužívá člen pevné role serveru správce systému, tabulka stavů se automaticky aktualizuje pouze v případě, že existuje úloha monitorování zrcadlení databáze a SQL Server Agent je spuštěna.
Úloha monitorování zrcadlení databáze
Úloha monitorování zrcadlení databáze, Database Mirroring Monitor Job, pracuje nezávisle na nástroji Database Mirroring Monitor. Úloha monitorování zrcadlení databáze se automaticky vytvoří pouze v případě, že se ke spuštění relace databázového zrcadlení použije SQL Server Management Studio. Pokud se příkazy PARTNER ALTER DATABASEdatabase_nameSET vždy používají k zahájení zrcadlení, úloha existuje pouze v případě, že správce systému spustí uloženou proceduru sp_dbmmonitoraddmonitoring.
Po vytvoření úlohy monitorování zrcadlení databáze za předpokladu, že SQL Server Agent běží, se úloha ve výchozím nastavení volá jednou za minutu. Úloha pak zavolá systémovou uloženou proceduru sp_dbmmonitorupdate.
SQL Server Agent ve výchozím nastavení volá úlohu monitorování zrcadlení databáze jednou za minutu a tato úloha volá proceduru sp_dbmmonitorupdate, aby aktualizovala stavovou tabulku. Správci systému můžou dobu aktualizace změnit pomocí uložené procedury sp_dbmmonitorchangemonitoring systému a mohou zobrazit aktuální období aktualizace pomocí uložené procedury sp_dbmmonitorchangemonitoring systému. Další informace najdete v tématech sp_dbmmonitoraddmonitoring (Transact-SQL) a sp_dbmmonitorchangemonitoring (Transact-SQL).
Monitorování stavu zrcadlení databáze (správci systému)
Členové pevné role serveru správce systému můžou zobrazit a aktualizovat tabulku stavu.
Použití Monitoru databázového zrcadlení
Při použití Monitoru zrcadlení databáze může správce systému ručně aktualizovat stránku Stav, navigační strom nebo stránku Historie. Tím se aktualizuje také stavová tabulka, pokud ještě nebyla aktualizována během předchozích 15 sekund.
Chcete-li zobrazit historii stavu zrcadlení na dané instanci serveru, může správce systému také kliknout na tlačítko Historie pro instanci serveru (na stránce Stav ). Historie se zobrazí v dialogovém okně Historie zrcadlení databáze . Správce systému tam může zobrazit některé nebo všechny řádky ve stavové tabulce instance serveru.
Informace o metrikách na stránce Stav naleznete v části „Metriky výkonu zobrazené nástrojem „Database Mirroring Monitor““, dále v tomto tématu.
Použití sp_dbmmonitorresults
Správci systému můžou k zobrazení a případně aktualizaci stavové tabulky použít sp_dbmmonitorresults uloženou proceduru systému, pokud nebyla aktualizována během předchozích 15 sekund. Tento postup volá sp_dbmmonitorupdate proceduru a vrátí jeden nebo více řádků historie v závislosti na množství požadované v volání procedury. Informace o stavu v její sadě výsledků naleznete v tématu sp_dbmmonitorresults (Transact-SQL).
Monitorování stavu zrcadlení databáze (členy dbm_monitor)
Jak už bylo zmíněno, při prvním spuštění sp_dbmmonitorupdate se v databázi msdb vytvoří dbm_monitor pevná role databáze. Členové pevné databázové role dbm_monitor mohou zobrazit aktuální stav zrcadlení pomocí nástroje Database Mirroring Monitor nebo uložené procedury sp_dbmmonitorresults. Tito uživatelé ale nemůžou aktualizovat tabulku stavů. Pokud chcete zjistit věk zobrazeného stavu, může se uživatel podívat na časy v popiscích hlavního protokolu (<čas>) a zrcadlového protokolu (<čas>) na stránce Stav .
Členové dbm_monitor pevné databázové role závisí na úloze monitorování zrcadlení databáze , která aktualizuje tabulku stavu v pravidelných intervalech. Pokud úloha neexistuje nebo služba SQL Server Agent není spuštěna, údaje o stavu budou čím dál neaktuálnější a nemusí již odrážet konfiguraci relace zrcadlení. Například po převzetí služeb při selhání se může zdát, že oba partneři mají stejnou roli – hlavní nebo zrcadlovou, nebo se aktuální hlavní server může zobrazovat jako zrcadlový, zatímco aktuální zrcadlový server se zobrazuje jako hlavní.
Vyřazení úlohy monitorování zrcadlení databáze
Úloha monitorování zrcadlení databáze, Database Mirroring Monitor Job, zůstává, dokud není odstraněna. Úlohu monitorování musí spravovat správce systému. Chcete-li odstranit úlohu Database Mirroring Monitor, použijte sp_dbmmonitordropmonitoring. Další informace najdete v tématu sp_dbmmonitordropmonitoring (Transact-SQL).
Stav zobrazený monitorem zrcadlení databáze
Stránka Stav nástroje Monitor zrcadlení databáze popisuje partnery i stav relace zrcadlení. Stav zahrnuje ukazatele výkonu, jako je stav transakčního protokolu, a další informace, které mají pomoci při aktuálním odhadu času potřebného k dokončení převzetí služeb při selhání a možné ztráty dat, pokud relace není synchronizovaná. Kromě toho stránka Stav zobrazuje stav a informace o relaci zrcadlení obecně.
Note
Úvod na stránku Monitorování zrcadlení databáze a stav naleznete v části Nástroje pro monitorování stavu zrcadlení databáze, dříve v tomto tématu.
Informace uvedené pro každý z nich jsou shrnuty v následujících částech.
Partners
Na stránce Stav se zobrazí následující informace pro každého z partnerů:
Instance serveru
Název instance serveru, jejíž stav se zobrazí v řádku Stav .
Aktuální role
Aktuální role instance serveru Možné stavy:
Ředitel školy
Mirror
Stav zrcadlení
Možné stavy:
Neznámý
Synchronizace
Synchronizováno
Pozastavený
Disconnected
Připojení ke svědkovi
Stav připojení svědka. Možné stavy:
Neznámý
Connected
Odpojen.
Přihlášení k hlavnímu serveru
Na stránce Stav se zobrazí následující informace o stavu protokolu na hlavním serveru v zadaném čase:
Neodeslaný záznam
Množství protokolu čekajících ve frontě pro odesílání v kilobajtech (KB).
Nejstarší neodeslaná transakce
Věk nejstarší neodeslané transakce ve frontě pro odesílání. Stáří této transakce označuje, kolik minut transakcí ještě nebylo odesláno do instance zrcadlového serveru. Tato hodnota pomáhá měřit potenciál ztráty dat z hlediska času.
Čas odeslání protokolu (odhadovaný)
Odhadovaný počet minut, po které instance hlavního serveru vyžaduje odeslání protokolu, který je aktuálně ve frontě pro odesílání, do instance zrcadlového serveru na základě aktuální rychlosti odesílání. Skutečný čas odeslání protokolu bude ovlivněn rychlostí příchozích transakcí, které se mohou výrazně lišit. Hodnota Time to send log (estimated) ale může být užitečná k přibližnému odhadu doby potřebné pro ruční failover.
Aktuální rychlost odesílání
Rychlost, s jakou se transakce odesílají do instance zrcadlového serveru v kB za sekundu.
Aktuální míra nových transakcí
Rychlost, jakou se příchozí transakce zapisují do protokolu objektu zabezpečení, v KB za sekundu Chcete-li zjistit, zda se zrcadlení zpožďuje, drží krok nebo se dotahuje, porovnejte tuto hodnotu s hodnotou Odhadovaná doba odeslání protokolu.
Přihlaste se k zrcadlovému serveru
Na stránce Stav se zobrazí následující informace o stavu protokolu na zrcadlovém serveru od uvedeného času:
Neobnovený záznam
Množství protokolu čekajících ve frontě opakování v kB.
Doba obnovení protokolu (odhadovaná doba)
Přibližný počet minut potřebných k aplikaci protokolu, který je aktuálně ve frontě opětovného provedení, na zrcadlenou databázi.
Aktuální rychlost obnovení
Rychlost obnovení transakcí do zrcadlové databáze (v kB za sekundu).
Zrcadlicí relace
Na stránce Stav se navíc zobrazí následující informace o relaci zrcadlení:
Režie zrcadleného commitu
Průměrné zpoždění na transakci v milisekundách (relevantní pouze v režimu vysoké bezpečnosti). Toto zpoždění představuje množství režie, která vzniká, zatímco instance hlavního serveru čeká, až instance zrcadlového serveru zapíše záznam transakce do fronty pro opakování.
Čas odeslání a obnovení veškerého aktuálního protokolu (odhadovaného)
Odhadovaná doba potřebná k odeslání všech neodeslaných protokolů transakcí, které byly potvrzeny na primárním serveru, a k obnovení všech protokolů transakcí, které se aktuálně nacházejí ve frontě opakovaného provedení. Tento odhad může být menší než součet hodnot polí Time to send log (odhad) a Time to restore log (estimated), protože odesílání a obnovení může fungovat paralelně.
Adresa svědka
Síťová adresa instance serveru svědka. Informace o formátu této adresy naleznete v tématu Určení síťové adresy serveru (zrcadlení databáze).
Provozní režim
Provozní režim relace zrcadlení databáze:
Vysoký výkon (asynchronní)
Vysoká bezpečnost bez automatického převzetí služeb při selhání (synchronní)
Vysoká bezpečnost díky automatickému převzetí služeb při selhání (synchronně)
Další zdroje informací o zrcadlené databázi
Kromě použití monitoru zrcadlení databáze a uložených procedur dbmmonitoru k monitorování zrcadlené databáze a nastavení výstrah na monitorované proměnné výkonu SQL Server poskytuje zobrazení katalogu, čítače výkonu a oznámení událostí pro zrcadlení databáze.
V této části:
Metadata databázového zrcadlení
Každá relace zrcadlení databáze je popsaná v metadatech, která jsou zpřístupněna prostřednictvím následujícího katalogu nebo zobrazení dynamické správy:
sys.database_mirroring
Toto zobrazení zobrazuje metadata databázového zrcadlení pro každou zrcadlenou databázi v instanci serveru. Další informace najdete v tématu sys.database_mirroring (Transact-SQL).
sys.database_mirroring_endpoints
Zobrazení katalogu sys.database_mirroring_endpoints zobrazuje informace o koncovém bodu zrcadlení databáze instance serveru. Další informace najdete v tématu sys.database_mirroring_endpoints (Transact-SQL).
sys.database_mirroring_witnesses
Toto zobrazení katalogu zobrazuje metadata zrcadlení databáze pro každou relaci, ve kterých je instance serveru svědkem. Další informace najdete v tématu sys.database_mirroring_witnesses (Transact-SQL).
sys.dm_db_mirroring_connections
Toto zobrazení dynamické správy vrací řádek pro každé síťové připojení databázového zrcadlení.
Další informace najdete v tématu sys.dm_db_mirroring_connections (Transact-SQL).
Čítače výkonu zrcadlení databáze
Čítače výkonu umožňují monitorovat výkon zrcadlení databáze. Můžete například zkontrolovat čítač Zpoždění transakcí a zjistit, zda zrcadlení databáze ovlivňuje výkon hlavního serveru; také můžete zkontrolovat čítače Fronta opakování a Fronta odesílání protokolu transakcí a zjistit, jak dobře zrcadlová databáze drží krok s hlavní databází. Můžete zkontrolovat čítač Počet bajtů protokolu odeslaných za sekundu a sledovat množství dat protokolu odeslaných za sekundu.
V nástroji Sledování výkonu na kterémkoli z partnerů jsou k dispozici čítače výkonu v objektu výkonu pro zrcadlení databáze (SQLServer:Database Mirroring). Další informace najdete v tématu SQL Server, objekt zrcadlení databáze.
Spuštění monitorování výkonu
Oznámení událostí zrcadlení databáze
Oznámení událostí jsou speciálním druhem databázového objektu. Oznámení událostí se spouštějí v reakci na řadu Transact-SQL příkazů jazyka DDL (Data Definition Language) a událostí trasování SQL a odesílají informace o serverových a databázových událostech do služby Service Broker.
Pro zrcadlení databáze jsou k dispozici následující události:
Třída událostí Změny stavu zrcadlení databáze
To označuje, kdy se změní stav zrcadlení zrcadlené databáze. Další informace naleznete v tématu Třídy událostí změny stavu zrcadlení databáze.
Auditovat třídu událostí přihlášení ke zrcadlení databáze
Tato sestava obsahuje zprávy auditu týkající se zabezpečení přenosu při zrcadlení databáze. Další informace naleznete v tématu Audit database Mirroring Login – třída událostí.
Související úkoly
Použití prahových hodnot výstrahy a upozornění pro metriky výkonu zrcadlení (SQL Server)
Spuštění Monitoru zrcadlení databáze (SQL Server Management Studio)
Zobrazení stavu zrcadlené databáze (SQL Server Management Studio)
Uložené procedury
Viz také
Zrcadlení databáze (SQL Server)
Zprostředkovatel WMI pro koncepty serverových událostí