Migreren met de koppeling - Azure SQL Managed Instance

Van toepassing op:Azure SQL Managed Instance

In dit artikel leert u hoe u uw SQL Server database naar Azure SQL Managed Instance migreert met behulp van de koppeling Managed Instance.

Raadpleeg Migrate naar Azure SQL Managed Instance voor een gedetailleerde migratiehandleiding. Raadpleeg Compare LRS met Managed Instance link om migratiehulpprogramma's te vergelijken.

Notitie

U kunt nu uw SQL Server exemplaar migreren dat is ingeschakeld door Azure Arc rechtstreeks via de Azure-portal te Azure SQL Managed Instance. Zie Migrate to Azure SQL Managed Instance voor meer informatie.

Overzicht

De Managed Instance-link maakt migratie mogelijk van een SQL Server die overal wordt gehost naar een Azure SQL Managed Instance. De koppeling maakt gebruik van AlwaysOn-technologie voor beschikbaarheidsgroepen om wijzigingen bijna in realtime te repliceren van het primaire SQL Server exemplaar naar de secundaire SQL Managed Instance. De link biedt de enige echte optie voor onlinemigratie tussen SQL Server en Azure SQL Managed Instance, aangezien de enige downtime betrekking heeft op het overschakelen naar het beheerde SQL doelexemplaar.

Als u migreert met de koppeling, krijgt u het volgende:

  • De mogelijkheid om alleen-lezen workloads op SQL Managed Instance te testen voordat u de migratie naar Azure voltooit.
  • De mogelijkheid om de koppeling en migratie actief te houden zolang u nodig hebt, weken en zelfs maanden tegelijk.
  • Bijna realtime replicatie van gegevens die de snelste beschikbare gegevensreplicatie naar Azure bieden.
  • De migratie met de minimaal mogelijke downtime vergeleken met alle andere oplossingen die momenteel beschikbaar zijn.
  • Onmiddellijke overgang naar SQL Managed Instance.
  • De mogelijkheid om te migreren wanneer u klaar bent.
  • De mogelijkheid om één of meerdere databases te migreren van één of meerdere SQL Server exemplaren naar dezelfde of meerdere met SQL beheerde exemplaren in Azure.
  • De enige echte onlinemigratie naar de servicelaag Bedrijfskritiek.

Notitie

Hoewel u slechts één database per koppeling kunt migreren, kunt u meerdere koppelingen maken van hetzelfde SQL Server exemplaar naar dezelfde SQL Managed Instance.

Omschakelgedrag

Cutover-gedrag is afhankelijk van de versie van SQL Server van waaruit u migreert en het updatebeleid van uw doel SQL Managed Instance:

  • Voor SQL Server 2016 naar SQL Server 2019 wordt bij de omschakeling naar SQL Managed Instance de koppeling verbroken.
  • Voor SQL Server 2022 of nieuwere versies kunt u bij de overschakeling naar SQL Managed Instance de koppeling verwijderen of behouden, afhankelijk van uw keuze tijdens de failover. Als u ervoor kiest om de koppeling te behouden en uw met SQL beheerde exemplaar is geconfigureerd met een overeenkomend updatebeleid, kunt u de migratie zo nodig terugdraaien naar SQL Server.

Voor migratie is het verwijderen van de koppeling de aanbevolen optie. Als u ervoor kiest om de koppeling te behouden, maar later besluit deze te verwijderen, wacht u tot Azure de eerste volledige back-up van de database na een failover voltooit voordat u de koppeling verwijdert. Deze stap zorgt ervoor dat de database in orde is en volledig functioneert op SQL Managed Instance. Het helpt ook een zeldzaam bekend probleem te voorkomen waarbij de database tijdelijk niet meer beschikbaar is nadat de server opnieuw is opgestart als de koppeling te vroeg wordt verwijderd. Zie voor meer informatie de database wordt niet meer beschikbaar nadat de server opnieuw is gestart na een failover van de MI-koppeling.

Een migratie omkeren

Omgekeerde migratie naar SQL Server vanaf Azure SQL Managed Instance kan worden ondersteund, afhankelijk van het beleid update van uw beheerde SQL-exemplaar. Voorbeeld:

  • SQL Server updatebeleid voor 2022: Databases van exemplaren die zijn geconfigureerd met de SQL Server 2022-updatebeleid kunnen worden teruggezet naar SQL Server 2022-exemplaren.
  • SQL Server updatebeleid voor 2025: Databases van exemplaren die zijn geconfigureerd met de SQL Server 2025 kunnen worden hersteld naar SQL Server 2025-exemplaren.
  • Always-up-to-date updatebeleid: Databases van instanties die zijn geconfigureerd met het Always-up-to-date updatebeleid kunnen niet worden teruggezet naar SQL Server.

Als de bronversie SQL Server ouder is dan SQL Server 2022, is omgekeerde migratie niet mogelijk. Wanneer u uw database migreert naar SQL Managed Instance, wordt er een interne upgrade uitgevoerd naar een nieuwere databaseversie die niet compatibel is met eerdere SQL Server versies. Databasecompatibiliteit met omgekeerde migratie is alleen beschikbaar wanneer SQL Managed Instance is geconfigureerd met het bijbehorende updatebeleid.

Vereiste voorwaarden

Als u de koppeling met Azure SQL Managed Instance voor migratie wilt gebruiken, hebt u de volgende vereisten nodig:

Evalueren en ontdekken

Nadat u hebt gecontroleerd of uw bronomgeving wordt ondersteund, begint u met de fase vóór de migratie. Ontdek alle bestaande gegevensbronnen, beoordeel de haalbaarheid van de migratie en identificeer eventuele blokkeringsproblemen die uw migratie kunnen voorkomen. Scan in de fase Ontdekken het netwerk om alle SQL Server instanties en functies te identificeren die door uw organisatie worden gebruikt.

U kunt de volgende hulpprogramma's gebruiken om SQL-bronnen in uw omgeving te detecteren:

  • SQL Server ingeschakeld door Azure Arc: SQL Server ingeschakeld door Azure Arc automatisch een evaluatie voor migratie naar Azure produceert, waardoor het detectieproces en de gereedheidsevaluatie voor migratie worden vereenvoudigd.
  • Azure Migrate om de geschiktheid voor migratie van on-premises servers te beoordelen, de grootte op basis van prestaties uit te voeren en kostenramingen te bieden voor het uitvoeren ervan in Azure.
  • Microsoft Assessment and Planning Toolkit (de MAP Toolkit) om uw huidige IT-infrastructuur te evalueren. De toolkit biedt een krachtig hulpprogramma voor inventarisatie, evaluatie en rapportage om het migratieplanningsproces te vereenvoudigen.

Nadat gegevensbronnen zijn gedetecteerd, evalueert u on-premises SQL Server exemplaren die kunnen worden gemigreerd naar Azure SQL Managed Instance om migratieblokkeringen of compatibiliteitsproblemen te identificeren.

U kunt de migratiegereedheidsevaluatie gebruiken om uw bron-SQL Server-instantie te beoordelen.

Raadpleeg premigratievoor gedetailleerde richtlijnen.

Doelinstantie maken

Nadat u uw bestaande omgeving hebt geëvalueerd en de juiste servicelaag en hardwareconfiguratie hebt bepaald voor uw beheerde doelexemplaren van SQL, implementeert u uw doelexemplaren met behulp van de Azure-portal, PowerShell of de Azure CLI.

Nadat uw doel-SQL Managed Instance is gemaakt, configureert u een koppeling tussen de database op uw SQL Server-exemplaar en Azure SQL Managed Instance. prepareer eerst uw omgeving en configureer vervolgens een koppeling met behulp van SQL Server Management Studio (SSMS) of scripts.

Replicatievertraging controleren

Het is belangrijk dat de secundaire replica de primaire replica inhaalt voordat een geplande migratiefailover wordt uitgevoerd. Geplande failover kan een time-out krijgen en mislukkingen ondervinden als de secundaire replica aanzienlijk achterblijft op de primaire replica.

Gebruik de volgende T-SQL-query op zowel SQL Server als SQL Managed Instance om de replicatievertraging tussen de replica's te bewaken:

-- Execute on SQL Server and SQL Managed Instance 
USE master
DECLARE @link_name varchar(max) = '<DAGname>'
SELECT
   ag.name [Link name], 
   ars1.role_desc [Link role],
   ars2.connected_state_desc [Link connected state],
   ars2.synchronization_health_desc [Link sync health],
   drs.secondary_lag_seconds [Link replication latency (seconds)]
FROM
   sys.availability_groups ag 
   JOIN sys.dm_hadr_availability_replica_states ars1
   ON ag.group_id = ars1.group_id
   JOIN sys.dm_hadr_availability_replica_states ars2
   ON ag.group_id = ars2.group_id
   JOIN sys.dm_hadr_database_replica_states drs
   ON ars2.replica_id = drs.replica_id
WHERE 
   ag.is_distributed = 1 AND ag.name = @link_name AND ars1.is_local = 1 AND ars2.is_local = 0
GO

Als de replicatievertraging hoog is, wacht u totdat de secundaire replica bij de primaire replica is. Mogelijk moet u aanvullende stappen voor probleemoplossing uitvoeren als de vertraging zich blijft voordoen, zoals het onderbreken van workloads op de primaire replica, het verbeteren van de netwerkdoorvoer tussen de twee exemplaren of het verhogen van de resourcecapaciteit op de secundaire replica. De eenvoudigste manier om workloads op een SQL Server primaire replica te stoppen, is door toepassingsverbindingen met het exemplaar te knippen.

Meerdere databases migreren

Als u van plan bent om meerdere databases van exemplaren op dezelfde server te migreren voor optimale prestaties en voorspelbaarheid, migreert u 8 databases per exemplaar tegelijk. Als u bijvoorbeeld 10 exemplaren hebt met elk 32 gekoppelde databases, migreert u 8 databases tegelijk van elke instantie met behulp van geplande failovers en herhaalt u het proces totdat alle databases zijn gemigreerd.

Gegevenssynchronisatie en overgang

Nadat de koppeling tot stand is gebracht en u klaar bent om te migreren, volgt u deze stappen (meestal tijdens een onderhoudsvenster):

  1. Stop de werksbelasting op de primaire SQL Server-database, zodat de secundaire database op het SQL Managed Instance-platform kan bij komen. De eenvoudigste manier om workloads op een SQL Server primaire replica te stoppen, is door toepassingsverbindingen met het exemplaar te knippen.
  2. Controleer of alle gegevens zijn overgezet naar de secundaire database op SQL Managed Instance. Controleer de replicatievertraging om ervoor te zorgen dat de secundaire replica wordt opgevangen met de primaire replica.
  3. Voer een failover van de koppeling naar de secundaire SQL-beheerde instantie door geplande overgangte kiezen.
  4. (Optioneel) Schakel het selectievakje in om de koppeling te verwijderen na een geslaagde failover om ervoor te zorgen dat failover één manier is en dat de koppeling wordt verwijderd.
  5. (Optioneel) Als u een ondersteunde versie van SQL Server gebruikt met een overeenkomend SQL Managed Instance updatebeleid, kunt u de koppeling behouden na een failover om een migratie indien nodig om te keren. Controleer het omgekeerde migratiegedeelte voor specifieke versiedetails.
  6. Stap over naar de toepassing om verbinding te maken met het eindpunt van het beheerde SQL-exemplaar.
  7. (Optioneel) Als u niet hebt gekozen om de koppeling tijdens een failover te verwijderen, kunt u de koppeling na cutover verwijderen zodra u deze niet meer nodig hebt.

Migratie valideren

Nadat u bent overgeschakeld naar het doel van de beheerde SQL-instantie, controleert u uw applicatie, test u de prestaties en lost u eventuele problemen op.

Raadpleeg na de migratievoor meer informatie.

Bekende problemen met migratie

Bekijk de volgende bekende problemen met betrekking tot migratie met de koppeling.

In zeldzame gevallen is uw database mogelijk tijdelijk niet beschikbaar op SQL Managed Instance nadat een server opnieuw is opgestart na de failover van de koppeling. Dit bekende probleem treedt op wanneer u een koppeling neer zet voordat Azure een volledige back-up van de database voltooit na de eerste failover naar SQL Managed Instance.

De database wordt automatisch hersteld na de interventie van Microsoft, maar dit herstel kan enige tijd duren.

U kunt dit probleem voorkomen door de koppeling niet te verwijderen totdat de eerste volledige back-up is voltooid na een failover van SQL Server naar SQL Managed Instance. Zie Database niet beschikbaar nadat de server opnieuw is opgestart voor meer informatie.

Fouten bij herstelbewerkingen na migratie naar SQL Managed Instance

Als u een database migreert naar Azure SQL Managed Instance vanaf SQL Server 2019 en latere versies met versneld databaseherstel ingeschakeld, maar geconfigureerd met het permanente versiearchief (PVS) ingesteld op iets anders dan de PRIMARY-bestandsgroep, kunt u hersteloperatiefouten ondervinden op de beheerde doelinstantie van SQL.

U kunt dit probleem omzeilen door ervoor te zorgen dat u het permanente versiearchief (PVS) instelt op PRIMARY in de SQL Server-brondatabase voordat u deze migreert naar SQL Managed Instance. Als u de database al hebt gemigreerd zonder de PVS in te stellen op PRIMARY, kunt u deze instellen op de brondatabase SQL Server en vervolgens de database opnieuw migreren naar SQL Managed Instance.

Kan versneld databaseherstel niet gebruiken na migratie naar SQL Managed Instance

Vanaf SQL Server 2019, als u een database migreert naar een Azure SQL Managed Instance en de brondatabase heeft versneld databaseherstel uitgeschakeld, kunt u geen versneld databaseherstel gebruiken voor het beheerde doelexemplaar van SQL.

U kunt dit probleem omzeilen door ervoor te zorgen dat u versneld databaseherstel inschakelt op de SQL Server-brondatabase voordat u deze migreert naar SQL Managed Instance. Als u de database al hebt gemigreerd zonder versneld databaseherstel in te schakelen, kunt u deze inschakelen op de brondatabase SQL Server en de database vervolgens opnieuw migreren naar een beheerd SQL-exemplaar.

SQL Server 2017 en eerdere versies bieden geen ondersteuning voor versneld databaseherstel. Dit probleem is dus niet van toepassing op databases die zijn gemigreerd vanuit die versies van SQL Server.

Kan Service Broker niet gebruiken na migratie naar SQL Managed Instance

Als u een database migreert naar Azure SQL Managed Instance en Service Broker is uitgeschakeld op de brondatabase, kunt u Service Broker niet gebruiken op de beheerde SQL-databasemodule.

U kunt dit probleem omzeilen door Service Broker in te schakelen op de brondatabase SQL Server voordat u deze naar SQL Managed Instance migreert. Als u de database al hebt gemigreerd zonder Service Broker in te schakelen, kunt u deze inschakelen op de SQL Server-brondatabase en de database vervolgens opnieuw migreren naar SQL Managed Instance.

De koppeling gebruiken:

Voor meer informatie over de koppeling:

Voor andere replicatie- en migratiescenario's kunt u het volgende overwegen: