sql >> Databáze >  >> RDS >> Sqlserver

Zálohujte databázi na SQL Server 2017

SQL Server poskytuje snadný způsob, jak vytvořit zálohu databáze. Zálohování lze provádět buď pomocí Transact-SQL, PowerShell, nebo prostřednictvím GUI.

Zde ukážu, jak vytvořit zálohu pomocí GUI SQL Operations Studio (nyní nazývaného Azure Data Studio), poté pomocí Transact-SQL a nakonec pomocí SQL Server Powershell.

Vytvořte zálohu prostřednictvím GUI SQLOPS/Azure Data Studio

  1. Otevřete řídicí panel databáze

    V levém podokně klikněte pravým tlačítkem na databázi, kterou chcete zálohovat, a vyberte Spravovat .

    Pokud používáte SSMS, v Průzkumníku objektů klikněte pravým tlačítkem na databázi, kterou chcete zálohovat, a vyberte Úkoly> Zálohovat... z kontextové nabídky. Tím se spustí Zálohovací databáze dialogové okno.

  2. Spusťte Záložní databázi Dialogové okno

    Klikněte na Záloha knoflík.

  3. Zkontrolujte nastavení

    Toto dialogové okno vám dává možnost v případě potřeby změnit jakékoli nastavení.

    Pro náš příklad ponechte výchozí nastavení a klikněte na Zálohovat pro vytvoření zálohy.

    Pokud máte specifické požadavky na zálohování, můžete změnit typ zálohy a/nebo kliknout na Pokročilá konfigurace upravte pokročilá nastavení konfigurace.

  4. Zálohování dokončeno

    Po dokončení zálohování se zobrazí zpráva potvrzující, že zálohování proběhlo úspěšně.

Zálohování databáze pomocí Transact-SQL

Stejné zálohování jako výše můžete provést pomocí T-SQL.

Chcete-li to provést, otevřete nové okno dotazu a spusťte BACKUP prohlášení.

BACKUP příkaz přijímá různé možnosti (stejně jako možnost GUI), ale můžete také spustit jednoduchou zálohu s minimem kódu.

Níže je uveden příklad jednoduchého zálohovacího skriptu v systému Linux nebo Mac. Skript specifikuje databázi k zálohování a umístění, kam se má zálohovat.

BACKUP DATABASE Music  
TO DISK = '/var/opt/mssql/data/Music.bak';

V systému Windows bude cesta používat zpětná lomítka:

BACKUP DATABASE Music  
TO DISK = 'C:\Backups\Music.bak';

Po spuštění tohoto kódu bude záložní soubor umístěn v určeném umístění.

Zálohujte databázi pomocí prostředí PowerShell

SQL Server 2017 podporuje Windows PowerShell, což je skriptovací prostředí, které se obvykle používá k automatizaci úloh správy a nasazení.

Jazyk PowerShell podporuje složitější logiku než skripty Transact-SQL, což vám dává možnost vytvářet sofistikovanější skripty pro zálohování a další úkoly.

Následující kód vytvoří zálohu stejně jako předchozí příklady. Stačí nahradit MyServer s názvem vašeho serveru.

Backup-SqlDatabase -ServerInstance MyServer -Database Music

Můžete také určit umístění

Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Backups\Music.bak'

Po spuštění tohoto kódu bude záložní soubor umístěn ve výchozím umístění.

Můžete také zadat -BackupAction Database výslovně uvést, že se jedná o plnou zálohu. Toto je však výchozí možnost.

Můžete si prohlédnout úplnou dokumentaci Backup-SqlDatabase příkaz na webu společnosti Microsoft.

Přepsání záložních souborů

Pokud provádíte více záloh pomocí stejného názvu souboru zálohy, můžete si všimnout, že při každém spuštění zálohy se velikost souboru zálohy zvětší.

Je to proto, že každá následující záloha se sama přidává do existujícího souboru. Dělá to proto, že používáte stejný název souboru a výslovně jste nestanovili, že každá záloha má přepsat jakýkoli existující soubor.

Existuje možnost, která vám umožní přepsat existující soubor.

  • Pomocí GUI SQLOPS , klikněte na Pokročilá konfigurace a pod Zálohovat do existující sady médií , vyberte Přepsat všechny existující sady záloh .
  • Pomocí GUI SSMS , klikněte na Možnosti médií v levé nabídce Zálohování databáze dialogové okno a vyberte Přepsat všechny existující sady záloh v Přepsat média sekce.
  • Pomocí SQL přidat WITH INIT na příkaz SQL.
  • Pomocí Powershell , přidejte -Initialize k příkazu.

Používání jedinečných názvů souborů

Často je však dobré vytvořit úplnou zálohu s jedinečným názvem souboru (obvykle včetně data v názvu souboru). Jedinečný název souboru znamená, že každá záloha bude samostatný soubor.

V závislosti na velikosti vaší databáze a na tom, kolik nových dat se do ní zadává, možná budete chtít doplnit své plné zálohy rozdílovými zálohami. Rozdílová záloha zachycuje pouze data, která se změnila od poslední plné zálohy.


  1. Více CTE v jednom dotazu

  2. Laravel Eloquent vs query builder – Proč používat eloquent ke snížení výkonu

  3. Přehled typů SQL Join s příklady

  4. Jak funguje WEEKDAY() v MariaDB