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, jak vytvořit diferenciální databázovou zálohu v SQL Server pomocí SQL Server Management Studio, Transact-SQL nebo PowerShell.
Přehled konceptů a úkolů zálohování najdete v přehledu zálohování (SQL Server).
Požadavky
Diferenciální záloha databáze vyžaduje předchozí kompletní zálohu databáze. Pokud databáze žádnou nemá, udělejte si nejdřív kompletní zálohu databáze. Další informace naleznete v tématu Vytvoření úplné zálohy databáze.
Doporučení
Protože diferenciální zálohy se v průběhu času zvětšují, obnova diferenciální zálohy může výrazně prodloužit dobu obnovení databáze. Dělejte novou plnou zálohu v nastavených intervalech, abyste vytvořili novou diferenciální základnu.
Například můžete dělat týdenní kompletní zálohu databáze, následovanou denními diferenciálními zálohami během týdne.
Limitations
Nemůžete použít BACKUP toto tvrzení v explicitní ani implicitní transakci.
Povolení
BACKUP DATABASE a BACKUP LOG oprávnění jsou výchozí pro členy role pevného správce systému a pro pevné databázové role db_owner a db_backupoperator .
Účet služby SQL Server musí mít oprávnění ke čtení a zápisu fyzického souboru záložního zařízení. Problémy s vlastnictvím nebo oprávněními k tomuto souboru brání zálohovacím a obnovovacím operacím a objevují se pouze při spuštění zálohy nebo obnovy.
Například procedura sp_addumpdevice systémově uložené, která přidává záznam záložního zařízení do systémových tabulek, nevaliduje přístup k souboru.
Použití aplikace SQL Server Management Studio
V Průzkumník objektů se připojte k Database Engine a poté rozbalte serverový strom.
Rozbalte databáze a poté 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. Zobrazí se dialogové okno Zálohovat databázi.
V rozbalovacím seznamu databáze ověřte název databáze. Volitelně vyberte jinou databázi.
Diferenciální zálohu můžete provést s jakýmkoli modelem obnovy (plným, hromadně logovaným nebo jednoduchým).
V rozbalovacím seznamu typů záloh vyberte Diferenciální.
Důležitý
Když vyberete Diferenciální, ujistěte se, že políčko Záloha pouze pro kopírování není zaškrtnuté. Na úplné záloze typu copy-only nelze vytvořit diferenciální zálohu. Další informace viz Pouze kopie záloh.
Pro komponentu Záloha vyberte Databáze.
V textovém poli Název přijměte výchozí název zálohovací sady nebo zadejte nový.
Volitelně zadejte popis do textového pole Popis .
Specifikujte, kdy záložní sada vyprší:
Pro vypršení zálohovací sady po určitém počtu dní vyberte po (výchozí) a zadejte počet dní. Hodnoty se pohybují od
0do .99999Hodnota0znamená, že sada záloh nikdy nevyprší.Výchozí hodnota je nastavena v možnosti Výchozí záloha uchování médií (v dnech) na stránce Nastavení databáze v dialogovém okně Vlastnosti serveru . Pro otevření klikněte pravým tlačítkem na název serveru v Průzkumník objektů, vyberte Vlastnosti a poté vyberte stránku Nastavení databáze.
Pro vypršení záložní sady na konkrétní datum vyberte Zapnuto a zadejte datum.
Pro cíl zálohy vyberte Disk nebo URL. Pro přidání až 64 diskových jednotek pro jednu sadu médií vyberte Přidat. Vybrané cesty se zobrazí v rozevíracím seznamu Záloha do.
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.
Poznámka
Další informace o zálohování na adresu URL najdete v článku Zálohování SQL Serveru na adresu URL pro Azure Blob Storage.
Pokud chcete zobrazit nebo vybrat pokročilé možnosti, vyberte Možnosti v panelu Vyberte stránku.
Pro Overwrite Media vyberte jednu z následujících možností:
Zálohovat do existující sady médií
Vyberte buď Připojit k existující záložní sadě , nebo Přepsat všechny existující zálohovací sady. Volitelně zaškrtněte políčko Zkontrolovat název sady médií a vypršení platnosti zálohovací sady a do textového pole Název sady médií zadejte název.
Pokud nespecifikujete název, SQL Server vytvoří mediální sadu s prázdným názvem. Pokud zadáte název, SQL Server ověří médium, aby potvrdil, že se název shoduje.
Pokud necháte jméno média prázdné a zaškrtnete políčko, zaškrtnutí uspěje pouze tehdy, pokud je jméno 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
Zadejte jméno do textového pole pro název nové mediální sady . Volitelně popište množinu médií v textovém poli popisu nové mediální sady .
V sekci Spolehlivost volitelně vybrat:
Ověření zálohování po dokončení.
Ověřit kontrolní součet před zápisem na médium a volitelně Pokračovat i 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).
SQL Server podporuje kompresi záloh. Ve výchozím nastavení SQL Server komprimuje zálohy podle volby konfigurace serveru
backup-compression default. Bez ohledu na výchozí nastavení na úrovni serveru vyberte Kompresovat zálohu pro kompresi zálohy, nebo zvolit Nekomprimovat zálohu , abyste zabránili kompresi.Pokud chcete zobrazit aktuální výchozí kompresi záloh, přečtěte si téma Konfigurace serveru: výchozí komprese zálohování. Pro více informací o kompresi záloh viz Komprese záloh (SQL Server).
Remarks
Můžete použít Průvodce údržbovým plánem k vytvoření diferenciálních záloh databází.
Možnosti sekce Transakčního logu jsou neaktivní, pokud nezálohujete transakční log. Tuto možnost zadejte v sekci Typ zálohy na stránce Obecné .
Použijte Transact-SQL
Proveďte BACKUP DATABASE příkaz pro vytvoření diferenciální databázové zálohy. Specifikovat:
Název databáze, která se má zálohovat.
Zálohovací zařízení, kde se zapisuje úplné zálohování databáze.
Klauzule
DIFFERENTIALzálohovat pouze části databáze, které se změnily po poslední kompletní záloze databáze.
Použijte tuto syntaxi:
BACKUP DATABASE
database_nameTO< backup_device>WITH DIFFERENTIAL
Příklad (Transact-SQL)
Ukázky kódu v tomto článku používají ukázkovou databázi nebo AdventureWorksDW2025, kterou si můžete stáhnout z repozitáře GitHub AdventureWorks2025.
-- Create a full database backup first.
BACKUP DATABASE AdventureWorks2025
TO AdventureWorks2025_1
WITH INIT;
GO
-- Time elapses.
-- Create a differential database backup, appending the backup
-- to the backup device containing the full database backup.
BACKUP DATABASE AdventureWorks2025
TO AdventureWorks2025_1
WITH DIFFERENTIAL;
GO
Remarks
Pro informace o zálohování na pásku viz BACKUP možnosti pásky a příklad zařízení zálohování na pásku v sekci Vytvořit plnou databázovou zálohu.
Poznámka
Možnost TAPE bude odebrána v budoucí verzi SQL Server. Nepoužívejte tuto funkci v nové vývojové práci a naplánujte úpravu aplikací, které tuto funkci aktuálně používají.
Použijte PowerShell
Použijte cmdlet Backup-SqlDatabase. Pro specifikaci diferenciální databázové zálohy použijte -Incremental parametr spolu s .-BackupAction Database
Poznámka
Tento příklad vyžaduje modul SqlServer. Další informace naleznete u poskytovatele PowerShellu SQL Serveru .
Příklad (PowerShell)
Následující příklad vytváří diferenciální databázovou zálohu databáze AdventureWorks2025 na výchozí místo zálohy serverové instance Computer\Instance. Kompletní databázová záloha musí již existovat.
Úplné příklady syntaxe najdete v tématu Backup-SqlDatabase.
$credential = Get-Credential
Backup-SqlDatabase -ServerInstance Computer[\Instance] -Database AdventureWorks2025 -BackupAction Database -Incremental -Credential $credential