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

SQL Server 2016:Zálohování databáze

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 SQL Server Management Studio.

Zde ukážu, jak vytvořit zálohu pomocí GUI SQL Server Management System, poté pomocí Transact-SQL a nakonec pomocí SQL Server Powershell.

Vytvořte zálohu prostřednictvím GUI

  1. Spusťte Zálohovací databázi Dialogové okno

    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.

  2. Zkontrolujte nastavení zálohování

    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 OK pro vytvoření zálohy.

    Zde můžete změnit databázi, pokud jste v předchozím kroku omylem vybrali špatnou.

  3. Zálohování dokončeno

    Po dokončení zálohování obdržíte zprávu.

    Klikněte na OK zavřete zprávu a dialogové okno.

    Záložní soubor bude nyní umístěn v určeném umístění.

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

  • Stejnou zálohu jako výše můžete provést pomocí 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.

    Ukázkový kód

    Níže je uveden příklad jednoduchého zálohovacího skriptu, který specifikuje databázi k zálohování a umístění, kam se má zálohovat.

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

    BACKUP DATABASE Music  
    TO DISK = 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak';

    Můžete vidět úplnou syntaxi BACKUP prohlášení na webu společnosti Microsoft.

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

SQL Server 2016 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.

  1. Otevřete PowerShell

    Klikněte pravým tlačítkem na databázi a vyberte Spustit Powershell .

  2. Spusťte příkaz Backup

    Zadejte příkaz pro vytvoření zálohy a stiskněte Enter (nebo Vrátit , v závislosti na vaší klávesnici).

    Záloha se spustí okamžitě.

    Ukázkový kód

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

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

    Backup-SqlDatabase -ServerInstance MyServer -Database Music

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

    Backup-SqlDatabase -ServerInstance MyServer -Database Music -BackupFile 'C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Backup\Music.bak'

    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 jste spustili všechny výše uvedené příklady přesně tak, jak jsou, možná jste si všimli, že při každém spuštění se velikost souboru zálohy zvětšila.

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áme stejný název souboru a výslovně jsme nestanovili, že každá záloha by měla přepsat jakýkoli existující soubor.

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

  • Pomocí GUI , klikněte na Možnosti médií v levé nabídce Zálohování databáze dialogovém okně 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.

Ukládání záložních 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. Jak mohu pomocí MySQL dotazovat mezi dvěma daty?

  2. SQLite JSON_ARRAY()

  3. JSON_VALUE() v MySQL

  4. Primární klíč SQL Kurz – Jak definovat primární klíč v databázi