Sdílet prostřednictvím


Zálohování a obnovení adresy URL pomocí spravovaných identit

platí pro:SQL Server na virtuálním počítači Azure (jenom Windows)

Tento článek vás naučí zálohovat a obnovovat databáze SQL Serveru z URL adresy databází na virtuálních počítačích Azure, pomocí spravovaných identit Microsoft Entra.

Přehled

Počínaje kumulativní aktualizací SQL Server 2022 (CU17) můžete použít spravované identity s přihlašovacími údaji sql Serveru k zálohování a obnovení SQL Serveru v databázích virtuálních počítačů Azure ze služby Azure Blob Storage. Spravované identity poskytují identitu pro aplikace, které lze použít při připojování k prostředkům podporujícím ověřování Microsoft Entra.

Použití spravovaných identit v přihlašovacích údajích pro operace BACKUP TO URL a RESTORE FROM URL T-SQL je podporováno pouze SQL Serverem na virtuálních počítačích Azure. Použití spravovaných identit s místním SQL Serverem k BACKUP TO URL a RESTORE FROM URL se nepodporuje.

Požadavky

  • SQL Server na virtuálním počítači Azure s SQL Serverem 2022 CU17 nebo novějším nakonfigurovaným ověřováním Microsoft Entra.
  • Účet služby Azure Blob Storage .
  • Platný přístup k síti ke službě Azure Blob Storage, povolení Windows Firewall na hostiteli k umožnění odchozího připojení, a platné koncové body služeb účtů úložiště.
  • Primární spravovaná identita pro SQL Server na virtuálním počítači Azure potřebuje:

Vytvoření přihlašovacích údajů serveru pomocí spravovaných identit

Abyste mohli používat příkazy T-SQL BACKUP DATABASE <database name> TO URL a RESTORE <database name> FROM URL se spravovanými identitami, musíte vytvořit přihlašovací údaje serveru, které používají spravovanou identitu. Název přihlašovacích údajů představuje adresu URL úložiště Azure a označuje, kam se bude ukládat záloha databáze.

Následující příklad ukazuje, jak vytvořit přihlašovací údaje pro spravovanou identitu:

CREATE CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>] 
    WITH IDENTITY = 'Managed Identity'

Klauzule WITH IDENTITY = 'Managed Identity' vyžaduje primární spravovanou identitu přiřazenou k SQL Serveru na virtuálním počítači Azure.

Další informace o chybových zprávách, ke kterým může dojít v případě, že primární spravovaná identita není přiřazená nebo nemá správná oprávnění, najdete v části Chybové zprávy.

BACKUP k adrese URL se spravovanou identitou

Po vytvoření přihlašovacích údajů ho můžete použít k zálohování a obnovení databází do služby Azure Blob Storage. Ujistěte se, že primární spravovaná identita pro SQL Server na virtuálním počítači Azure má přiřazenou roli Storage Blob Data Contributor k účtu úložiště.

Následující příklad ukazuje, jak zálohovat databázi do služby Azure Blob Storage pomocí přihlašovacích údajů spravované identity:

BACKUP DATABASE [AdventureWorks] 
    TO URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak' 

RESTORE z adresy URL se spravovanou identitou

Následující příklad ukazuje, jak obnovit databázi ze služby Azure Blob Storage pomocí přihlašovacích údajů spravované identity:

RESTORE DATABASE [AdventureWorks] 
    FROM URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak' 

Chybové zprávy

Příznak trasování 4675 lze použít k ověření přihlašovacích údajů vytvořených pomocí spravované identity. Pokud se příkaz CREATE CREDENTIAL spustil bez povoleného příznaku trasování 4675, nevystaví se žádná chybová zpráva, pokud pro server není nastavená primární spravovaná identita. Pokud chcete tento scénář vyřešit, musí se přihlašovací údaje odstranit a znovu vytvořit po povolení příznaku trasování.

Žádná primární spravovaná identita není přiřazena

Pokud není primární spravovaná identita přiřazená k SQL Serveru na virtuálním počítači Azure, operace zálohování a obnovení selžou s chybovou zprávou, že spravovaná identita není vybraná.

Msg 37563, Level 16, State 2, Line 14
The primary managed identity is not selected for this server. Enable the primary managed identity for Microsoft Entra authentication for this server. For more information see (https://aka.ms/sql-server-managed-identity-doc).`

Žádná role Storage Blob Data Contributor nepřiřazena

Pokud primární spravovaná identita pro SQL Server na virtuálním počítači Azure nemá přiřazenou Storage Blob Data Contributor roli ke storage účtu, operace BACKUP se nezdaří s chybou oznamující, že přístup je odepřen.

Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
BACKUP DATABASE is terminating abnormally. 

Pokud spravovaná identita přidružená k SQL Serveru na virtuálním počítači Azure nemá k úložnému účtu přiřazenu roli Storage Blob Data Contributor, operace RESTORE selže a zobrazí se chybová zpráva, že přístup je odepřen.

Msg 3201, Level 16, State 1, Line 31
Cannot open backup device 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'. Operating system error 5(Access is denied.).
Msg 3013, Level 16, State 1, Line 31
RESTORE DATABASE is terminating abnormally. 

Duplicitní název databáze

Pokud v úložišti existuje původní databáze se stejným názvem, zálohování nové databáze do stejné cesty k úložišti selže s následující chybou:

Msg 1834, Level 16, State 1, Line 35
RESTORE DATABASE AdventureWorks 
from URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak' 
Msg 1834, Level 16, State 1, Line 35 
The file 'C:\Server\sqlservr\data\AdventureWorks.mdf' cannot be overwritten.  It is being used by the database 'AdventureWorks'. 
Msg 3156, Level 16, State 4, Line 35 
File 'AdventureWorks' cannot be restored to 'C:\Server\sqlservr\data\AdventureWorks.mdf'. Use WITH MOVE to identify a valid location for the file.

Pokud chcete tento problém vyřešit, před obnovením databáze přesuňte původní databázi nebo přesuňte použité soubory do jiného umístění. Další informace naleznete v tématu Obnovení databáze do nového umístění (SQL Server).

Omezení

  • Spravovaná identita na úrovni serveru se podporuje jenom pro SQL Server na virtuálním počítači Azure, a ne pro MÍSTNÍ SQL Server. Spravovaná identita na úrovni serveru není pro Linux podporovaná.

  • BACKUP TO URL nebo RESTORE FROM URL se spravovanou identitou se podporuje jenom pro SQL Server na virtuálním počítači Azure. místní SQL Server nepodporuje BACKUP TO URL ani RESTORE FROM URL.

  • Spravované identity se nepodporují u clusterové instance s podporou převzetí služeb při selhání (FCI).

  • BACKUP TO URL je možné spustit pouze se stejnou spravovanou identitou používanou pro SQL Server na virtuálním počítači Azure bez ohledu na to, jestli má server na virtuálním počítači jednu nebo mnoho instancí SQL Serveru.