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 je relevantní pouze pro zálohování a obnovení databází SQL Serveru, které používají úplné nebo hromadně protokolované modely obnovení.
Záloha tail-log zachycuje všechny záznamy protokolu, které ještě nebyly zálohovány (konec záznamů protokolu), aby nedošlo ke ztrátě dat a aby zůstal řetězec protokolu zachován. Než budete moct obnovit databázi SQL Serveru k nejnovějšímu bodu v čase, musíte zálohovat konec transakčního protokolu. Záloha tail-log je poslední důležitá záloha v plánu obnovení databáze.
Ne všechny scénáře obnovení vyžadují zálohu koncového logu. Nepotřebujete zálohu koncového protokolu, pokud je bod obnovení obsažen v dřívější záloze protokolu. Záloha koncového protokolu není nutná, pokud přesouváte nebo nahrazujete (přepisujete) databázi a nepotřebujete ji obnovit k určitému bodu v čase po jejím nejnovějším zálohování.
Scénáře, které vyžadují zálohování protokolu tail-log
V následujících scénářích doporučujeme zálohovat koncové protokoly:
Pokud je databáze online a plánujete provést operaci obnovení databáze, začněte zálohováním konce protokolu. Pokud se chcete vyhnout chybě pro online databázi, musíte použít
WITH NORECOVERYmožnost příkazu BACKUP Transact-SQL.Pokud je databáze offline a nedaří se spustit a potřebujete databázi obnovit, nejprve zálohujte konec protokolu. Vzhledem k tomu, že v tuto chvíli nedochází k žádným transakcím, použijte tuto
WITH NO_TRUNCATEmožnost.NO_TRUNCATEje v podstatě stejná jako záloha transakčního protokolu jen pro kopírování. PoužitíWITH NORECOVERYje volitelné, protože v tuto chvíli nedochází k žádným transakcím.Pokud je databáze poškozená, zkuste provést zálohu koncového záznamu pomocí
WITH CONTINUE_AFTER_ERRORparametruBACKUPpříkazu.V poškozené databázi může zálohování ocasu protokolu proběhnout úspěšně pouze v případě, že jsou soubory protokolů nepoškozené, databáze je ve stavu, který podporuje zálohování protokolu tail-log a databáze neobsahuje žádné hromadně protokolované změny. Pokud není možné vytvořit zálohu koncové části protokolu, všechny transakce potvrzené po vytvoření nejnovější zálohy protokolu jsou ztraceny.
Následující tabulka shrnuje NORECOVERY, NO_TRUNCATEa CONTINUE_AFTER_ERROR možnosti pro BACKUP.
Zálohy protokolu tail, které obsahují neúplná metadata zálohování
Zálohy konce protokolu (tail log backups) zachytí konec protokolu, i když je databáze offline, poškozená nebo chybí datové soubory. To může způsobit neúplná metadata z příkazů pro obnovení informací a msdb. Nicméně, pouze metadata je neúplná; zachycený protokol je úplný a použitelný.
Pokud má záloha protokolu tail-log neúplná metadata, je v tabulce backupset nastavena hodnota 1. Také ve výstupu RESTORE HEADERONLY je HasIncompleteMetadata nastavena hodnota na 1.
Pokud nejsou metadata v zálohování protokolu tail-log neúplná, chybí v tabulce backupfilegroup většina informací o skupinách souborů v době zálohování protokolu tail-log.
backupfilegroup Většina sloupců tabulky je NULL; jediné smysluplné sloupce jsou následující:
backup_set_idfilegroup_idtypetype_descis_readonly
Související úkoly
Pokud chcete vytvořit zálohu protokolu tail-log, přečtěte si téma Zálohování transakčního protokolu při poškození databáze (SQL Server).
Pokud chcete obnovit zálohu transakčního protokolu, přečtěte si téma Obnovení zálohy transakčního protokolu (SQL Server).