Återställa en databas till SQL Server 2022 från Azure SQL Managed Instance

Gäller för:Azure SQL Managed Instance

I den här artikeln beskrivs hur du återställer en databassäkerhetskopia från Azure SQL Managed Instance till SQL Server 2022.

Översikt

Databasformatjusteringen mellan SQL Managed Instance och SQL Server 2022 ger dig ett enkelt sätt att kopiera eller flytta databaser från din hanterade instans till en Enterprise-, Developer- eller Standard-version av SQL Server 2022 som finns lokalt, på virtuella datorer i Azure eller i andra moln.

Återställning av databaser från hanterade instanser till SQL Server 2022-instanser låser upp följande scenarier:

  • Säkerställer databasmobilitet mellan SQL Managed Instance och SQL Server-baserade produkter.
  • Tillhandahåller databaskopior till kunder och andra berättigade parter.
  • Uppdaterar miljöer utanför SQL Managed Instance.

Möjligheten att återställa fullständiga säkerhetskopior av databaser från SQL Managed Instance till SQL Server 2022 är tillgänglig som standard i alla befintliga och eventuella nya distribuerade instanser.

Viktigt!

Möjligheten att återställa fullständiga säkerhetskopior av databaser från SQL Managed Instance till SQL Server 2022 är tillgänglig fram till slutet av mainstream-stödet för SQL Server 2022.

Gör en säkerhetskopia på SQL Managed Instance

Skapa först en autentiseringsuppgift för att komma åt lagringskontot från din instans, ta en säkerhetskopia av databasen och sedan lagra den.

Du kan skapa dina autentiseringsuppgifter med hjälp av en hanterad identitet eller en SAS-token (signatur för delad åtkomst).

En hanterad identitet är en funktion i Microsoft Entra ID (tidigare Azure Active Directory) som tillhandahåller instanser av Azure-tjänster, till exempel Azure SQL Managed Instance, med en automatiskt hanterad identitet i Microsoft Entra ID, den systemtilldelade hanterade identiteten.

Du kan använda den här identiteten för att auktorisera begäranden om dataåtkomst till andra Azure-resurser, inklusive lagringskonton. Tjänster som Azure SQL Managed Instance har en systemtilldelad hanterad identitet och kan också ha en eller flera användartilldelade hanterade identiteter. Du kan använda antingen systemtilldelade hanterade identiteter eller användartilldelade hanterade identiteter för att auktorisera begäranden.

Innan Azure Storage-administratören skriver en säkerhetskopia till ett lagringskonto måste de ge behörighet till den hanterade identiteten för att kunna skriva data. Att bevilja behörigheter till den hanterade identiteten för instansen görs på samma sätt som att bevilja behörigheter till andra Microsoft Entra-användare. Till exempel:

  1. I Azure-portalen går du till fönstret Åtkomstkontroll (IAM) för ett lagringskonto och väljer Lägg till rolltilldelning.

  2. Välj rollen Storage Blob Data Contributor inbyggda rollbaserad åtkomstkontroll i Azure (RBAC). Detta ger läs-/skrivåtkomst till den hanterade identiteten för nödvändiga Azure Blob Storage-containrar.

    I stället för att bevilja den hanterade identiteten Azure RBAC-rollen Storage Blob Data Contributor kan du bevilja mer detaljerade behörigheter. Mer information finns i Ange ACL:er i Azure Data Lake Storage Gen2.

  3. På nästa sida väljer du Hanterad identitet för Tilldela åtkomst till.

  4. Välj Välj medlemmar och välj sedan lämplig hanterad identitet i listrutan Hanterad identitet . Mer information finns i Tilldela Azure-roller med hjälp av Azure-portalen.

Nu är det enkelt att skapa databasomfattande autentiseringsuppgifter för hanterad identitetsautentisering.

Observera i följande exempel att det Managed Identity är en hårdkodad sträng och du måste ersätta det allmänna lagringskontonamnet med namnet på det faktiska lagringskontot:

CREATE CREDENTIAL [https://<mystorageaccountname>.blob.core.windows.net/<containername>] 
WITH IDENTITY = 'MANAGED IDENTITY'  

Ta sedan en COPY_ONLY säkerhetskopia av databasen genom att köra följande exempel på T-SQL-kommandot:

BACKUP DATABASE [SampleDB]
TO URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH COPY_ONLY

Återställa till SQL Server

Återställ databasen till SQL Server med hjälp WITH MOVE av alternativet RESTORE DATABASE T-SQL-kommandot och ange explicita filsökvägar för dina filer på målservern.

Om du vill återställa databasen till SQL Server kör du följande T-SQL-exempelkommando med filsökvägar som är lämpliga för din miljö:

RESTORE DATABASE [SampleDB]
FROM URL = 'https://<mystorageaccountname>.blob.core.windows.net/<containername>/SampleDB.bak'
WITH
MOVE 'data_0' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_data_0.mdf',
MOVE 'log' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDBlog.ldf',
MOVE 'XTP' TO 'C:\Program Files\Microsoft SQL Server\MSSQL16.MSSQLSERVER\MSSQL\DATA\SampleDB_xtp.xtp'

Kommentar

Om du vill återställa databaser som krypteras i vila med hjälp av transparent datakryptering (TDE) måste målinstansen av SQL Server ha åtkomst till samma nyckel som används för att skydda källdatabasen via SQL Server-Anslut eller för Azure Key Vault. Mer information finns i Konfigurera SQL Server TDE med AKV.

Att tänka på

Tänk på följande när du återställer en databas till SQL Server:

  • Du måste använda kvalificeraren WITH MOVE och ange explicita sökvägar för datafilerna.
  • Databaser som är krypterade med tjänsthanterade TDE-nycklar kan inte återställas till SQL Server. Du kan bara återställa en krypterad databas till SQL Server om den krypterades med en kundhanterad nyckel och målservern har åtkomst till samma nyckel som används för att kryptera databasen. Mer information finns i Konfigurera SQL Server TDE med Azure Key Vault.
  • I framtiden kan vissa funktioner introduceras i Azure SQL Managed Instance som kräver ändringar i databasformatet, vilket gör säkerhetskopieringar inkompatibla med SQL Server 2022. Åtkomst till sådana funktioner kräver uttryckligt anmälning.

Nästa steg