Dela via


Självstudie: Migrera SQL Server till Azure SQL Database (offline)

Du kan använda Azure Database Migration Service via Azure SQL-migreringstillägget för Azure Data Studio eller Azure-portalen för att migrera databaser från en lokal instans av SQL Server till Azure SQL Database (offline).

I den här självstudien lär du dig hur du migrerar exempeldatabasen AdventureWorks2022 från en lokal instans av SQL Server till Azure SQL Database med hjälp av Database Migration Service. I den här självstudien används offlinemigreringsläget, som tar hänsyn till en acceptabel stilleståndstid under migreringsprocessen.

I den här tutorialen lär du dig följande:

  • Öppna guiden Migrera till Azure SQL i Azure Data Studio
  • Köra en utvärdering av dina SQL Server-källdatabaser
  • Samla in prestandadata från sql server-källinstansen
  • Få en rekommendation om Azure SQL Database SKU som fungerar bäst för din arbetsbelastning
  • Skapa en instans av Azure Database Migration Service
  • Starta migreringen och övervaka förloppet till slutförande

Viktigt!

För närvarande är onlinemigreringar för Azure SQL Database-mål inte tillgängliga med Azure Database Migration Service. Vid en offlinemigrering startar programmets stilleståndstid när migreringen startar. Vi rekommenderar att du testar en offlinemigrering för att avgöra om stilleståndstiden är acceptabel.

Migreringsalternativ

I följande avsnitt beskrivs hur du använder Azure Database Migration Service med Azure SQL-migreringstillägget eller i Azure-portalen.

Förutsättningar

För att slutföra den här självstudien, finns följande förhandskrav:

  • Ladda ned och installera Azure Data Studio.

  • Installera Azure SQL-migreringstillägget från Azure Data Studio Marketplace.

  • Kontrollera att resursprovidern Microsoft.DataMigration är registrerad i din prenumeration.

  • Ha ett Azure-konto som har tilldelats någon av följande inbyggda roller:

    • Deltagare för Azure SQL Database-målet
    • Läsarroll för Azure-resursgruppen som innehåller Azure SQL Database-målet
    • Rollen Ägare eller deltagare för Azure-prenumerationen (krävs om du skapar en ny instans av Azure Database Migration Service)

    Som ett alternativ till att använda någon av dessa inbyggda roller kan du tilldela en anpassad roll.

    Viktigt!

    Ett Azure-konto krävs endast när du konfigurerar migreringsstegen. Ett Azure-konto krävs inte för utvärderingen eller för att visa Azure-rekommendationer i migreringsguiden i Azure Data Studio.

  • Skapa ett mål Azure SQL Database.

  • Kontrollera att SQL Server-inloggningen som ansluter till SQL Server-källinstansen är medlem i den db_datareader rollen och att inloggningen för SQL Server-målinstansen är medlem i den db_owner rollen.

  • Om du vill migrera databasschemat från källan till Azure SQL Database-målet med hjälp av Database Migration Service är den lägsta SHIR-version som stöds 5.37 eller senare.

  • För schemamigrering är minimibehörigheter för SQL Server-källan db_owner för åtkomst till databasen och på azure SQL Database-målet bör användaren vara medlem i alla roller på servernivå i följande tabell:

Roller Beskrivning
##MS_DatabaseManager## Medlemmar i den fasta serverrollen ##MS_DatabaseManager## kan skapa och ta bort databaser. En medlem i rollen ##MS_DatabaseManager## som skapar en databas blir ägare till databasen, vilket gör att användaren kan ansluta till databasen som dbo-användare. Dbo-användaren har alla databasbehörigheter i databasen. Medlemmar i rollen ##MS_DatabaseManager## har inte nödvändigtvis behörighet att komma åt databaser som de inte äger. Vi rekommenderar att du använder den här serverrollen över databasnivårollen master som finns i databasen.
##MS_DatabaseConnector## Medlemmar i den fasta serverrollen ##MS_DatabaseConnector## kan ansluta till valfri databas utan att behöva ett användarkonto i databasen att ansluta till.
##MS_DefinitionReader## Medlemmar i den fasta serverrollen ##MS_DefinitionReader## kan läsa alla katalogvyer som omfattas av VIEW ANY DEFINITION alla databaser där medlemmen i den här rollen har ett användarkonto.
##MS_LoginManager## Medlemmar i den fasta serverrollen ##MS_LoginManager## kan skapa och ta bort inloggningar. Vi rekommenderar att du använder den här serverrollen över den roll på inloggningshanterarens databasnivå som finns i master databasen.

Förbereda målet för Azure SQL Database

Om du vill skapa inloggningen och användaren i azure SQL-måldatabasen kör du följande skript i master databasen:

CREATE LOGIN testuser WITH PASSWORD = '<password>';

ALTER SERVER ROLE ##MS_DefinitionReader## ADD MEMBER [testuser];
GO

ALTER SERVER ROLE ##MS_DatabaseConnector## ADD MEMBER [testuser];
GO

ALTER SERVER ROLE ##MS_DatabaseManager## ADD MEMBER [testuser];
GO

ALTER SERVER ROLE ##MS_LoginManager## ADD MEMBER [testuser];
GO

CREATE USER testuser FOR LOGIN testuser;
EXECUTE sp_addRoleMember 'dbmanager', 'testuser';
EXECUTE sp_addRoleMember 'loginmanager', 'testuser';

Nu kan du migrera både databasschemat och data med hjälp av Database Migration Service. Du kan också använda andra verktyg som SQL Server dacpac-tillägget eller SQL Database Projects-tillägget i Azure Data Studio för att migrera schemat innan du väljer listan över tabeller som ska migreras.

Anmärkning

Om det inte finns några tabeller i Azure SQL Database-målet, eller om inga tabeller har valts innan migreringen påbörjas, är knappen Nästa inte tillgänglig för att initiera migreringen. Om det inte finns någon tabell på målet måste du välja alternativet schemamigrering för att gå vidare.

Öppna guiden Migrera till Azure SQL i Azure Data Studio

Så här öppnar du guiden Migrera till Azure SQL:

  1. I Azure Data Studio går du till Anslutningar. Välj och anslut till din lokala instans av SQL Server. Du kan också ansluta till SQL Server på en virtuell Azure-dator.

  2. Högerklicka på serveranslutningen och välj Hantera:

    Skärmbild som visar en serveranslutning och alternativet Hantera i Azure Data Studio.

  3. På servermenyn under Allmänt väljer du Azure SQL-migrering.

    Skärmbild som visar Azure Data Studio-servermenyn.

  4. I instrumentpanelen för Azure SQL-migrering väljer du Migrera till Azure SQL för att öppna migreringsguiden.

    Skärmbild som visar guiden Migrera till Azure SQL.

  5. På den första sidan i guiden startar du en ny session eller återupptar en tidigare sparad session.

Kör databasutvärdering, samla in prestandadata och få Azure-rekommendationer

  1. I Steg 1: Databaser för utvärdering i guiden Migrera till Azure SQL väljer du de databaser som du vill utvärdera. Välj sedan Nästa.

    Skärmbild som visar hur du väljer en databas för utvärdering.

  2. I steg 2: Utvärderingsresultat och rekommendationer utför du följande steg:

    1. I Välj ditt Azure SQL-mål väljer du Azure SQL Database.

      Skärmbild som visar hur du väljer Azure SQL Database-målet.

    2. Välj Visa/välj för att visa utvärderingsresultatet.

      Skärmbild som visar visa/välj utvärderingsresultat.

    3. I utvärderingsresultatet väljer du databasen och granskar sedan utvärderingsrapporten för att se till att inga problem hittas.

      Skärmbild som visar utvärderingsrapporten.

    4. Välj Hämta Azure-rekommendation för att öppna fönstret rekommendationer.

      Skärmbild som visar Azure-rekommendationer.

    5. Välj och samla in prestandadata nu. Välj en mapp på den lokala datorn för att lagra prestandaloggarna och välj sedan Start.

      Skärmbild som visar insamling av prestandadata.

      Azure Data Studio samlar in prestandadata tills du antingen stoppar datainsamlingen eller stänger Azure Data Studio.

      Efter 10 minuter anger Azure Data Studio att en rekommendation är tillgänglig för Azure SQL Database. När den första rekommendationen har genererats kan du välja Starta om datainsamling för att fortsätta datainsamlingsprocessen och förfina SKU-rekommendationen. En utökad utvärdering är särskilt användbar om användningsmönstren varierar över tid.

      Skärmbild som visar insamlade prestandadata.

    6. I det valda Azure SQL Database-målet väljer du Visa information för att öppna den detaljerade SKU-rekommendationsrapporten:

      Skärmbild som visar länken Visa information för måldatabasrekommendationerna.

    7. Granska rekommendationen i Azure SQL Database-rekommendationer. Om du vill spara en kopia av rekommendationen väljer du Spara rekommendationsrapport.

      Skärmbild som visar information om SKU-rekommendation.

  3. Välj Stäng för att stänga rekommendationsfönstret.

  4. Välj Nästa för att fortsätta databasmigreringen i guiden.

Konfigurera migreringsinställningar

  1. I Steg 3: Azure SQL-målet i guiden Migrera till Azure SQL utför du följande steg för din Azure SQL Database-målinstans:

    1. Välj ditt Azure-konto, Azure-prenumeration, Azure-region eller -plats och den resursgrupp som innehåller Azure SQL Database-distributionen.

      Skärmbild som visar Azure-kontoinformation.

    2. Under Azure SQL Database Server väljer du den logiska Azure SQL Database-målservern. Ange ett användarnamn och lösenord för måldatabasdistributionen. Välj sedan Anslut. Ange autentiseringsuppgifterna för att verifiera anslutningen till måldatabasen.

      Skärmbild som visar Information om Azure SQL Database.

    3. Mappa sedan källdatabasen och måldatabasen för migreringen. För Måldatabas väljer du Azure SQL Database-målet. Välj sedan Nästa för att gå vidare till nästa steg i migreringsguiden.

      Skärmbild som visar käll- och målmappning.

  2. I Steg 4: Migreringsläge väljer du Offlinemigrering och sedan Nästa.

    Skärmbild som visar val av offlinemigrering.

  3. I Steg 5: Konfiguration av datakälla utför du följande steg:

    1. Under Källautentiseringsuppgifter anger du autentiseringsuppgifterna för SQL Server-källan.

    2. Under Välj tabeller väljer du pennikonen Redigera .

      Skärmbild som visar SQL Server-källautentiseringsuppgifter.

    3. I Välj tabeller för <databasnamn> väljer du de tabeller som ska migreras till målet. Kolumnen Har rader anger om måltabellen har rader i måldatabasen. Du kan välja en eller flera tabeller. Välj sedan Uppdatera.

      Du kan uppdatera listan över valda tabeller när som helst innan du påbörjar migreringen.

      I följande exempel används ett textfilter för att välja tabeller som innehåller ordet Employee. Välj en lista över tabeller baserat på dina migreringsbehov.

      Skärmbild som visar tabellvalet.

  4. Granska dina tabellval och välj sedan Nästa för att gå vidare till nästa steg i migreringsguiden.

    Skärmbild som visar valda tabeller som ska migreras.

Anmärkning

Om inga tabeller har valts eller om ett användarnamn och lösenord inte har angetts är knappen Nästa inte tillgänglig att välja.

Nu kan du migrera databasschema och data både med hjälp av Database Migration Service. Du kan också använda verktyg som SQL Server dacpac-tillägget eller SQL Database Projects-tillägget i Azure Data Studio för att migrera schema innan du väljer listan över tabeller som ska migreras.

Skapa en Database Migration Service-instans

I steg 6: Azure Database Migration Service i guiden Migrera till Azure SQL skapar du en ny instans av Database Migration Service eller återanvänder en befintlig instans som du skapade tidigare.

Anmärkning

Om du tidigare har skapat en Database Migration Service-instans med hjälp av Azure-portalen kan du inte återanvända instansen i migreringsguiden i Azure Data Studio. Du kan bara återanvända en instans om du har skapat instansen med hjälp av Azure Data Studio.

Använd en befintlig instans av Database Migration Service

Så här använder du en befintlig instans av Database Migration Service:

  1. I Resursgrupp väljer du den resursgrupp som innehåller en befintlig instans av Database Migration Service.

  2. I Azure Database Migration Service väljer du en befintlig instans av Database Migration Service som finns i den valda resursgruppen.

  3. Välj Nästa.

    Skärmbild som visar val av Databasmigreringstjänst.

Skapa en ny instans av Database Migration Service

Så här skapar du en ny instans av Database Migration Service:

  1. I Resursgrupp skapar du en ny resursgrupp som ska innehålla en ny instans av Database Migration Service.

  2. Under Azure Database Migration Service väljer du Skapa ny.

  3. I Skapa Azure Database Migration Service anger du ett namn för din Database Migration Service-instans och väljer sedan Skapa.

  4. Under Konfigurera integrationskörning utför du följande steg:

    1. Välj länken Ladda ned och installera integration Runtime för att öppna nedladdningslänken i en webbläsare. Ladda ned integreringskörningen och installera den sedan på en dator som uppfyller kraven för att ansluta till SQL Server-källinstansen.

      Skärmbild som visar länken Ladda ned och installera integration Runtime.

      När installationen är klar öppnas Microsoft Integration Runtime Configuration Manager automatiskt för att påbörja registreringsprocessen.

    2. I tabellen Autentiseringsnyckel kopierar du en av de autentiseringsnycklar som finns i guiden och klistrar in den i Azure Data Studio.

      Skärmbild som visar autentiseringsnyckeltabellen i guiden.

      Om autentiseringsnyckeln är giltig visas en grön kontrollikon i Integration Runtime Configuration Manager. En grön kontroll anger att du kan fortsätta att registrera dig.

      När du har registrerat den lokalt installerade integrationskörningen stänger du Microsoft Integration Runtime Configuration Manager.

      Anmärkning

      Mer information om den lokalt installerade integrationskörningen finns i Skapa och konfigurera en lokalt installerad integrationskörning.

  5. I Skapa Azure Database Migration Service i Azure Data Studio väljer du Testanslutning för att verifiera att den nyligen skapade Database Migration Service-instansen är ansluten till den nyligen registrerade integrationskörningen med egen värd.

    Skärmbild som visar IR-anslutningstest.

  6. Gå tillbaka till migreringsguiden i Azure Data Studio.

Starta databasmigreringen

I Steg 7: Sammanfattning i guiden Migrera till Azure SQL granskar du konfigurationen du skapade och väljer sedan Starta migrering för att starta databasmigreringen.

Skärmbild som visar hur du startar migreringen.

Övervaka databasmigreringen

  1. I Azure Data Studio går du till servermenyn under Allmänt och väljer Azure SQL Migration för att gå till instrumentpanelen för dina Azure SQL Database-migreringar.

    Under Databasmigreringsstatus kan du spåra migreringar som pågår, slutförts och misslyckats (om några) eller så kan du visa alla databasmigreringar.

    Skärmbild som visar instrumentpanelen för migreringsövervakning.

  2. Välj Databasmigreringar som pågår för att visa aktiva migreringar.

    Om du vill ha mer information om en specifik migrering väljer du databasnamnet.

    Skärmbild som visar information om databasmigrering.

    Database Migration Service returnerar den senaste kända migreringsstatusen varje gång migreringsstatusen uppdateras. I följande tabell beskrivs möjliga statusar:

    Läge Beskrivning
    Förbereda för kopiering Tjänsten inaktiverar autostats, utlösare och index i måltabellen.
    kopierar Data kopieras från källdatabasen till måldatabasen.
    Kopiering har slutförts Datakopian är klar. Tjänsten väntar på att andra tabeller ska slutföra kopieringen för att påbörja de sista stegen för att returnera tabeller till sitt ursprungliga schema.
    Återskapa index Tjänsten återskapar index i måltabeller.
    lyckades Alla data kopieras och indexen återskapas.
  3. Kontrollera migreringsinformationssidan för att visa aktuell status för varje databas.

    Här är ett exempel på AdventureWorks2022 databasmigreringen med statusen Skapa:

    Skärmbild som visar hur du skapar migreringsstatus.

  4. I menyraden väljer du Uppdatera för att uppdatera migreringsstatusen.

    När migreringsstatusen har uppdaterats AdventureWorks2022 uppdaterade statusen för exempeldatabasmigreringen:

    Skärmbild som visar en pågående migreringsstatus.

  5. Välj ett databasnamn för att öppna tabellvyn. I den här vyn ser du den aktuella statusen för migreringen, antalet tabeller som för närvarande har den statusen och en detaljerad status för varje tabell.

    Skärmbild som visar migrering av övervakningstabeller.

    När alla tabelldata migreras till Azure SQL Database-målet uppdaterar Database Migration Service migreringsstatusen från Pågår till Lyckades.

    Skärmbild som visar lyckad migrering.

Anmärkning

Database Migration Service optimerar migreringen genom att hoppa över tabeller utan data (0 rader). Tabeller som inte har data visas inte i listan, även om du väljer tabellerna när du skapar migreringen.

Du har slutfört migreringen till Azure SQL Database. Vi rekommenderar att du går igenom en rad uppgifter efter migreringen för att säkerställa att allt fungerar smidigt och effektivt.

Viktigt!

Se till att dra nytta av de avancerade molnbaserade funktionerna i Azure SQL Database. Funktionerna omfattar inbyggd hög tillgänglighet, hotidentifiering och övervakning och justering av din arbetsbelastning.

Begränsningar

Offlinemigrering i Azure SQL Database använder Azure Data Factory-pipelines (ADF) för dataflytt och följer därmed ADF-begränsningar. En motsvarande ADF skapas när en databasmigreringstjänst också skapas. Därför gäller fabriksgränser per tjänst.

  • Den dator där SHIR är installerad fungerar som beräkning för migrering. Kontrollera att den här datorn kan hantera processor- och minnesbelastningen för datakopian. Mer information finns i Skapa och konfigurera en lokalt installerad integrationskörning.
  • 100 000 tabeller per databasgräns.
  • 10 000 samtidiga databasmigreringar per tjänst.
  • Migreringshastigheten är starkt beroende av mål-Azure SQL Database SKU och värden för det lokalt installerade Integration Runtime.
  • Azure SQL Database-migreringen skalas dåligt med tabellnummer på grund av ADF-omkostnader i startaktiviteter. Om en databas har tusentals tabeller kan det ta några sekunder att starta varje tabell, även om de består av en rad med 1 bit data.
  • Azure SQL Database-tabellnamn med dubbla byte-tecken stöds för närvarande inte för migrering. Åtgärd är att byta namn på tabeller före migreringen. de kan ändras tillbaka till sina ursprungliga namn efter lyckad migrering.
  • Tabeller med stora blobkolumner kan misslyckas med att migrera på grund av timeout.
  • Databasnamn med reserverade SQL Server stöds för närvarande inte.
  • Databasnamn som innehåller semikolon stöds för närvarande inte.
  • Beräknade kolumner migreras inte.
  • Kolumner i källdatabasen som har standardbegränsningar och innehåller NULL värden migreras med sina definierade standardvärden i Azure SQL-måldatabasen i stället för att behålla NULL:er.