Anteckning
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server på en virtuell Azure-dator (endast Windows)
I den här artikeln lär du dig att säkerhetskopiera till och återställa SQL Server på Azure Virtual Machines-databaser (VM) från en URL med hjälp av Microsoft Entra-hanterade identiteter.
Översikt
Från och med SQL Server 2022 Kumulativ uppdatering 17 (CU17) kan du använda hanterade identiteter med SQL Server-autentiseringsuppgifter för att säkerhetskopiera till och återställa SQL Server på Azure VM-databaser från Azure Blob Storage. Hanterade identiteter tillhandahåller en identitet som program kan använda när de ansluter till resurser som stöder Microsoft Entra-autentisering.
Användning av hanterade identiteter i autentiseringsuppgifterna BACKUP TO URL
för och RESTORE FROM URL
T-SQL-åtgärderna stöds endast av SQL Server på virtuella Azure-datorer. Användning av hanterade identiteter med SQL Server lokalt till BACKUP TO URL
och RESTORE FROM URL
stöds inte.
Förutsättningar
- En SQL Server på en virtuell Azure-dator med SQL Server 2022 CU17 eller senare registrerad med SQL IaaS Agent-tillägget.
- SV-SE: Den SQL Server-instans som säkerhetskopierar till eller återställer från en URL måste konfigureras med Microsoft Entra-autentisering, oavsett om den är registrerad med tillägget eller inte.
- Ett Azure Blob Storage-konto.
- Giltig nätverksåtkomst till Azure Blob Storage och Windows-brandväggens behörigheter på värden för att tillåta den utgående anslutningen samt giltiga tjänstslutpunkter för lagringskonto.
- Den primära hanterade identiteten för SQL Server på en virtuell Azure-dator behöver:
- Man blir tilldelad en användartilldelad hanterad identitet eller en systemtilldelad hanterad identitet. Mer information finns i Konfigurera hanterade identiteter på virtuella Azure-datorer (VM).
- Att ha
Storage Blob Data Contributor
rollen för den primära hanterade identiteten tilldelad till lagringskontot.
Skapa en serverautentiseringsuppgift med hanterade identiteter
För att kunna använda T-SQL-kommandona BACKUP DATABASE <database name> TO URL
och RESTORE <database name> FROM URL
med hanterade identiteter måste du skapa en serverautentiseringsuppgift som använder den hanterade identiteten. Namnet på autentiseringsuppgifterna representerar Azure Storage-URL:en och anger var databassäkerhetskopian lagras.
I följande exempel visas hur du skapar en autentiseringsuppgift för en hanterad identitet:
CREATE CREDENTIAL [https://<storage-account-name>.blob.core.windows.net/<container-name>]
WITH IDENTITY = 'Managed Identity'
Satsen WITH IDENTITY = 'Managed Identity'
kräver en primär hanterad identitet som tilldelats SQL Server på en virtuell Azure-dator.
Mer information om felmeddelanden som kan uppstå om den primära hanterade identiteten inte har tilldelats eller har rätt behörighet finns i avsnittet Felmeddelanden .
Säkerhetskopiera till URL med en hanterad identitet
När du har skapat autentiseringsuppgifterna kan du använda den för att säkerhetskopiera och återställa databaser till Azure Blob Storage. Kontrollera att den primära hanterade identiteten för SQL Server på den virtuella Azure-datorn har rollen Storage Blob Data Contributor
tilldelad till lagringskontot.
I följande exempel visas hur du säkerhetskopierar en databas till Azure Blob Storage med hjälp av den hanterade identitetsautentiseringsuppgiften:
BACKUP DATABASE [AdventureWorks]
TO URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
Återställ från URL med en hanterad identitet
I följande exempel visas hur du återställer en databas från Azure Blob Storage med hjälp av den hanterade identitetsautentiseringsuppgiften:
RESTORE DATABASE [AdventureWorks]
FROM URL = 'https://<storage-account-name>.blob.core.windows.net/<container-name>/AdventureWorks.bak'
Felmeddelanden
Spårningsflagga 4675 kan användas för att kontrollera autentiseringsuppgifter som skapats med en hanterad identitet. Om CREATE CREDENTIAL
-instruktionen kördes utan spårningsflagga 4675 aktiverad utfärdas inget felmeddelande om den primära hanterade identiteten inte har angetts för servern. Om du vill felsöka det här scenariot måste autentiseringsuppgifterna tas bort och återskapas igen när spårningsflaggan är aktiverad.
Ingen primär hanterad identitet har tilldelats
Om en primär hanterad identitet inte har tilldelats till SQL Server på en virtuell Azure-dator misslyckas säkerhetskopierings- och återställningsåtgärderna med ett felmeddelande som anger att den hanterade identiteten inte har valts.
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).`
Ingen Storage Blob Data Contributor
roll har tilldelats
Om den primära hanterade identiteten för SQL Server på den virtuella Azure-datorn inte ges Storage Blob Data Contributor
rollen till lagringskontot misslyckas BACKUP
åtgärden med ett felmeddelande som anger att åtkomst nekas.
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.
Om den hanterade identiteten för SQL Server på den virtuella Azure-datorn inte ges Storage Blob Data Contributor
rollen till lagringskontot RESTORE
misslyckas åtgärden med ett felmeddelande som anger att åtkomst nekas.
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.
Problem med nätverk eller brandvägg
Om du inte har konfigurerat korrekt nätverksåtkomst till Azure Blob Storage och behörigheter för Windows-brandväggen på värden för att tillåta utgående anslutning, samt giltiga tjänstslutpunkter för lagringskonton inte har konfigurerats, misslyckas BACKUP
åtgärden med ett felmeddelande som anger att åtkomst nekas.
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.
Om du inte har konfigurerat korrekt nätverksåtkomst till Azure Blob Storage och behörigheter för Windows-brandväggen på värden för att tillåta utgående anslutning, samt giltiga tjänstslutpunkter för lagringskonton inte har konfigurerats, misslyckas RESTORE
åtgärden med ett felmeddelande som anger att åtkomst nekas.
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.
Duplicera databasnamn
När den ursprungliga databasen med samma namn finns i lagringen misslyckas säkerhetskopieringen av en ny databas till samma lagringssökväg med följande fel:
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.
Lös problemet genom att ta bort den ursprungliga databasen eller flytta de använda filerna till en annan plats innan du återställer databasen. Mer information finns i Återställa en databas till en ny plats (SQL Server).
Begränsningar
Hanterad identitet på servernivå stöds bara för SQL Server på en virtuell Azure-dator och inte lokalt i SQL Server. Hanterad identitet på servernivå stöds inte för Linux.
BACKUP TO URL
ellerRESTORE FROM URL
med en hanterad identitet stöds endast för SQL Server på en virtuell Azure-dator.BACKUP TO URL
ellerRESTORE FROM URL
stöds inte av SQL Server lokalt.Hanterade identiteter stöds inte med redundansklusterinstans (FCI).
BACKUP TO URL
kan bara köras med samma hanterade identitet som används för SQL Server på en virtuell Azure-dator, oavsett om servern har en eller flera instanser av SQL Server på den virtuella datorn.