Delen via


Back-up maken en terugzetten naar URL met beheerde identiteiten

Van toepassing op:SQL Server op Azure VM (alleen Windows)

In dit artikel leert u hoe u een back-up maakt van SQL Server op Azure Virtual Machines -databases (VM's) vanuit een URL met behulp van door Microsoft Entra beheerde identiteiten.

Overzicht

Vanaf SQL Server 2022 Cumulatieve update 17 (CU17) kunt u beheerde identiteiten gebruiken met SQL Server-referenties om een back-up te maken van SQL Server op Azure VM-databases en deze te herstellen vanuit Azure Blob Storage. Beheerde identiteiten bieden een identiteit die toepassingen kunnen gebruiken bij het maken van verbinding met resources die ondersteuning bieden voor Microsoft Entra-verificatie.

Het gebruik van beheerde identiteiten in de referenties voor de BACKUP TO URL T-SQL-bewerkingen RESTORE FROM URL wordt alleen ondersteund door SQL Server op Azure-VM's. Het gebruik van beheerde identiteiten met sql Server on-premises naar BACKUP TO URL en RESTORE FROM URL wordt niet ondersteund.

Vereiste voorwaarden

Een serverreferentie maken met beheerde identiteiten

Als u de T-SQL-opdrachten BACKUP DATABASE <database name> TO URL en RESTORE <database name> FROM URL met beheerde identiteiten wilt gebruiken, moet u een serverreferentie maken die gebruikmaakt van de beheerde identiteit. De referentienaam vertegenwoordigt de AZURE-opslag-URL en geeft aan waar de databaseback-up is opgeslagen.

In het volgende voorbeeld ziet u hoe u een referentie maakt voor een beheerde identiteit:

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

Voor de WITH IDENTITY = 'Managed Identity' component is een primaire beheerde identiteit vereist die is toegewezen aan de SQL Server op azure-VM.

Zie de sectie Foutberichten voor meer informatie over foutberichten die kunnen optreden als de primaire beheerde identiteit niet is toegewezen of over de juiste machtigingen beschikt.

BACK-UP naar URL met een beheerde identiteit

Nadat u de referentie hebt gemaakt, kunt u deze gebruiken om een back-up te maken van databases en deze te herstellen naar Azure Blob Storage. Zorg ervoor dat voor de primaire beheerde identiteit voor de SQL Server op Azure VM de Storage Blob Data Contributor rol is toegewezen aan het opslagaccount.

In het volgende voorbeeld ziet u hoe u een back-up maakt van een database naar Azure Blob Storage met behulp van de referenties voor de beheerde identiteit:

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

RESTORE from URL with a managed identity (HERSTELLEN vanuit URL met een beheerde identiteit

In het volgende voorbeeld ziet u hoe u een database herstelt vanuit Azure Blob-opslag met behulp van de beheerde identiteit referentie.

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

Foutberichten

traceringsvlag 4675- kan worden gebruikt om referenties te controleren die zijn gemaakt met een beheerde identiteit. Als de CREATE CREDENTIAL-instructie is uitgevoerd zonder traceringsvlag 4675 ingeschakeld, wordt er geen foutbericht weergegeven als de primaire beheerde identiteit niet is ingesteld voor de server. Als u problemen met dit scenario wilt oplossen, moet de referentie worden verwijderd en opnieuw worden gemaakt zodra de traceringsvlag is ingeschakeld.

Er is geen primaire beheerde identiteit toegewezen

Als een primaire beheerde identiteit niet is toegewezen aan de SQL Server op azure-VM, mislukken de back-up- en herstelbewerkingen met een foutbericht dat aangeeft dat de beheerde identiteit niet is geselecteerd.

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).`

Er is geen Storage Blob Data Contributor rol toegewezen

Als de primaire beheerde identiteit voor de SQL Server op azure-VM niet de Storage Blob Data Contributor rol aan het opslagaccount krijgt, mislukt de BACKUP bewerking met een foutbericht dat aangeeft dat de toegang wordt geweigerd.

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.

Als de beheerde identiteit voor de SQL Server op azure-VM niet de Storage Blob Data Contributor rol aan het opslagaccount krijgt, mislukt de RESTORE bewerking met een foutbericht dat aangeeft dat de toegang is geweigerd.

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.

Problemen met netwerk of firewall

Als u geen geldige netwerktoegang tot de Azure Blob-opslag en Windows Firewall-machtigingen op de host hebt geconfigureerd om de uitgaande verbinding toe te staan en geldige service-eindpunten voor het opslagaccount niet zijn geconfigureerd, mislukt de BACKUP bewerking met een foutbericht dat aangeeft dat de toegang is geweigerd.

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. 

Als u geen geldige netwerktoegang tot de Azure Blob-opslag en Windows Firewall-machtigingen op de host hebt geconfigureerd om de uitgaande verbinding toe te staan en geldige service-eindpunten voor het opslagaccount niet zijn geconfigureerd, mislukt de RESTORE bewerking met een foutbericht dat aangeeft dat de toegang is geweigerd.

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. 

Databasenaam dupliceren

Wanneer de oorspronkelijke database met dezelfde naam in de opslag bestaat, mislukt de back-up van een nieuwe database naar hetzelfde opslagpad met de volgende fout:

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.

U kunt dit probleem oplossen door de oorspronkelijke database te verwijderen of de gebruikte bestanden naar een andere locatie te verplaatsen voordat u de database herstelt. Zie Een database herstellen naar een nieuwe locatie (SQL Server) voor meer informatie.

Beperkingen

  • Beheerde identiteit op serverniveau wordt alleen ondersteund voor SQL Server op azure-VM en niet on-premises SQL Server. Beheerde identiteit op serverniveau wordt niet ondersteund voor Linux.

  • BACKUP TO URL of RESTORE FROM URL met een beheerde identiteit wordt alleen ondersteund voor SQL Server op Azure VM. BACKUP TO URL of RESTORE FROM URL wordt niet ondersteund door on-premises SQL Server.

  • Beheerde identiteiten worden niet ondersteund met een failovercluster-instantie (FCI).

  • BACKUP TO URL kan alleen worden uitgevoerd met dezelfde beheerde identiteit die wordt gebruikt voor de SQL Server op azure-VM, ongeacht of de server een of meer exemplaren van SQL Server op de VIRTUELE machine heeft.