Sdílet prostřednictvím


Zálohování transakčního protokolu při poškození databáze (SQL Server)

platí pro:SQL Server

Toto téma popisuje, jak zálohovat transakční protokol v případě poškození databáze v SQL Serveru pomocí SQL Server Management Studio nebo Transact-SQL.

v tomto tématu

Než začnete

Omezení a restrikce

  • Příkaz BACKUP není povolen v explicitní nebo implicitní transakci.

Doporučení

  • Pro databázi, která používá úplný nebo hromadně protokolovaný model obnovení, je obecně nutné zálohovat konec protokolu před zahájením obnovení databáze. Abyste mohli provést převzetí služeb v konfiguraci odesílání protokolu, měli byste také předem zálohovat konec protokolu primární databáze. Obnovení zálohy protokolu tail-log jako konečné zálohy protokolu před obnovením databáze zabrání ztrátě práce po selhání. Další informace o zálohování tail-log naleznete v tématu Tail-Log zálohování (SQL Server).

Bezpečnost

Dovolení

Oprávnění PROTOKOLU ZÁLOHOVÁNÍ a DATABÁZE ZÁLOHOVÁNÍ jsou výchozí pro členy správce systému pevné role serveru a db_owner a db_backupoperator pevné databázové role.

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í. SQL Server musí být schopen číst a zapisovat do zařízení; účet, pod kterým běží služba SQL Serveru, musí mít oprávnění k zápisu. sp_addumpdevice, který přidává položku pro zálohovací zařízení v systémových tabulkách, ale nekontroluje přístupová oprávnění k souborům. Takové problémy s fyzickým souborem zálohovaného zařízení se nemusí zobrazit, dokud nebude fyzický prostředek při pokusu o zálohování nebo obnovení přístupný.

Použití aplikace SQL Server Management Studio

Pro zálohování konce transakčního protokolu

  1. Po připojení k příslušné instanci databázového stroje Microsoft SQL Server v Průzkumníku objektů klikněte na název serveru a rozbalte strom serveru.

  2. 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.

  3. Klepněte pravým tlačítkem myši na databázi, přejděte na příkaz Úkolya potom klepněte na tlačítko Zálohovat. Zobrazí se dialogové okno Zálohovat databázi.

  4. V seznamu Databáze ověřte název databáze. Volitelně můžete vybrat jinou databázi ze seznamu.

  5. Ověřte, že model obnovení je FULL nebo BULK_LOGGED.

  6. V seznamu Typ zálohování vyberte Transakční protokol.

  7. Ponechejte Kopírování pouze zálohy nevybrané.

  8. V oblasti Nastavení zálohová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.

  9. Do textového pole Popis zadejte popis zálohy koncového protokolu.

  10. Určete, kdy sada záloh vyprší:

    • Pokud chcete, aby sada zálohování vypršela po určitém počtu dnů, klikněte na 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áloh 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 stránka). 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 záložní sady vypršela k určitému datu, klikněte na Dnea zadejte datum, kdy sada přestane platit.

  11. Vyberte typ cíle zálohování kliknutím na Disk nebo páska. Chcete-li vybrat cesty až k 64 diskovým nebo páskovým jednotkám obsahujícím jednu sadu médií, klikněte na tlačítko Přidat. Vybrané cesty se zobrazí v seznamu Zálohování pro.

    Pokud chcete 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 klikněte na Obsah.

  12. Na stránce Možnosti vyberte možnost Přepsat média kliknutím na jednu z následujících možností:

    • Zazálohovat do existující sady médií

      U této možnosti klikněte na Připojit k existující sadě záloh nebo Přepsat všechny existující sady zálohování.

      Pokud chcete, můžete vybrat Kontrola názvu souboru médií a vypršení platnosti souboru záloh, aby operace zálohování ověřila datum a čas, kdy soubor médií a soubor záloh vyprší.

      Volitelně můžete zadat 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 oproti médiu, úspěchem bude, když bude název média na médiu 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 popisu nové sady médií textovém poli.

    Další informace o možnostech sady médií naleznete v tématu Sady médií, rodiny médií a sady zálohování (SQL Server).

  13. V části Spolehlivost volitelně zkontrolujte:

    • Ověřte zálohu po dokončení.

    • Proveďte kontrolní součet před zápisem na média.

    • 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).

  14. V oddílu transakčního protokolu zkontrolujte, zazálohujte konec protokolu a ponechte databázi v režimu obnovy.

    Je to ekvivalent k zadání následujícího příkazu BACKUP:

    BACKUP LOG <database_name> TO <backup_device> WITH NORECOVERY

    Důležitý

    V době obnovení dialogové okno Obnovit databázi zobrazí typ zálohy protokolu tail-log jako transakční protokol (pouze kopírování).

  15. Pokud zálohujete na páskovou jednotku (jak je uvedeno v části Cíl stránky Obecné), je možnost Vyjmout pásku po zálohování aktivní. Kliknutím na tuto možnost aktivujete možnost Převinout pásku před vyložením.

  16. SQL Server 2008 (10.0.x) Enterprise a novější podporuje kompresi záloh. Ve výchozím nastavení závisí, zda je záloha komprimovaná, na hodnotě serverové konfigurační volby výchozí komprese zálohování . Bez ohledu na aktuální výchozí nastavení na úrovni serveru však můžete komprimovat zálohování kontrolou Komprimovat zálohovánía můžete zabránit kompresi kontrolou Nekomprimovat zálohování.

    Zobrazit aktuální výchozí kompresi záloh

Použití Transact-SQL

Vytvoření zálohy aktuálně aktivního transakčního protokolu

  1. Spusťte příkaz BACKUP LOG pro zálohování aktuálně aktivního transakčního protokolu, který určuje:

    • Název databáze, do které patří transakční protokol, který se má zálohovat.

    • Zálohovací zařízení, do kterého se zapíše záloha transakčního protokolu.

    • Klauzule NO_TRUNCATE.

      Tato klauzule umožňuje aktivní část transakčního protokolu zálohovat, i když je databáze nepřístupná za předpokladu, že soubor transakčního protokolu je přístupný a nepoškozený.

Příklad (Transact-SQL)

Poznámka

Tento příklad používá AdventureWorks2022, který používá jednoduchý model obnovení. Pro povolení zálohování protokolů byla databáze nastavena na používání úplného modelu obnovení před provedením úplného zálohování databáze. Další informace naleznete v tématu Zobrazení nebo změna modelu obnovení databáze (SQL Server).

Tento příklad zálohuje aktuálně aktivní transakční protokol, pokud je databáze poškozena a nepřístupná, pokud je transakční protokol nepoškozen a přístupný.

BACKUP LOG AdventureWorks2022  
   TO MyAdvWorks_FullRM_log1  
   WITH NO_TRUNCATE;  
GO  

Viz také

Obnovení Zálohy Transakčního Protokolu (SQL Server)
obnovení databáze SQL Serveru k určitému bodu v čase (úplný model obnovení)
zálohování databáze (stránka Možností zálohování)
Zálohování Databáze (Obecná Stránka)
Použití záloh transakčních protokolů (SQL Server)
BACKUP (Transact-SQL)
obnovení souborů (jednoduchý model obnovení)
obnovení souborů (úplný model obnovení)