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
azure SQL Managed Instance
Tento článek představuje koncepty, požadavky a komponenty potřebné k použití služby Azure Blob Storage jako cíle zálohování. Funkce zálohování a obnovení jsou stejné nebo podobné při použití DISK nebo TAPEs několika rozdíly. Tyto rozdíly a několik příkladů kódu jsou součástí tohoto článku.
Tip
Počínaje SQL Serverem 2025 (17.x) můžete zálohovat adresu URL se spravovanou identitou. Prozkoumejte zálohování pomocí adresy URL se spravovanou identitou (náhled) – SQL Server s podporou Azure Arc.
Overview
SQL Server 2012 Service Pack 1 CU2 a SQL Server 2014 zavedl možnost zálohovat na adresu URL, která odkazuje na Azure Blob Storage, pomocí známé syntaxe T-SQL k bezpečnému zápisu záloh do úložiště Azure. SQL Server 2016 (13.x) zavedl File-Snapshot zálohování databázových souborů v Azure a zabezpečení prostřednictvím klíčů sdíleného přístupového podpisu (SAS), bezpečného a jednoduchého způsobu ověřování certifikátů v zásadách zabezpečení služby Azure Storage.
Je důležité porozumět komponentám a interakci mezi nimi, abyste provedli zálohování nebo obnovení ze služby Azure Blob Storage.
Prvním krokem tohoto procesu je vytvoření účtu služby Azure Storage ve vašem předplatném Azure. Tento účet úložiště je účet pro správu, který má úplná oprávnění správce pro všechny kontejnery a objekty vytvořené pomocí účtu úložiště. SQL Server může buď použít název účtu úložiště Azure a jeho hodnotu přístupového klíče k ověřování a zápisu a čtení objektů blob ve službě Azure Blob Storage, nebo použít token sdíleného přístupového podpisu vygenerovaný u konkrétních kontejnerů, které mu udělují oprávnění ke čtení a zápisu. Další informace o účtech azure Storage najdete v tématu Účty úložiště Azure a další informace o sdílených přístupových podpisech najdete v tématu Sdílené přístupové podpisy, část 1: Principy modelu SAS. Přihlašovací údaje SQL Serveru ukládají tyto ověřovací informace a používají se během operací zálohování nebo obnovení.
Úložiště kompatibilní se službou Azure Storage a S3
SQL Server 2022 (16.x) zavádí možnost zápisu záloh do úložiště objektů kompatibilních s S3, přičemž funkce zálohování a obnovení se koncepčně podobají práci se službou Backup na adresu URL, která používá Azure Blob Storage jako typ záložního zařízení. SQL Server 2022 (16.x) rozšiřuje BACKUP/RESTORE TO/FROM URL syntaxi přidáním podpory nového konektoru S3 pomocí rozhraní REST API.
Tento článek obsahuje informace o použití služby Backup k adrese URL pro Azure Blob Storage. Další informace o použití služby Backup na adresu URL pro úložiště kompatibilní s S3 najdete v tématu Zálohování sql Serveru na adresu URL pro úložiště objektů kompatibilní s S3.
Zálohování do blokového objektu blob služby Azure Storage vs. stránkového objektu blob
Ve službě Azure Blob Storage je možné ukládat dva typy objektů blob: blokové a stránkové objekty blob. Pro SQL Server 2016 a novější se doporučuje používat blokový blob.
Pokud se klíč úložiště používá v přihlašovacích údajích, používá se blob stránky; pokud se používá sdílený přístupový podpis, používá se blob bloku.
Zálohování do objektu blob bloku je k dispozici pouze ve verzi SQL Serveru 2016 nebo novější pro zálohování do služby Azure Blob Storage. Pokud používáte SQL Server 2016 nebo novější, zálohujte do bloku blob místo stránky blob.
Hlavní důvody jsou:
- Sdílený přístupový podpis představuje bezpečnější způsob autorizace přístupu k objektům blob v porovnání s klíčem úložiště.
- Můžete zálohovat do více blokových blobů, abyste zlepšili výkon zálohování a obnovení a podpořili zálohování větších databází.
- Blob bloku je levnější než blob stránky.
- Zákazníci, kteří potřebují zálohování stránkovacích blobů přes proxy server, musí použít
backuptourl.exe.
Zálohování velké databáze do služby Azure Blob Storage podléhá omezením uvedeným v rozdílech, omezeních a známých problémech ve službě Azure SQL Managed Instance T-SQL.
Pokud je databáze příliš velká, buď:
- Použití komprese záloh nebo
- Zálohování do více blokových blobů
Podpora pro Linux, kontejnery a spravovanou instanci SQL povolenou službou Azure Arc
Pokud je instance SQL Serveru hostovaná v Linuxu, včetně následujících:
- Samostatný operační systém
- Containers
- Spravovaná instance SQL povolená službou Azure Arc
- Jakékoli jiné linuxové prostředí
Jediným podporovaným způsobem zálohování do URL pro Azure Blob Storage je použití blokových objektů blob pomocí sdíleného přístupového podpisu.
Azure Blob Storage
Účet úložiště: Účet úložiště je výchozím bodem pro všechny služby úložiště. Pokud chcete získat přístup ke službě Azure Blob Storage, nejprve vytvořte účet úložiště Azure. Další informace najdete v tématu Vytvoření účtu úložiště.
Kontejner: Kontejner poskytuje seskupení sady objektů blob a může ukládat neomezený počet objektů blob. Pokud chcete napsat zálohu SQL Serveru do služby Azure Blob Storage, musíte mít vytvořený aspoň kořenový kontejner. Token sdíleného přístupového podpisu můžete v kontejneru vygenerovat a udělit přístup k objektům pouze v konkrétním kontejneru.
Kapka: Soubor libovolného typu a velikosti. Ve službě Azure Blob Storage je možné ukládat dva typy objektů blob: blokové a stránkové objekty blob. Zálohování SQL Serveru může v závislosti na použité syntaxi Transact-SQL použít některý typ objektu blob. Objekty blob jsou adresovatelné pomocí následujícího formátu adresy URL: https://< storage account.blob.core.windows.net/>< container>/<blob>. Další informace o službě Azure Blob Storage najdete v tématu Úvod do služby Azure Blob Storage. Další informace o stránkových a blokových blozích najdete v tématu Pochopení blokových a stránkových blobů.
Snímek Azure: Snímek objektu blob Azure pořízeného v určitém okamžiku Další informace najdete v tématu Vytvoření snímku objektu blob. Zálohování SQL Serveru teď podporuje zálohy snímků databází uložených ve službě Azure Blob Storage. Další informace najdete v tématu File-Snapshot Zálohování databázových souborů v Azure.
Komponenty SQL Serveru
Adresa URL: Adresa URL určuje identifikátor URI (Uniform Resource Identifier) pro jedinečný záložní soubor. Adresa URL slouží k zadání umístění a názvu záložního souboru SQL Serveru. Adresa URL musí odkazovat na skutečný objekt blob, nejen na kontejner. Pokud blob neexistuje, vytvoří se. Pokud je zadaný existující objekt blob, BACKUP selže, pokud není zadána možnost WITH FORMAT pro přepsání existujícího záložního souboru v objektu blob.
Tady je ukázková hodnota adresy URL: https://ACCOUNTNAME.blob.core.windows.net/<CONTAINER>/FILENAME.bak.
Note
Zálohování na adresu URL pomocí protokolu HTTP se nepodporuje.
Pověření: Přihlašovací údaje SQL Serveru jsou objekt, který slouží k ukládání ověřovacích informací potřebných k připojení k prostředku mimo SQL Server. Tady procesy zálohování a obnovení SQL Serveru používají přihlašovací údaje k ověření ve službě Azure Blob Storage a jejích kontejnerech a objektech blob. Přihlašovací údaje ukládají název účtu úložiště a hodnoty přístupového klíče účtu úložiště nebo adresu URL kontejneru a token sdíleného přístupového podpisu. Po vytvoření přihlašovacího oprávnění syntaxe příkazů BACKUP/RESTORE určuje typ objektu blob a požadované oprávnění.
Příklad vytvoření sdíleného přístupového podpisu najdete v části Vytvoření příkladů sdíleného přístupového podpisu dále v tomto článku a vytvoření přihlašovacích údajů SYSTÉMU SQL Server v části Vytvoření příkladů přihlašovacích údajů dále v tomto článku.
Další informace o přihlašovacích údaji najdete v tématu
Informace o dalších příkladech, kde se používají přihlašovací údaje, najdete v tématu Vytvoření proxy agenta SQL Serveru.
Podpora neměnného úložiště Azure
SQL Server 2025 (17.x) zavádí podporu neměnného úložiště Azure, které chrání před útoky ransomwarem. Soubory zapsané do neměnného úložiště nelze upravit ani odstranit, jak je definováno neměnností.
Zálohy SQL Serveru se obvykle vytvářejí ve dvou krocích. Zpočátku se .bak záložní soubor vytvoří s nulami a pak se soubor aktualizuje daty. Vzhledem k tomu, že úpravy souborů v neměnném úložišti nejsou po zápisu a potvrzení souboru povoleny, proces zálohování teď přeskočí počáteční krok k vytvoření záložního souboru s nulami. Místo toho se při zápisu do blokových objektů blob celá záloha vytvoří v jednom kroku.
Pokud chcete použít neměnné úložiště se zálohováním SQL Serveru 2025 (17.x) na adresu URL, postupujte takto:
Nakonfigurujte neměnnost kontejneru úložiště Azure.
Vyžádejte zálohu databáze do kontejneru úložiště Azure. Pokud použijete
WITH FORMATmožnost v neměnném úložišti a záloha už existuje se stejným názvem, zobrazí se chyba a zálohování selže.BACKUP DATABASE [<Database>] TO URL = '<url>';
Zabezpečení pro Azure Blob Storage
Tady jsou aspekty zabezpečení a požadavky při zálohování nebo obnovení ze služby Azure Blob Storage.
Při vytváření kontejneru pro Azure Blob Storage doporučujeme nastavit přístup k privátnímu. Nastavení přístupu k privátnímu přístupu omezuje přístup k uživatelům nebo účtům, kteří můžou poskytnout potřebné informace pro ověření účtu Azure.
Important
SQL Server vyžaduje, aby byl v přihlašovacích údajích SQL Serveru uložený název účtu Azure a ověřování přístupového klíče nebo sdílený přístupový podpis a přístupový token. Tyto informace slouží k ověření účtu Azure při provádění operací zálohování nebo obnovení.
Warning
Služba Azure Storage podporuje možnost zablokování autorizace pomocí sdíleného klíče pro účet úložiště. Pokud je autorizace sdíleného klíče zakázaná, zálohování SQL Serveru na adresu URL nebude fungovat.
Uživatelský účet, který se používá k vydávání
BACKUPneboRESTOREpříkazů, by měl být v databázové roli db_backup operátor s oprávněními Alter jakékoliv přihlašovací údaje.
Omezení zálohování a obnovení do služby Azure Blob Storage
SQL Server omezuje maximální podporovanou velikost zálohy s využitím objektu blob stránky na 1 TB. Maximální podporovaná velikost zálohování pomocí blokových blobů je omezená na přibližně 200 GB (50 000 bloků × 4 MB
MAXTRANSFERSIZE). Objekty blob bloku podporují prokládání pro podporu podstatně větších velikostí zálohování – limit je maximálně 64 adres URL, což vede k následujícímu vzorci:64 stripes * 50,000 blocks * 4MB maxtransfersize = 12.8 TBImportant
Ačkoliv maximální velikost zálohování podporovaná blokovým blobem je 200 GB, SQL Server může zapisovat v menších velikostech bloků, což může vést k dosažení limitu 50 000 bloků ještě před tím, než je celá záloha přenesena. Rozdělte zálohy (i když jsou menší než 200 GB) pro vyhnutí se limitu bloků, zvláště pokud používáte rozdílové nebo nekomprimované zálohy.
Příkazy pro zálohování nebo obnovení můžete vydávat pomocí transact-SQL, SMO, rutin PowerShellu nebo průvodce zálohováním nebo obnovením aplikace SQL Server Management Studio.
Při zálohování do účtu azure Storage SQL Server podporuje ověřování pouze pomocí tokenů sdíleného přístupového podpisu (SAS) nebo klíčů účtu úložiště. Všechny ostatní metody ověřování, včetně ověřování s ID Microsoft Entra (dříve Azure Active Directory), nejsou podporované.
Vytvoření názvu logického zařízení se nepodporuje. Není podporováno přidání adresy URL jako zálohovacího zařízení pomocí
sp_dumpdevicenebo prostřednictvím SQL Server Management Studio.Připojení k existujícím objektům blob zálohování se nepodporuje. Zálohy do existujícího objektu blob je možné přepsat pouze pomocí této
WITH FORMATmožnosti. Pokud ale používáte zálohy snímků souborů (pomocí argumentuWITH FILE_SNAPSHOT), argumentWITH FORMATnení povolený, aby se zabránilo vzniku osiřelých snímků souborů vytvořených pomocí původní zálohy snímku souboru.Zálohování do více objektů blob v rámci jedné operace zálohování je podporováno pouze pomocí blokových objektů blob a tokenu sdíleného přístupového podpisu (SAS) místo klíče účtu úložiště pro SQL pověření.
Zadání
BLOCKSIZEnení podporováno pro objekty blob stránky.Určení
MAXTRANSFERSIZEnení podporováno pro bloby stránky.Určení možností zálohovací sady –
RETAINDAYSaEXPIREDATEnejsou podporované.SQL Server má maximální limit 259 znaků pro název zálohovaného zařízení. Pro
BACKUP TO URLpožadované prvky určující adresu URLhttps://.blob.core.windows.net//.bakse spotřebuje 36 znaků, což ponechává 223 znaků pro názvy účtů, kontejnerů a blobů.SQL Server 2019 (15.x) a starší verze mají pro tokeny sdíleného přístupového podpisu (SAS) limit 256 znaků, což omezuje typ tokenů, které je možné použít (například tokeny klíče delegování uživatele se nepodporují).
Pokud váš server přistupuje k Azure přes proxy server, musíte použít příznak trasování 1819 a pak nastavit konfiguraci proxy serveru WinHTTP pomocí jedné z následujících metod:
- Nástroj proxycfg.exe v systému Windows XP nebo Windows Server 2003 a starších verzích.
- Nástroj netsh.exe v systémech Windows Vista a Windows Server 2008 nebo novějších.
Neměnné úložiště pro Azure Blob Storage se nepodporuje. Nastavte zásady neměnného úložiště na false.
Zálohování na adresu URL není podporováno ve službě Premium Storage.
Podporované argumenty a příkazy ve službě Azure Blob Storage
Podpora příkazů zálohování a obnovení ve službě Azure Blob Storage
| Příkaz Backup/Restore | Supported | Exceptions | Comments |
|---|---|---|---|
BACKUP |
Yes |
BLOCKSIZE a MAXTRANSFERSIZE jsou podporovány pro blokové BLOBy. Nejsou podporované pro stránkové bloby. |
BACKUP objektu blob bloku vyžaduje sdílený přístupový podpis uložený v přihlašovacích údajích SQL Serveru.
BACKUP objekt blob stránky vyžaduje klíč účtu úložiště uložený v přihlašovacích údajích SQL Serveru a vyžaduje zadání argumentu WITH CREDENTIAL . |
RESTORE |
Yes | Vyžaduje definování přihlašovacích údajů SQL Serveru a vyžaduje zadání argumentu WITH CREDENTIAL , pokud je přihlašovací údaje SQL Serveru definované pomocí klíče účtu úložiště jako tajného klíče. |
|
RESTORE FILELISTONLY |
Yes | Vyžaduje definování přihlašovacích údajů SQL Serveru a vyžaduje zadání argumentu WITH CREDENTIAL , pokud je přihlašovací údaje SQL Serveru definované pomocí klíče účtu úložiště jako tajného klíče. |
|
RESTORE HEADERONLY |
Yes | Vyžaduje definování přihlašovacích údajů SQL Serveru a vyžaduje zadání argumentu WITH CREDENTIAL , pokud je přihlašovací údaje SQL Serveru definované pomocí klíče účtu úložiště jako tajného klíče. |
|
RESTORE LABELONLY |
Yes | Vyžaduje definování přihlašovacích údajů SQL Serveru a vyžaduje zadání argumentu WITH CREDENTIAL , pokud je přihlašovací údaje SQL Serveru definované pomocí klíče účtu úložiště jako tajného klíče. |
|
RESTORE VERIFYONLY |
Yes | Vyžaduje definování přihlašovacích údajů SQL Serveru a vyžaduje zadání argumentu WITH CREDENTIAL , pokud je přihlašovací údaje SQL Serveru definované pomocí klíče účtu úložiště jako tajného klíče. |
|
RESTORE REWINDONLY |
No |
Syntaxe a obecné informace o příkazech zálohování najdete v tématu BACKUP.
Syntaxe a obecné informace o příkazech restore naleznete v tématu PŘÍKAZY RESTORE.
Podpora argumentů zálohování ve službě Azure Blob Storage
| Argument | Supported | Exception | Comments |
|---|---|---|---|
DATABASE |
Yes | ||
LOG |
Yes | ||
TO (URL) |
Yes | Na rozdíl od DISK a TAPE adresy URL nepodporují zadávání ani vytváření logického názvu. |
Tento argument slouží k určení cesty URL záložního souboru. |
MIRROR TO |
Yes | ||
WITH volby: |
|||
CREDENTIAL |
Yes |
WITH CREDENTIAL se podporuje pouze při použití BACKUP TO URL možnosti zálohování do služby Azure Blob Storage a pouze v případě, že jsou přihlašovací údaje SQL Serveru definované pomocí klíče účtu úložiště jako tajného klíče. |
|
FILE_SNAPSHOT |
Yes | ||
ENCRYPTION |
Yes |
WITH ENCRYPTION Pokud je argument zadán, SQL Server File-Snapshot Backup zajišťuje, že celá databáze byla před provedením zálohování zašifrována pomocí TDE, a pokud ano, zašifruje samotný soubor zálohy snímku pomocí algoritmu specifikovaného pro TDE v databázi. Pokud všechna data v databázi v celé databázi nejsou šifrovaná, zálohování selže (například proces šifrování ještě není dokončený). |
|
DIFFERENTIAL |
Yes | ||
COPY_ONLY |
Yes | ||
COMPRESSION|NO_COMPRESSION |
Yes | Zálohování snímků souborů se nepodporuje. | |
DESCRIPTION |
Yes | ||
NAME |
Yes | ||
EXPIREDATE | RETAINDAYS |
No | ||
NOINIT | INIT |
No | Přidávání k blobům není možné. Pokud chcete přepsat zálohu, použijte WITH FORMAT argument. Pokud ale používáte zálohy snímků souborů (pomocí argumentu WITH FILE_SNAPSHOT), argument WITH FORMAT není povolen, aby se zabránilo vzniku osiřelých snímků souborů, které byly vytvořeny s původní zálohou. |
|
NOSKIP | SKIP |
No | ||
NOFORMAT | FORMAT |
Yes | Zálohování pořízené do existujícího objektu blob selže, pokud WITH FORMAT není zadáno. Existující objekt blob se přepíše při zadání WITH FORMAT. Pokud ale používáte zálohy snímků souborů (pomocí argumentu WITH FILE_SNAPSHOT), argument FORMAT není povolený, aby se zabránilo vzniku osiřelých snímků souborů vytvořených pomocí původní zálohy snímku souboru. Pokud ale používáte zálohy snímků souborů (pomocí argumentu WITH FILE_SNAPSHOT), argument WITH FORMAT není povolen, aby se zabránilo vzniku osiřelých snímků souborů, které byly vytvořeny s původní zálohou. |
|
MEDIADESCRIPTION |
Yes | ||
MEDIANAME |
Yes | ||
BLOCKSIZE |
Yes | Nelze použít pro objekt blob stránky. Podporováno pro blokový blob. | Doporučujeme BLOCKSIZE=65536 optimalizovat použití 50 000 bloků povolených v blokovém blobu. |
BUFFERCOUNT |
Yes | ||
MAXTRANSFERSIZE |
Yes | Nelze použít pro objekt blob stránky. Podporováno pro blokový blob. | Výchozí hodnota je 1048576. Hodnota může být v rozsahu až 4 MB v přírůstcích po 65 536 bajtů. Doporučujeme MAXTRANSFERSIZE=4194304 optimalizovat použití 50 000 bloků povolených v blokovém blobu. |
NO_CHECKSUM | CHECKSUM |
Yes | ||
STOP_ON_ERROR | CONTINUE_AFTER_ERROR |
Yes | ||
STATS |
Yes | ||
REWIND | NOREWIND |
No | ||
UNLOAD | NOUNLOAD |
No | ||
NORECOVERY | STANDBY |
Yes | ||
NO_TRUNCATE |
Yes |
Další informace o argumentech zálohování najdete v tématu ZÁLOHOVÁNÍ.
Podpora argumentů obnovení ve službě Azure Blob Storage
| Argument | Supported | Exceptions | Comments |
|---|---|---|---|
DATABASE |
Yes | ||
LOG |
Yes | ||
FROM (URL) |
Yes | Argument FROM URL slouží k zadání cesty URL záložního souboru. |
|
WITH volby: |
|||
CREDENTIAL |
Yes |
WITH CREDENTIAL podporuje se pouze při použití RESTORE FROM URL možnosti obnovení ze služby Azure Blob Storage. |
|
PARTIAL |
Yes | ||
RECOVERY | NORECOVERY | STANDBY |
Yes | ||
LOADHISTORY |
Yes | ||
MOVE |
Yes | ||
REPLACE |
Yes | ||
RESTART |
Yes | ||
RESTRICTED_USER |
Yes | ||
FILE |
No | ||
PASSWORD |
Yes | ||
MEDIANAME |
Yes | ||
MEDIAPASSWORD |
Yes | ||
BLOCKSIZE |
Yes | ||
BUFFERCOUNT |
No | ||
MAXTRANSFERSIZE |
No | ||
CHECKSUM | NO_CHECKSUM |
Yes | ||
STOP_ON_ERROR | CONTINUE_AFTER_ERROR |
Yes | ||
FILESTREAM |
Yes | Nepodporuje se zálohování snímků. | |
STATS |
Yes | ||
REWIND | NOREWIND |
No | ||
UNLOAD | NOUNLOAD |
No | ||
KEEP_REPLICATION |
Yes | ||
KEEP_CDC |
Yes | ||
ENABLE_BROKER | ERROR_BROKER_CONVERSATIONS | NEW_BROKER |
Yes | ||
STOPAT | STOPATMARK | STOPBEFOREMARK |
Yes |
Další informace o argumentech restore naleznete v tématu PŘÍKAZY RESTORE – argumenty.
Zálohujte pomocí SSMS
Databázi můžete zálohovat na adresu URL prostřednictvím úlohy Zálohování v aplikaci SQL Server Management Studio pomocí přihlašovacích údajů SQL Serveru.
Note
Pokud chcete vytvořit zálohu snímků souborů SQL Serveru nebo přepsat existující sadu médií, musíte místo úlohy Zálohování v sadě SQL Server Management Studio použít jazyk Transact-SQL, PowerShell nebo C#.
Následující kroky popisují změny úlohy Zálohovat databázi v aplikaci SQL Server Management Studio, které umožňují zálohování do úložiště Azure:
V Object Explorerse připojte k instanci databázového stroje SQL Server a poté rozbalte tuto instanci.
Rozbalte položku Databáze, klikněte pravým tlačítkem myši na požadovanou databázi, přejděte na příkaz Úkoly a pak vyberte Zálohovat....
Na stránce Obecné v části Cíl je možnost ADRESA URL dostupná v rozevíracím seznamu Zálohovat na: Možnost URL slouží k vytvoření zálohy do úložiště Azure. Vyberte Přidat a otevře se dialogové okno Vybrat cíl zálohování :
Kontejner úložiště Azure: Název kontejneru úložiště Azure pro ukládání záložních souborů. V rozevíracím seznamu vyberte existující kontejner nebo ručně zadejte kontejner.
Zásady sdíleného přístupu: Zadejte sdílený přístupový podpis pro ručně zadaný kontejner. Toto pole není dostupné, pokud byl vybrán existující kontejner.
Záložní soubor: Název záložního souboru.
Nový kontejner: Slouží k registraci existujícího kontejneru, pro který nemáte sdílený přístupový podpis. Viz Připojení k předplatnému Microsoft Azure (zálohování NA URL)
Note
Přidat podporuje více záložních souborů a kontejnerů úložiště pro jednu sadu médií.
Když jako cíl vyberete adresu URL , některé možnosti na stránce Možnosti médií jsou zakázané. Následující články obsahují další informace o dialogovém okně Zálohovat databázi:
- Zálohování Databáze (Obecná Stránka)
- Zálohovat databázi (stránka Možnosti média)
- zálohování databáze (stránka Možností zálohování)
- Vytvoření přihlašovacích údajů – Ověřování ve službě Azure Storage
Vytvořte zálohu pomocí plánu údržby
Podobně jako dříve popsaná úloha zálohování obsahuje Průvodce plánem údržby v aplikaci SQL Server Management Studio adresu URL jako jednu z cílových možností a další podpůrné objekty potřebné k zálohování do úložiště Azure, jako jsou přihlašovací údaje SQL. Má stejnou Další informace najdete v části Definovat úlohy zálohování v Průvodci plánem údržby.
Note
Pokud chcete vytvořit pásovou zálohovací sadu, zálohování snímků souborů SQL Serveru nebo SQL přihlašovací údaje pomocí sdíleného přístupového tokenu, musíte použít Transact-SQL, PowerShell nebo C# místo úlohy Zálohování v Průvodci plánem údržby.
Obnovení pomocí SSMS
Úloha Obnovit databázi obsahuje adresu URL jako zařízení, ze které se má provést obnovení. Následující kroky popisují použití úlohy obnovení k obnovení ze služby Azure Blob Storage:
Klikněte pravým tlačítkem na Databáze a vyberte Obnovit databázi....
Na stránce Obecné vyberte v části Zdrojzařízení.
Výběrem tlačítka Procházet (...) otevřete dialogové okno Vybrat zálohovací zařízení .
Vyberte adresu URL z typu záložního média: rozbalovacího seznamu. Výběrem Přidat otevřete dialogové okno Vyberte umístění záložního souboru.
Kontejner úložiště Azure: Plně kvalifikovaný název kontejneru úložiště Azure, který obsahuje záložní soubory. V rozevíracím seznamu vyberte existující kontejner nebo ručně zadejte plně kvalifikovaný název kontejneru.
Sdílený přístupový podpis: Slouží k zadání sdíleného přístupového podpisu pro určený kontejner.
Přidat: Slouží k registraci existujícího kontejneru, pro který nemáte sdílený přístupový podpis. Viz Připojení k předplatnému Microsoft Azure (zálohování NA URL)
OK: SQL Server se připojí k úložišti Azure pomocí informací o přihlašovacích údajích SQL, které jste zadali, a otevře dialogové okno Najít záložní soubor v Microsoft Azure . Záložní soubory umístěné v kontejneru úložiště se zobrazí na této stránce. Vyberte soubor, který chcete použít k obnovení, a vyberte OK. Tím se vrátíte do dialogového okna Vybrat zálohovací zařízení a výběrem možnosti OK v tomto dialogovém okně se vrátíte do hlavního dialogového okna Obnovit , kde můžete obnovení dokončit.
Příklady kódu
Tato část obsahuje následující příklady.
- Vytvoření sdíleného přístupového podpisu
- Vytvoření přihlašovacích údajů
- Provedení úplného zálohování databáze
- Obnovení k určitému bodu v čase pomocí funkce STOPAT
Note
Kurz použití SQL Serveru 2016 se službou Azure Blob Storage najdete v kurzu: Použití služby Azure Blob Storage s SQL Serverem
Vytvoření sdíleného přístupového podpisu
Následující příklad vytvoří sdílené přístupové podpisy, které lze použít k vytvoření přihlašovacích údajů SQL Serveru v nově vytvořeném kontejneru. Skript vytvoří sdílený přístupový podpis přidružený k uloženým zásadám přístupu. Další informace najdete v tématu Sdílené přístupové podpisy, část 1: Principy modelu SAS. Skript také zapíše příkaz T-SQL potřebný k vytvoření přihlašovacích údajů na SQL Serveru.
Note
Příklad vyžaduje Azure PowerShell. Informace o instalaci a používání Azure PowerShellu najdete v tématu Postup instalace a konfigurace Azure PowerShellu. Tyto skripty byly ověřeny pomocí Azure PowerShellu 5.1.15063.
Sdílený přístupový podpis přidružený k uloženým zásadám přístupu
# Define global variables for the script
$prefixName = '<a prefix name>' # used as the prefix for the name for various objects
$subscriptionName = '<your subscription name>' # the name of subscription name you will use
$locationName = '<a data center location>' # the data center region you will use
$storageAccountName = $prefixName + 'storage' # the storage account name you will create or use
$containerName = $prefixName + 'container' # the storage container name to which you will attach the SAS policy with its SAS token
$policyName = $prefixName + 'policy' # the name of the SAS policy
# Set a variable for the name of the resource group you will create or use
$resourceGroupName = $prefixName + 'rg'
# adds an authenticated Azure account for use in the session
Connect-AzAccount
# set the tenant, subscription and environment for use in the rest of
Set-AzContext -SubscriptionName $subscriptionName
# create a new resource group - comment out this line to use an existing resource group
New-AzResourceGroup -Name $resourceGroupName -Location $locationName
# Create a new ARM storage account - comment out this line to use an existing ARM storage account
New-AzStorageAccount -Name $storageAccountName -ResourceGroupName $resourceGroupName -Type Standard_RAGRS -Location $locationName
# Get the access keys for the ARM storage account
$accountKeys = Get-AzStorageAccountKey -ResourceGroupName $resourceGroupName -Name $storageAccountName
# Create a new storage account context using an ARM storage account
$storageContext = New-AzStorageContext -StorageAccountName $storageAccountName -StorageAccountKey $accountKeys[0].value
# Creates a new container in Azure Blob Storage
$container = New-AzStorageContainer -Context $storageContext -Name $containerName
$cbc = $container.CloudBlobContainer
# Sets up a Stored Access Policy and a Shared Access Signature for the new container
$policy = New-AzStorageContainerStoredAccessPolicy -Container $containerName -Policy $policyName -Context $storageContext -ExpiryTime $(Get-Date).ToUniversalTime().AddYears(10) -Permission "rwld"
$sas = New-AzStorageContainerSASToken -Policy $policyName -Context $storageContext -Container $containerName
Write-Host 'Shared Access Signature= '$($sas.TrimStart('?'))''
# Outputs the Transact SQL to the clipboard and to the screen to create the credential using the Shared Access Signature
Write-Host 'Credential T-SQL'
$tSql = "CREATE CREDENTIAL [{0}] WITH IDENTITY='Shared Access Signature', SECRET='{1}'" -f $cbc.Uri, $sas.TrimStart('?')
$tSql | clip
Write-Host $tSql
Po úspěšném spuštění skriptu zkopírujte CREATE CREDENTIAL příkaz do nástroje pro dotazy, připojte se k instanci SQL Serveru a spusťte příkaz pro vytvoření přihlašovacích údajů se sdíleným přístupovým podpisem.
Vytvoření přihlašovacích údajů
Následující příklady vytvoří přihlašovací údaje SQL Serveru pro ověřování ve službě Azure Blob Storage. Udělejte jednu z následujících věcí.
Použití sdíleného přístupového podpisu
Pokud jste spustili předchozí skript pro vytvoření sdíleného přístupového podpisu, zkopírujte
CREATE CREDENTIALeditor dotazů připojený k vaší instanci SQL Serveru a spusťte příkaz.Následující T-SQL je příklad, který vytvoří přihlašovací údaje pro použití sdíleného přístupového podpisu.
IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = 'https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>') CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<mystorageaccountcontainername>] WITH IDENTITY = 'SHARED ACCESS SIGNATURE', SECRET = '<SAS_TOKEN>';Použití identity účtu úložiště a přístupového klíče
IF NOT EXISTS (SELECT * FROM sys.credentials WHERE name = '<mycredentialname>') CREATE CREDENTIAL [<mycredentialname>] WITH IDENTITY = '<mystorageaccountname>', SECRET = '<mystorageaccountaccesskey>';
Provedení úplného zálohování databáze
Následující příklady provádějí úplnou zálohu AdventureWorks2025 databáze do služby Azure Blob Storage. Použijte jednu z následujících ukázek:
Adresa URL s použitím sdíleného přístupového podpisu
BACKUP DATABASE AdventureWorks2022 TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022.bak'; GOPřístup k adrese URL pomocí identity účtu úložiště a přístupového klíče
BACKUP DATABASE AdventureWorks2022 TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022.bak' WITH CREDENTIAL = '<mycredentialname>', COMPRESSION, STATS = 5; GO
Obnovení k určitému bodu v čase pomocí funkce STOPAT
Následující příklad obnoví AdventureWorks2025 ukázkovou databázi do jejího stavu v určitém okamžiku a zobrazí operaci obnovení.
Z adresy URL pomocí sdíleného přístupového podpisu
RESTORE DATABASE AdventureWorks2022
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022_2015_05_18_16_00_00.bak'
WITH MOVE 'AdventureWorks2022_data' TO 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2022.mdf',
MOVE 'AdventureWorks2022_log' TO 'C:\Program Files\Microsoft SQL Server\<myinstancename>\MSSQL\DATA\AdventureWorks2022.ldf',
NORECOVERY, REPLACE, STATS = 5;
GO
RESTORE LOG AdventureWorks2022
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<mycontainername>/AdventureWorks2022_2015_05_18_18_00_00.trn'
WITH RECOVERY, STOPAT = 'May 18, 2015 5:35 PM';
GO