Zálohování transakčního protokolu
platí pro:SQL Server
Tento článek popisuje, jak zálohovat transakční protokol v SQL Serveru pomocí aplikace SQL Server Management Studio, Azure Data Studio, Transact-SQL nebo PowerShellu.
Omezení
Příkaz BACKUP
není v explicitním ani implicitním transakci povolen. Explicitní transakce je jedna, ve které explicitně definujete jak začátek, tak konec transakce.
Zálohy transakčních protokolů systémové databáze master
se nepodporují.
Doporučení
Pokud databáze používá buď úplný, nebo hromadně protokolovaný model obnovy, musíte zálohovat transakční log dostatečně pravidelně, aby byla chráněna vaše data, a zabránit zaplnění transakčního logu . Tím se protokol zkrátí a podporuje obnovení databáze k určitému bodu v čase.
Ve výchozím nastavení každá úspěšná operace zálohování přidá položku do protokolu chyb SQL Serveru a do systémového protokolu událostí. Pokud protokol zálohujete často, tyto úspěšné zprávy se rychle hromadí, což vede k obrovským protokolům chyb a ztěžuje to hledání dalších zpráv. V takových případech můžete tyto položky protokolu potlačit pomocí příznaku trasování 3226, pokud žádný z vašich skriptů nezávisí na těchto položkách, viz příznaky trasování (Transact-SQL).
Dovolení
Než začnete, zkontrolujte správná oprávnění na úrovni instance i úložiště.
Oprávnění databázového stroje
Oprávnění BACKUP DATABASE
a BACKUP LOG
potřebná jsou standardně udělena členům pevné role správce systému a db_owner a db_backupoperator pevné databázové role.
Oprávnění zálohovat zařízení
Problémy s vlastnictvím a oprávněním ve fyzickém souboru zálohovacího zařízení můžou kolidovat s operací zálohování. Účet operačního systému, pod kterým běží služba SQL Serveru, musí být schopný číst a zapisovat do zařízení. Problémy s oprávněními ve fyzickém souboru záložního zařízení nejsou pro vás zřejmé, dokud se při pokusu o zálohování nebo obnovení nepokusíte získat přístup k fyzickému prostředku.
Poznámka
sp_addumpdevice, který přidá položku pro zálohovací zařízení v systémových tabulkách, nekontroluje přístupová oprávnění k souborům.
Použití aplikace SQL Server Management Studio
Poznámka
Kroky v této části platí také pro Azure Data Studio.
Po připojení k příslušné instanci databázového stroje SQL Serveru v Průzkumníku objektů vyberte název serveru a rozbalte strom serveru.
Rozbalte Databázea v závislosti na databázi vyberte uživatelskou databázi nebo rozbalte systémové databáze a vyberte systémovou databázi.
Klikněte pravým tlačítkem na databázi, přejděte na Úkolya vyberte Zálohovat. Dialogové okno Zálohovat databázi se zobrazí.
V seznamu Databáze zkontrolujte název databáze. Volitelně můžete vybrat jinou databázi ze seznamu.
Ověřte, že model obnovení je FULL nebo BULK_LOGGED.
V seznamu Typ zálohování vyberte Transakční protokol.
(volitelné) Vyberte Zálohování pouze kopírování a vytvořte zálohu jen pro kopírování. zálohování pouze pro kopírování je záloha SQL Serveru, která je nezávislá na posloupnosti konvenčních záloh SQL Serveru, viz zálohování pouze kopírování.
Poznámka
Pokud je vybraná možnost Rozdílové, nemůžete vytvořit zálohu jen pro kopírování.
Buď přijměte výchozí název sady záloh navrhovaný v textovém poli Název, nebo zadejte jiný název sady záloh.
(volitelné) Do textového pole Popis zadejte popis zálohované sady.
Určete, kdy sada záloh vyprší:
Pokud chcete, aby sada zálohování vypršela po určitém počtu dnů, vyberte Po (výchozí možnost) a zadejte počet dnů po vytvoření sady, jejichž platnost vyprší. Tato hodnota může být od 0 do 99999 dnů; hodnota 0 dnů znamená, že sada zálohování nikdy nevyprší.
Výchozí hodnota je nastavena v Výchozí uchovávání záložních médií (ve dnech) v dialogovém okně Vlastnosti serveru (Nastavení databáze na stránce). Chcete-li získat přístup k tomuto dialogovému okně, klikněte pravým tlačítkem myši na název serveru v Průzkumníku objektů a vyberte vlastnosti; pak vyberte stránku Nastavení databáze.
Pokud chcete, aby platnost sady záloh vypršela k určitému datu, vyberte Dnea zadejte datum, kdy sada vyprší.
Vyberte typ cíle zálohování tak, že vyberete Disk, URLnebo Páska. Chcete-li vybrat stezky až 64 disků nebo páskových jednotek, z nichž každá obsahuje jednotlivou sadu médií, vyberte Přidat. Vybrané cesty se zobrazí v seznamu Zálohování pro.
Chcete-li odebrat cíl zálohování, vyberte ho a klikněte na Odebrat. Pokud chcete zobrazit obsah cíle zálohování, vyberte ho a vyberte Obsah.
Pokud chcete zobrazit nebo vybrat pokročilé možnosti, vyberte Možnosti v panelu Vyberte stránku.
Vyberte možnost Přepsat média výběrem jedné z následujících možností:
Zálohování do existující sady médií
Pro tuto možnost vyberte Připojit k existující sadě záloh nebo přepsat všechny existující sady záloh, viz sady médií, rodiny médií a zálohovací sady (SQL Server).
(volitelné) Vyberte Zkontrolujte název sady médií a vypršení platnosti sady záloh, aby operace zálohování ověřila datum a čas, kdy vyprší platnost média a zálohovací sady.
(volitelné) Zadejte název do textového pole Název sady médií. Pokud není zadaný žádný název, vytvoří se sada médií s prázdným názvem. Pokud zadáte název sady médií, je médium (páska nebo disk) zaškrtnuté, abyste zjistili, jestli skutečný název odpovídá zadanému názvu.
Pokud necháte název média prázdný a zaškrtnete políčko pro kontrolu proti médiu, znamená úspěch, že název média je také prázdný.
Zálohování do nové sady médií a vymazání všech existujících sad záloh
Pro tuto možnost zadejte název do textového pole Název nové sady médií a volitelně popište sadu médií v textovém poli Popis nové sady médií textovém poli, viz Sady médií, rodiny médií a sady záloh (SQL Server).
V části Spolehlivost volitelně zkontrolujte:
Zkontrolujte zálohu po dokončení.
Proveďte kontrolu kontrolního součtu před zápisem na média a (volitelné)Pokračovat při chybě kontrolního součtu.
Informace o kontrolních součtech najdete v tématu možné chyby médií při zálohování a obnovení (SQL Server).
V sekci transakční protokol:
U rutinních záloh protokolu ponechte výchozí výběr Zkrátit transakční protokol odebráním neaktivních položek.
Pokud chcete zazálohovat konec protokolu (aktivní protokol), zaškrtněte Zálohování konce protokolu a nechte databázi ve stavu obnovy.
Zálohování protokolu tail-log se provádí po selhání zálohování konce protokolu, aby se zabránilo ztrátě práce. Zálohujte aktivní protokol (zálohování tail-log) jak po selhání, tak před zahájením obnovení databáze, nebo při přepnutí na sekundární databázi. Výběr této možnosti odpovídá zadání možnosti NORECOVERY v příkazu PROTOKOLU ZÁLOHOVÁNÍ jazyka Transact-SQL.
Další informace o zálohování protokolu transakcí naleznete v tématu Zálohování protokolu transakcí (SQL Server).
Pokud zálohujete na páskovou jednotku (jak je uvedeno v části Cíl na stránce Obecné), volba Rozbalit pásku po zálohování je aktivní. Výběrem této možnosti se aktivuje možnost Převinout pásku před uvolněním.
Ve výchozím nastavení záleží, zda je zálohování komprimováno, na hodnotě výchozího nastavení komprese zálohování v konfiguraci serveru. Bez ohledu na aktuální výchozí nastavení serveru můžete komprimovat zálohování zaškrtnutím možnosti Komprimovat zálohování. Pokud chcete kompresi zabránit, zaškrtněte možnost Nezkomprimovat zálohování.
Komprese zálohy se podporuje na SQL Serveru 2008 (10.0.x) Enterprise a novějších verzích a SQL Serveru 2016 (13.x) Standard s aktualizací Service Pack 1 a novějšími verzemi.
Pokud chcete zobrazit aktuální výchozí kompresi záloh, přečtěte si téma Zobrazení nebo konfigurace výchozí komprese zálohování (možnost konfigurace serveru).
Pokud chcete záložní soubor zašifrovat, zaškrtněte políčko Zašifrovat zálohování. Vyberte šifrovací algoritmus, který chcete použít k šifrování záložního souboru a zadejte certifikát nebo asymetrický klíč. Dostupné algoritmy pro šifrování jsou:
- AES 128
- AES 192
- AES 256
- trojnásobný DES
Použijte Transact-SQL
Spusťte příkaz BACKUP LOG pro zálohování transakčního protokolu a zadejte následující informace:
- Název databáze, do které patří transakční protokol, který chcete zálohovat.
- Zálohovací zařízení, ve kterém je zapsáno zálohování transakčního protokolu.
Důležitý
V tomto příkladu se používá databáze AdventureWorks2022
, která používá jednoduchý model obnovení. Pro zálohování protokolů byla databáze před provedením úplného zálohování nastavena na použití úplného modelu obnovení.
Další informace naleznete v tématu Zobrazení nebo změna modelu obnovení databáze (SQL Server).
Tento příklad vytvoří zálohu transakčního protokolu pro databázi AdventureWorks2022
na dříve vytvořené pojmenované zálohovací zařízení MyAdvWorks_FullRM_log1
.
BACKUP LOG AdventureWorks2022
TO MyAdvWorks_FullRM_log1;
GO
Použití PowerShellu
Nastavte a použijte poskytovatele PowerShellu SQL Server . Použijte rutinu Backup-SqlDatabase a zadejte Log pro hodnotu parametru -BackupAction.
Následující příklad vytvoří zálohu logu databáze <myDatabase>
do výchozího umístění pro zálohování serveru instance Computer\Instance
.
Backup-SqlDatabase -ServerInstance Computer\Instance -Database <myDatabase> -BackupAction Log
Související úkoly
- Obnovení Zálohy Transakčního Protokolu (SQL Server)
- obnovení databáze SQL Serveru k určitému bodu v čase (úplný model obnovení)
- Řešení potíží s úplným transakčním protokolem (chyba SQL Serveru 9002)