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
Tento článek popisuje výhody zálohování databází SQL Server, představuje základní pojmy zálohování a obnovy a pokrývá strategie zálohování a obnovy a bezpečnostní aspekty pro SQL Server.
Poznámka:
Tento článek představuje zálohy SQL Serveru. Konkrétní kroky zálohování databází SQL Serveru najdete v tématu Vytváření záloh.
Zálohovací a obnovovací komponenta SQL Server poskytuje zásadní ochranu pro kritická data uložená ve vašich databázích SQL Server. Pro minimalizaci rizika katastrofální ztráty dat pravidelně zálohujte své databáze, abyste zachovali úpravy dat. Dobře naplánovaná strategie zálohování a obnovy pomáhá chránit databáze před ztrátou dat způsobenou mnoha typy selhání. Otestujte svou strategii obnovením sady záloh a následným obnovením databáze, abyste byli připraveni reagovat na katastrofu.
Kromě lokálního úložiště SQL Server také podporuje zálohování a obnovu z Azure Blob Storage. Pro více informací viz SQL Server zálohování a obnova s Azure Blob Storage. U databázových souborů uložených ve službě Azure Blob Storage poskytuje SQL Server 2016 (13.x) možnost používat snímky Azure pro téměř okamžité zálohování a rychlejší obnovení. Další informace najdete v tématu Zálohování snímků souborů pro soubory databáze v Azure. Azure také nabízí řešení zálohování na podnikové úrovni pro SQL Server běžící na virtuálních počítačích Azure. Plně spravované řešení zálohování podporuje skupiny dostupnosti AlwaysOn, dlouhodobé uchovávání, obnovení k určitému bodu v čase a centrální správu a monitorování. Další informace najdete v tématu O zálohování SQL Serveru na virtuálních počítačích Azure.
Proč zálohovat?
Zálohování vašich databází SQL Server, spouštění testovacích obnovovacích procedur na zálohách a ukládání kopií záloh na bezpečné, vzdálené místo vás chrání před potenciálně katastrofální ztrátou dat. Zálohování je jediný způsob, jak chránit vaše data.
S platnými zálohami databáze můžete obnovit data z mnoha selhání, například:
Selhání média.
Chyby uživatelů, například když uživatel omylem odstraní tabulku.
Selhání hardwaru, například poškozená disková jednotka nebo trvalá ztráta serveru.
Přírodní katastrofy. Použitím SQL Server Backup do Azure Blob Storage můžete vytvořit zálohu mimo pracoviště v jiné oblasti, než je vaše lokální lokalita, kterou můžete použít, pokud by přírodní katastrofa ovlivnila vaši místní polohu.
Zálohy databáze jsou navíc užitečné pro běžné účely správy, jako je kopírování databáze z jednoho serveru do druhého, nastavení skupin dostupnosti AlwaysOn nebo zrcadlení databáze a archivace.
Glosář termínů zálohování
| Term | Definition |
|---|---|
| zálohovat[sloveso] | Proces vytváření zálohy[subun] kopírováním datových záznamů z databáze SQL Server nebo záznamů z jejího transakčního logu. |
| záloha[podstatné jméno] | Kopie dat, kterou lze použít k obnovení a zotavení dat po selhání. Zálohy databáze lze také použít k obnovení kopie databáze do nového umístění. |
| Záložní zařízení | Disk nebo páskové zařízení, do kterého se zapisují zálohy SQL Serveru a ze kterých je možné je obnovit. Zálohy SQL Serveru je také možné zapsat do služby Azure Blob Storage a formát adresy URL se používá k určení cíle a názvu záložního souboru. Pro více informací viz SQL Server zálohování a obnova s Azure Blob Storage. |
| záložní médium | Jeden nebo více pásek nebo souborů disku, do kterých byly zapsány některé zálohy. |
| zálohování dat | Záloha dat v úplné databázi (záloha databáze), částečná databáze (částečná záloha) nebo sada datových souborů nebo skupin souborů (záloha souborů). |
| zálohování databáze | Záloha databáze. Úplné zálohy databáze představují celou databázi v době dokončení zálohování. Rozdílové zálohy databáze obsahují pouze změny provedené v databázi od poslední úplné zálohy databáze. |
| rozdílové zálohování | Záloha dat založená na nejnovější úplné zálohování úplné databáze nebo sady datových souborů nebo skupin souborů (rozdílová základna) a která obsahuje pouze data, která se od této základny změnila. |
| úplné zálohování | Záloha dat, která obsahuje všechna data v konkrétní databázi nebo sadě skupin souborů nebo souborů, a také dostatek protokolů, aby bylo možné tato data obnovit. |
| zálohování protokolů | Záloha transakčních protokolů, která zahrnuje všechny záznamy protokolů, které nebyly zálohovány v předchozím zálohování protokolů (úplný model obnovení). |
| recover | Vrácení databáze do stabilního a konzistentního stavu |
| zotavení | Fáze spuštění databáze nebo obnovení s následným zotavením, která uvede databázi do transakčně konzistentního stavu. |
| Model obnovení | Vlastnost databáze, která řídí údržbu transakčního protokolu v databázi. Existují tři modely obnovy: základní, plný a hromadně zaznamenávaný. Model obnovení databáze určuje požadavky na zálohování a obnovení. |
| obnovit | Vícefázový proces, který zkopíruje všechny datové a protokolové stránky ze zadané zálohy SQL Serveru do zadané databáze a poté provede dopředné obnovení všech transakcí zaznamenaných v záloze aplikováním zaznamenaných změn, aby se data posunula v čase vpřed. |
Strategie zálohování a obnovení
Musíte přizpůsobit strategie zálohování a obnovy vašemu prostředí a dostupným zdrojům. Spolehlivá obnova vyžaduje strategii zálohování a obnovy. Dobře navržená strategie vyvažuje obchodní požadavky na maximální dostupnost dat a minimální ztrátu dat s náklady na udržování a ukládání záloh.
Strategie zálohování a obnovení obsahuje zálohovanou část a část obnovení. Zálohovací část definuje typ a četnost záloh, typ a rychlost požadovaného hardwaru, jak testovat zálohy a kde a jak ukládat zálohovací média (včetně bezpečnostních důvodů). Část obnovy určuje, kdo je zodpovědný za provádění obnov, jak provádět obnovy tak, aby se splnily vaše cíle dostupnosti databáze a minimální ztráty dat, a jak testovat obnovení.
Efektivní strategie zálohování a obnovy vyžaduje pečlivé plánování, implementaci a testování. Testování je nutné. Zálohovací strategii nemáte, dokud úspěšně neobnovíte zálohy ve všech kombinacích zahrnutých ve vaší strategii obnovy a neotestujete každou obnovenou databázi na fyzickou konzistenci. Zvažte několik faktorů, včetně:
Cíle vaší organizace týkající se produkčních databází, zejména požadavků na dostupnost a ochranu dat před ztrátou nebo poškozením.
Povaha každé databáze: její velikost, vzory použití, povaha jejího obsahu, požadavky na data atd.
Omezení prostředků, jako je hardware, personál, prostor pro ukládání záložních médií, fyzické zabezpečení uložených médií atd.
Doporučení osvědčených postupů
Neudělujte účtům, které provádějí zálohovací nebo obnovovací operace, více oprávnění, než je nutné. Pro více informací viz zálohování a obnova pro konkrétní údaje o oprávněních. Zašifrujte zálohy databází a pokud možno je komprimujte .
Používejte konzistentní přípony souborů, aby bylo zálohování snazší identifikovat a spravovat. SQL Server tyto rozšíření nevyžaduje ani nevynucuje, ale konzistence pomáhá s operačními úkoly, jako je konfigurace antivirových vyloučení pro zálohovací soubory. Další informace naleznete v tématu Konfigurace antivirového softwaru pro práci s SQL Serverem.
- Databázové zálohy by měly mít tuto
.BAKpříponu. - Záložní soubory protokolů by měly mít příponu
.TRN.
Používejte samostatné úložiště
Umístěte své databázové zálohy na samostatné fyzické místo nebo na samostatné zařízení od databázových souborů. Když fyzický disk, který ukládá vaše databáze, selže nebo spadne, obnova závisí na vaší schopnosti přistupovat k samostatnému disku nebo vzdálenému zařízení, které zálohy uchovávalo. Můžete vytvořit několik logických svazků nebo oddílů ze stejné fyzické diskové jednotky. Pečlivě si prostudujte rozložení diskových oddílů a logických svazků, než si vyberete místo pro ukládání záloh.
Volba vhodného modelu obnovení
Operace zálohování a obnovení probíhají v kontextu modelu obnovení. Model obnovení je vlastnost databáze, která řídí způsob správy transakčního protokolu. Model obnovy databáze tedy určuje, jaké typy záloh a obnov databáze podporuje a velikost záloh transakčních logů. Databáze obvykle používá jednoduchý model obnovení nebo úplný model obnovení. Úplný model obnovení můžete rozšířit přepnutím na hromadně protokolovaný model obnovení před hromadnými operacemi. Úvod do těchto modelů obnovení a jejich vliv na správu transakčních protokolů najdete v transakčním protokolu.
Nejlepší volba modelu obnovy databáze závisí na požadavcích vašeho podnikání. Pokud se chcete vyhnout správě transakčních protokolů a zjednodušit zálohování a obnovení, použijte jednoduchý model obnovení. Pokud chcete minimalizovat expozici ztráty práce za cenu administrativní režie, použijte úplný model obnovení. Pro minimalizaci vlivu na velikost logu během hromadně logovaných operací a zároveň umožnění obnovy těchto operací použijte model hromadného logování. Informace o vlivu modelů obnovy na zálohování a obnovu najdete v přehledu zálohy (SQL Server).
Návrh strategie zálohování
Poté, co vyberete model obnovy, který splňuje požadavky vašeho podnikání pro konkrétní databázi, naplánujte a implementujte odpovídající strategii zálohování. Nejlepší strategie zálohování závisí na několika faktorech. Následující faktory jsou obzvlášť důležité:
Kolik hodin denně potřebují aplikace k přístupu k databázi?
Pokud je předvídatelné období mimo špičku, měli byste si na toto období naplánovat kompletní zálohy databáze.
Jak často dochází ke změnám a aktualizacím?
Pokud jsou změny časté, zvažte:
V rámci jednoduchého modelu obnovy můžete naplánovat rozdílné zálohy mezi plnými databázovými zálohami. Rozdílové zálohování zachycuje pouze změny od poslední úplné zálohy databáze.
V rámci modelu plné obnovy můžete plánovat časté zálohování logů. Plánování rozdílových záloh mezi úplnými zálohami může zkrátit dobu obnovení snížením počtu záloh protokolů, které musíte obnovit po obnovení dat.
Jsou změny pravděpodobné, že nastanou jen v malé části databáze, nebo ve velké části?
Pro velkou databázi, kde jsou změny soustředěny v podmnožině souborů nebo skupin souborů, mohou být užitečné částečné zálohy nebo kompletní zálohy souborů. Pro více informací viz Částečné zálohy (SQL Server) a Kompletní zálohy souborů (SQL Server).
Kolik místa na disku vyžaduje kompletní záloha databáze?
Jak dlouho do minulosti vaše firma potřebuje uchovávat zálohy?
Ujistěte se, že máte správný plán zálohování, který odpovídá potřebám aplikace a požadavkům podnikání. S přibývajícím věkem záloh roste riziko ztráty dat, pokud nemáte způsob, jak všechna data znovu vygenerovat až do okamžiku selhání. Než staré zálohy odstraníte kvůli omezené kapacitě úložiště, zvažte, zda potřebujete možnost obnovení dat z tak dávné doby.
Odhad velikosti úplného zálohování databáze
Než zavedete strategii zálohování a obnovy, odhadněte, kolik místa na disku zabírá kompletní záloha databáze. Operace zálohování zkopíruje data v databázi do záložního souboru. Záloha obsahuje pouze skutečná data v databázi, nikoli nevyužité místo. Proto je zálohování obvykle menší než samotná databáze. Pro odhad velikosti kompletní databázové zálohy použijte proceduru sp_spaceused systémově uloženou. Další informace najdete v části sp_spaceused.
Plánování zálohování
Zálohovací operace má minimální vliv na běžící transakce, takže zálohy můžete provádět i během běžných operací. Zálohování SQL Serveru můžete provést s minimálním účinkem na produkční úlohy.
Poznámka:
Informace o omezení souběžnosti během zálohování najdete v tématu Přehled zálohování (SQL Server).
Poté, co se rozhodnete, jaké typy záloh potřebujete a jak často je provádět, naplánujte pravidelné zálohování jako součást plánu údržby databáze. Informace o plánech údržby a jejich vytvoření pro zálohy databáze a zálohování protokolů naleznete v tématu Použití Průvodce plánem údržby.
Testování záloh
Nemáte strategii obnovení, dokud nevytestujete zálohy. Důkladně otestujte strategii zálohování pro každou databázi tím, že obnovíte kopii databáze do testovacího systému. Musíte otestovat obnovení všech typů záloh, které chcete použít. Po obnovení zálohy spusťte DBCC CHECKDB nad databází a ověřte, že zálohovací médium není poškozené.
Ověření stability a konzistence médií
Použijte možnosti ověřování poskytované zálohovacími nástroji (BACKUPpříkaz T-SQL, plány údržby SQL Server, váš zálohovací software nebo řešení a podobně). Pro příklad viz RESTORE Tvrzení - VERIFYONLY.
Použijte pokročilé funkce, BACKUP CHECKSUM například k detekci problémů přímo se zálohovacím médiem. Další informace najdete v tématu Položitelné chyby médií při zálohování a obnovení (SQL Server).
Strategie zálohování a obnovení dokumentů
Zdokumentujte své postupy zálohování a obnovení a kopii této dokumentace uchovávejte ve svém runbooku.
Měli byste také vést provozní manuál pro každou databázi. Tento provozní manuál by měl dokumentovat umístění záloh, názvy záložních zařízení (pokud existují) a dobu potřebnou k obnovení testovacích záloh.
Bezpečnostní riziko obnovení záloh z nedůvěryhodných zdrojů
Tato část popisuje bezpečnostní riziko spojené s obnovením záloh z nedůvěryhodných zdrojů do libovolného prostředí SQL Serveru, včetně místního prostředí, azure SQL Managed Instance, SQL Serveru na virtuálních počítačích Azure a jakéhokoli jiného prostředí.
Proč na tom záleží
Obnovení záložních souborů SQL (.bak) představuje potenciální riziko, pokud záloha pochází z nedůvěryhodného zdroje. Bezpečnostní riziko je ještě horší, když prostředí SQL Serveru má více instancí, protože zvyšuje oblast hrozeb. I když zálohy, které zůstávají v rámci důvěryhodné hranice, nepředstavují žádný problém se zabezpečením, obnovení škodlivé zálohy může ohrozit zabezpečení celého prostředí.
Škodlivý .bak soubor může:
- Převezměte celou instanci SQL Serveru.
- Eskalujte oprávnění a získejte neoprávněný přístup k podkladovému hostiteli nebo virtuálnímu počítači.
K tomuto útoku dochází před spuštěním jakýchkoli ověřovacích skriptů nebo kontrol zabezpečení, což z něj dělá extrémně nebezpečné. Obnovení nedůvěryhodné zálohy odpovídá spouštění nedůvěryhodných aplikací na kritickém serveru nebo virtuálním počítači a zavedení libovolného spuštění kódu do vašeho prostředí.
Osvědčené postupy
Pokud chcete snížit hrozbu pro vaše prostředí SQL Serveru, postupujte podle těchto osvědčených postupů zabezpečení zálohování:
- Zacházejte s obnovením záloh jako s vysoce rizikovými operacemi.
- Omezte oblast služby hrozeb pomocí izolovaných instancí.
- Povolte pouze důvěryhodné zálohy: nikdy neobnovujte zálohy z neznámých nebo externích zdrojů.
- Povolit pouze zálohy, které zůstaly v rámci důvěryhodné hranice: zajistěte, aby zálohy pocházejí z důvěryhodné hranice.
- Nevyužívat bezpečnostní prvky pro usnadnění přístupu.
- Povolte auditování na úrovni serveru , abyste zachytili události zálohování a obnovení a snížili úniky auditů.
Monitorování průběhu pomocí XEventu
Operace zálohování a obnovy mohou trvat dlouho kvůli velikosti databáze a složitosti operací. Když se vyskytnou problémy s některou z operací, použijte rozšířenou backup_restore_progress_trace událost k živému sledování pokroku. Další informace o rozšířených událostech naleznete v tématu Přehled rozšířených událostí.
Výstraha
Prodloužená backup_restore_progress_trace událost může způsobit problémy s výkonem a zabrat velké množství místa na disku. Používejte ho krátkodobě, buďte opatrní a důkladně testujte před použitím ve výrobě.
-- Create the backup_restore_progress_trace extended event session
CREATE EVENT SESSION [BackupRestoreTrace] ON SERVER
ADD EVENT sqlserver.backup_restore_progress_trace
ADD TARGET package0.event_file (SET filename = N'BackupRestoreTrace')
WITH
(
MAX_MEMORY = 4096 KB,
EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY = 5 SECONDS,
MAX_EVENT_SIZE = 0 KB,
MEMORY_PARTITION_MODE = NONE,
TRACK_CAUSALITY = OFF,
STARTUP_STATE = OFF
);
GO
-- Start the event session
ALTER EVENT SESSION [BackupRestoreTrace] ON SERVER
STATE = START;
GO
-- Stop the event session
ALTER EVENT SESSION [BackupRestoreTrace] ON SERVER
STATE = STOP;
GO
Ukázkový výstup z Extended Event
Další informace o úlohách zálohování
- Vytvoření plánu údržby
- Vytvoření úlohy agenta SQL Serveru v aplikaci SQL Server Management Studio
- Konfigurace plánu pro úlohu agenta SQL Serveru
Práce se záložními zařízeními a záložními médium
- Definování logického zálohovacího zařízení pro diskový soubor (SQL Server)
- Definování logického zálohovacího zařízení pro páskovou jednotku (SQL Server)
- Určení cíle zálohování disku nebo pásky (SQL Server)
- Odstranění zálohovacího zařízení (SQL Server)
- Nastavení data vypršení platnosti zálohy (SQL Server)
- Zobrazení obsahu záložní pásky nebo souboru (SQL Server)
- Zobrazení dat a souborů protokolu v zálohovací sadě (SQL Server)
- Zobrazení vlastností a obsahu logického zálohovacího zařízení (SQL Server)
- Obnovení zálohy ze zařízení (SQL Server)
Vytváření záloh
Pro částečné zálohy nebo zálohy typu copy-only použijte příkaz Transact-SQL BACKUP s možností PARTIAL nebo COPY_ONLY, v uvedeném pořadí.
Použití aplikace SSMS
- Vytvoření úplné zálohy databáze
- Zálohování transakčního protokolu
- Zálohování souborů a skupin souborů
- Vytvoření rozdílového zálohování databáze (SQL Server)
Použití T-SQL
- Použijte Resource Governor k omezení využití CPU pomocí zálohovací komprese
- Zálohování transakčního protokolu při poškození databáze (SQL Server)
- Povolení nebo zakázání kontrolních součtů zálohování během zálohování nebo obnovení (SQL Server)
- Zadání zálohování nebo obnovení pro pokračování nebo zastavení po chybě
Obnovení záloh dat
Použití aplikace SSMS
- Obnovení zálohy databáze pomocí SSMS
- Obnovení databáze do nového umístění (SQL Server)
- Obnovení rozdílové zálohy databáze (SQL Server)
- Obnova souborů a skupin souborů (SQL Server)
Použití T-SQL
- Obnovte zálohu databáze podle jednoduchého modelu obnovy
- Obnovení databáze do bodu selhání – úplné obnovení
- Obnova souborů a skupin souborů přes existující soubory (SQL Server)
- Obnovit soubory na nové místo (SQL Server)
- Obnovení hlavní databáze
Obnovení transakčních protokolů (úplný model obnovení)
Použití aplikace SSMS
- Obnovení databáze do označené transakce (SQL Server Management Studio)
- Obnovení zálohy transakčního protokolu (SQL Server)
- Obnovení databáze SQL Server do určitého časového bodu (kompletní model obnovy)
Použití T-SQL
- Obnovení databáze SQL Server do určitého časového bodu (kompletní model obnovy)
- Restartování přerušené operace obnovení
- Obnova databáze bez nutnosti obnovit data
Související obsah
- Přehled zálohování (SQL Server)
- Přehled obnovení a zotavení (SQL Server)
- BACKUP (Transact-SQL)
- RESTORE Příkazy (Transact-SQL)
- Zálohování a obnova databází Analysis Services
- Zálohujte a obnovujte katalogy a indexy v plném textu
- Zálohování a obnova replikovaných databází
- Transakční protokol
- Modely obnovení (SQL Server)
- Sady médií, rodiny médií a zálohovací sady (SQL Server)