Share via


Overzicht van logboekherhalingsservice met Azure SQL Managed Instance

Van toepassing op: Azure SQL Managed Instance

Dit artikel bevat een overzicht van De Log Replay Service (LRS), die u kunt gebruiken om databases te migreren van SQL Server naar Azure SQL Managed Instance. LRS is een gratis cloudservice die beschikbaar is voor Azure SQL Managed Instance en op basis van SQL Server-technologie voor logboekverzending.

Als u aan de slag wilt gaan, bekijkt u Databases migreren van SQL Server naar Azure SQL Managed Instance met behulp van de Log Replay-service.

Wanneer gebruikt u de Service voor opnieuw afspelen van logboeken

Azure Database Migration Service, de Azure SQL-migratie-extensie voor Azure Data Studio en LRS gebruiken allemaal dezelfde onderliggende migratietechnologie en API's. LRS maakt complexe aangepaste migraties en hybride architecturen mogelijk tussen on-premises SQL Server-exemplaren en implementaties van SQL Managed Instance.

Wanneer u Azure Database Migration Service of de Azure SQL-extensie voor migratie niet kunt gebruiken, kunt u LRS rechtstreeks gebruiken met PowerShell, Azure CLI-cmdlets of API's om handmatig databasemigraties naar SQL Managed Instance te bouwen en te organiseren.

Overweeg om LRS in de volgende gevallen te gebruiken, wanneer:

  • U hebt meer controle over uw databasemigratieproject nodig.
  • Er is weinig tolerantie voor downtime tijdens de cutover van de migratie.
  • Het uitvoerbare bestand van Database Migration Service kan niet in uw omgeving worden geïnstalleerd.
  • Het uitvoerbare bestand van Database Migration Service heeft geen bestandstoegang tot uw databaseback-ups.
  • De Azure SQL-migratie-extensie kan niet worden geïnstalleerd in uw omgeving of heeft geen toegang tot uw databaseback-ups.
  • Er is geen toegang tot het hostbesturingssysteem beschikbaar of er zijn geen beheerdersbevoegdheden.
  • U kunt geen netwerkpoorten van uw omgeving naar Azure openen.
  • Netwerkbeperking of problemen met proxyblokkering bestaan in uw omgeving.
  • Back-ups worden rechtstreeks opgeslagen in Azure Blob Storage-accounts via de TO URL optie.
  • U moet differentiële back-ups gebruiken.

De volgende bronnen worden ondersteund:

  • SQL Server on Virtual Machines
  • Amazon EC2 (Elastic Compute Cloud)
  • Amazon RDS (Relational Database Service) voor SQL Server
  • Google Compute Engine
  • Cloud SQL voor SQL Server - GCP (Google Cloud Platform)

Notitie

  • Het is raadzaam om de migratie van databases van SQL Server naar Azure SQL Managed Instance te automatiseren met behulp van de Azure SQL-migratie-extensie voor Azure Data Studio. Overweeg om LRS te gebruiken om migraties te organiseren wanneer de Azure SQL-migratie-extensie uw scenario's niet volledig ondersteunt.
  • LRS is de enige methode voor het herstellen van differentiële back-ups op beheerde exemplaren. Het is niet mogelijk om differentiële back-ups handmatig te herstellen op beheerde exemplaren of om de NORECOVERY modus handmatig in te stellen met behulp van T-SQL.

Hoe LRS werkt

Voor het bouwen van een aangepaste oplossing voor het migreren van databases naar de cloud met LRS zijn verschillende indelingsstappen vereist, zoals wordt weergegeven in het diagram en de tabel verderop in deze sectie.

Migratie bestaat uit het maken van databaseback-ups op SQL Server en het kopiëren van back-upbestanden naar een Azure Blob Storage-account. Volledige, logboek- en differentiële back-ups worden ondersteund. Vervolgens gebruikt u de LRS-cloudservice om back-upbestanden van het Azure Blob Storage-account te herstellen naar SQL Managed Instance. Het Blob Storage-account fungeert als intermediaire opslag voor back-upbestanden tussen SQL Server en SQL Managed Instance.

LRS bewaakt uw Blob Storage-account voor nieuwe differentiële of logboekback-ups die worden toegevoegd nadat de volledige back-up is hersteld. Met LRS worden deze nieuwe bestanden vervolgens automatisch hersteld. U kunt de service gebruiken om de voortgang te controleren van back-upbestanden die worden hersteld naar SQL Managed Instance en het proces zo nodig te stoppen.

Voor LRS is geen specifieke naamconventie voor back-upbestanden vereist. Hiermee worden alle bestanden gescand die in het Azure Blob Storage-account zijn geplaatst en wordt de back-upketen alleen gemaakt van het lezen van de bestandsheaders. Databases hebben de status wordt hersteld tijdens het migratieproces. Databases worden hersteld in de NORECOVERY-modus , zodat ze niet kunnen worden gebruikt voor lees- of schrijfworkloads totdat het migratieproces is voltooid.

Als u meerdere databases migreert, moet u het volgende doen:

  • Plaats back-upbestanden voor elke database in een afzonderlijke map in het Blob Storage-account in een platte bestandsstructuur. Gebruik bijvoorbeeld afzonderlijke databasemappen: blobcontainer/database1/files, blobcontainer/database2/files, enzovoort.
  • Gebruik geen geneste mappen in databasemappen, omdat de structuur van geneste mappen niet wordt ondersteund. Gebruik bijvoorbeeld geen submappen zoals blobcontainer/database1/submap/bestanden.
  • Start LRS afzonderlijk voor elke database.
  • Geef verschillende URI-paden op om databasemappen in het Blob Storage-account te scheiden.

Hoewel het niet vereist is om back-ups te maken CHECKSUM , wordt dit ten zeerste aangeraden. Het herstellen van databases zonder CHECKSUM dat het langer duurt, omdat SQL Managed Instance een integriteitscontrole uitvoert op back-ups die worden hersteld zonder CHECKSUM ingeschakeld.

Zie Databases migreren van SQL Server naar SQL Managed Instance met behulp van de Log Replay-service voor meer informatie.

Let op

Het maken van back-ups op SQL Server waarvoor CHECKSUM ingeschakeld is, wordt ten zeerste aanbevolen omdat er een risico bestaat om een beschadigde database te herstellen naar Azure zonder deze. 

Migratie van automatisch aanvullen versus continue modus

U kunt LRS starten in de modus automatisch aanvullen of doorlopend .

Gebruik de modus voor automatisch aanvullen wanneer u de volledige back-upketen van tevoren hebt gegenereerd en wanneer u niet van plan bent om meer bestanden toe te voegen nadat de migratie is gestart. Deze migratiemodus wordt aanbevolen voor passieve workloads waarvoor geen inhaalbewerking van gegevens is vereist. Upload alle back-upbestanden naar het Blob Storage-account en start de migratie van de modus voor automatisch aanvullen. De migratie wordt automatisch voltooid wanneer het laatst opgegeven back-upbestand is hersteld. De gemigreerde database wordt beschikbaar voor lees-/schrijftoegang op SQL Managed Instance.

Als u nieuwe back-upbestanden wilt blijven toevoegen terwijl de migratie wordt uitgevoerd, gebruikt u de continue modus. We raden deze modus aan voor actieve workloads die een inhaalslag van gegevens vereisen. Upload de momenteel beschikbare back-upketen naar het Blob Storage-account, start de migratie in de continue modus en blijf zo nodig nieuwe back-upbestanden van uw workload toevoegen. Het systeem scant periodiek de map Azure Blob Storage en herstelt nieuwe logboek- of differentiële back-upbestanden die worden gevonden.

Wanneer u klaar bent voor de cutover, stopt u de workload op uw SQL Server-exemplaar, genereert u het laatste back-upbestand en uploadt u het. Zorg ervoor dat het laatste back-upbestand is hersteld door te controleren of de laatste back-up van de logboekstaart wordt weergegeven als hersteld op SQL Managed Instance. Start vervolgens handmatige cutover. De laatste cutover-stap maakt de database online en beschikbaar voor lees-/schrijftoegang op SQL Managed Instance.

Nadat LRS is gestopt, automatisch via automatisch aanvullen of handmatig via cutover, kunt u het herstelproces niet hervatten voor een database die online is gebracht in SQL Managed Instance. Nadat de migratie is voltooid, kunt u bijvoorbeeld geen meer differentiële back-ups voor een onlinedatabase herstellen. Als u meer back-upbestanden wilt herstellen nadat de migratie is voltooid, moet u de database verwijderen uit het beheerde exemplaar en de migratie opnieuw starten vanaf het begin.

Migratiewerkstroom

Een typische migratiewerkstroom wordt weergegeven in de volgende afbeelding en de stappen worden beschreven in de tabel.

U moet de modus voor automatisch aanvullen alleen gebruiken wanneer alle back-upketenbestanden van tevoren beschikbaar zijn. We raden deze modus aan voor passieve workloads waarvoor geen gegevensophaalbewerking is vereist.

Gebruik continue modusmigratie wanneer u niet de volledige back-upketen van tevoren hebt en wanneer u nieuwe back-upbestanden wilt toevoegen nadat de migratie is uitgevoerd. We raden deze modus aan voor actieve werkbelastingen waarvoor gegevensophaalbewerking is vereist.

Diagram that illustrates the Log Replay Service orchestration steps for SQL Managed Instance.

Operation DETAILS
1. Kopieer databaseback-ups van het SQL Server-exemplaar naar het Blob Storage-account. Kopieer volledige, differentiële en logboekback-ups van het SQL Server-exemplaar naar de Blob Storage-container met behulp van AzCopy of Azure Storage Explorer.

Gebruik bestandsnamen. LRS vereist geen specifieke naamconventie voor bestanden.

Gebruik een afzonderlijke map voor elke database wanneer u meerdere databases migreert.
2. Start LRS in de cloud. U kunt de service starten met PowerShell (start-azsqlinstancedatabaselogreplay) of de Azure CLI (az_sql_midb_log_replay_start cmdlets). Kies tussen de modus voor automatisch aanvullen of continue migratie.

Start LRS afzonderlijk voor elke database die verwijst naar een back-upmap in het Blob Storage-account.

Nadat de service is gestart, worden er back-ups gemaakt van de Blob Storage-container en wordt deze hersteld naar SQL Managed Instance.

Wanneer LRS wordt gestart in de modus voor automatisch aanvullen, worden alle back-ups hersteld via het opgegeven laatste back-upbestand. Alle back-upbestanden moeten vooraf worden geüpload en het is niet mogelijk om nieuwe back-upbestanden toe te voegen terwijl de migratie wordt uitgevoerd. Deze modus wordt aanbevolen voor passieve workloads waarvoor na de migratie geen gegevens hoeven te worden bijgewerkt.

Wanneer LRS wordt gestart in de continue modus, worden alle back-ups hersteld die aanvankelijk zijn geüpload en worden vervolgens gecontroleerd op nieuwe bestanden die naar de map zijn geüpload. De service past continu logboeken toe op basis van de LSN-keten (logboekreeksnummer) totdat deze handmatig wordt gestopt. We raden deze modus aan voor actieve werkbelastingen waarvoor gegevensophaalbewerking is vereist.
2.1. De voortgang van de bewerking controleren. U kunt de voortgang van de herstelbewerking bewaken met PowerShell (get-azsqlinstancedatabaselogreplay) of de Azure CLI (az_sql_midb_log_replay_show cmdlets).
2.2. Stop de bewerking indien nodig (optioneel). Als u het migratieproces wilt stoppen, gebruikt u PowerShell (stop-azsqlinstancedatabaselogreplay) of de Azure CLI (az_sql_midb_log_replay_stop).

Als u de bewerking stopt, wordt de database verwijderd die u herstelt naar SQL Managed Instance. Nadat u een bewerking hebt gestopt, kunt u LRS niet hervatten voor een database. U moet het migratieproces vanaf het begin opnieuw starten.
3. Knip over naar de cloud wanneer u klaar bent. Als LRS is gestart in de modus voor automatisch aanvullen, wordt de migratie automatisch voltooid nadat het opgegeven laatste back-upbestand is hersteld.

Als LRS is gestart in de continue modus, stopt u de toepassing en workload. Maak de laatste back-up van log-tail en upload deze naar de Azure Blob Storage-implementatie. Zorg ervoor dat de laatste back-up van de logboekstaart is hersteld op het beheerde exemplaar. Voltooi de cutover door een LRS-bewerking complete te starten met PowerShell (complete-azsqlinstancedatabaselogreplay) of de Azure CLI-az_sql_midb_log_replay_complete. Deze bewerking stopt LRS en brengt de database online voor lees-/schrijfworkloads in SQL Managed Instance.

Wijs de toepassing verbindingsreeks van het SQL Server-exemplaar naar SQL Managed Instance. U moet deze stap zelf indelen via een handmatige verbindingsreeks wijziging in uw toepassing, of automatisch (bijvoorbeeld als uw toepassing de verbindingsreeks van een eigenschap of een database kan lezen).

Grote databases migreren

Als u grote databases van meerdere terabytes in grootte migreert, kunt u het volgende overwegen:

  • Eén LRS-taak kan maximaal 30 dagen worden uitgevoerd. Wanneer deze periode verloopt, wordt de taak automatisch geannuleerd.
  • Voor langlopende taken worden systeemupdates onderbroken en worden migratietaken verlengd. We raden u ten zeerste aan een onderhoudsvenster te gebruiken om geplande systeemupdates te plannen. Plan uw migratie rond het geplande onderhoudsvenster.
  • Migratietaken die worden onderbroken door systeemupdates, worden automatisch onderbroken en hervat voor beheerde exemplaren voor algemeen gebruik en worden opnieuw gestart voor Bedrijfskritiek beheerde exemplaren. Deze updates zijn van invloed op het tijdsbestek van uw migratie.
  • Als u de uploadsnelheid van uw SQL Server-back-upbestanden naar het Blob Storage-account wilt verhogen, kunt u overwegen om parallellisatie met meerdere threads te gebruiken als uw infrastructuur voldoende netwerkbandbreedte heeft.

De migratie starten

U start de migratie door LRS te starten. U kunt de service starten in de modus automatisch aanvullen of doorlopend. Raadpleeg Migreren met LRS voor specifieke details.

  • Modus voor automatisch aanvullen. Wanneer u de modus voor automatisch aanvullen gebruikt, wordt de migratie automatisch voltooid wanneer de laatste van de opgegeven back-upbestanden zijn hersteld. Deze optie:

    • Vereist dat de volledige back-upketen vooraf beschikbaar is en geüpload naar het Azure Blob Storage-account.
    • Het toevoegen van nieuwe back-upbestanden is niet toegestaan terwijl de migratie wordt uitgevoerd.
    • Vereist de startopdracht om de bestandsnaam van het laatste back-upbestand op te geven.

    U wordt aangeraden de modus voor automatisch aanvullen te gebruiken voor passieve werkbelastingen waarvoor geen gegevensophaalbewerking is vereist.

  • Doorlopende modus. Wanneer u continue modus gebruikt, scant de service continu de map Azure Blob Storage en herstelt deze nieuwe back-upbestanden die worden toegevoegd terwijl de migratie wordt uitgevoerd.

    De migratie wordt pas voltooid nadat de handmatige cutover is aangevraagd.

    U moet continue modusmigratie gebruiken wanneer u niet de volledige back-upketen van tevoren hebt en wanneer u van plan bent om nieuwe back-upbestanden toe te voegen nadat de migratie wordt uitgevoerd.

    We raden u aan continue modus te gebruiken voor actieve werkbelastingen waarvoor een inhaalbewerking van gegevens is vereist.

Plan om één LRS-migratietaak binnen maximaal 30 dagen te voltooien. Wanneer deze periode verloopt, wordt de LRS-taak automatisch geannuleerd.

Notitie

Wanneer u meerdere databases migreert, moet LRS afzonderlijk worden gestart voor elke database die verwijst naar het volledige URI-pad van de Azure Blob Storage-container en de afzonderlijke databasemap.

Beperkingen van LRS

Houd rekening met de volgende beperkingen van LRS:

  • Alleen databases .baken .log.diff bestanden worden ondersteund door LRS. Dacpac- en bacpac-bestanden worden niet ondersteund.
  • Tijdens het migratieproces kunnen databases die worden gemigreerd, niet worden gebruikt voor alleen-lezentoegang op SQL Managed Instance.
  • U moet een onderhoudsvenster configureren om het plannen van systeemupdates op een specifieke dag en tijd toe te staan. Plan om migraties uit te voeren en te voltooien buiten het geplande onderhoudsvenster.
  • Databaseback-ups die worden gemaakt zonder CHECKSUM dat het langer duurt om te herstellen dan databaseback-ups waarvoor CHECKSUM is ingeschakeld.
  • Het SAS-token (Shared Access Signature) dat door LRS wordt gebruikt, moet worden gegenereerd voor de hele Azure Blob Storage-container en moet alleen lees- en lijstmachtigingen hebben. Als u bijvoorbeeld lees-, lijst- en schrijfmachtigingen verleent, kan LRS niet starten vanwege de extra schrijfmachtiging.
  • Het gebruik van SAS-tokens die zijn gemaakt met machtigingen die zijn ingesteld door het definiëren van een opgeslagen toegangsbeleid , wordt niet ondersteund. Volg de instructies in dit artikel om handmatig lees- en lijstmachtigingen voor het SAS-token op te geven.
  • U moet back-upbestanden voor verschillende databases in afzonderlijke mappen in het Blob Storage-account in een platte bestandsstructuur plaatsen. Het nesten van mappen in databasemappen wordt niet ondersteund.
  • Als u de modus voor automatisch aanvullen gebruikt, moet de volledige back-upketen vooraf beschikbaar zijn in het Blob Storage-account. Het is niet mogelijk om nieuwe back-upbestanden toe te voegen in de modus voor automatisch aanvullen. Gebruik de continue modus als u nieuwe back-upbestanden moet toevoegen terwijl de migratie wordt uitgevoerd.
  • U moet LRS afzonderlijk starten voor elke database die verwijst naar het volledige URI-pad dat een afzonderlijke databasemap bevat.
  • Het back-up-URI-pad, de containernaam of mapnamen mogen niet bevatten backup of backups omdat dit gereserveerde trefwoorden zijn.
  • Wanneer u meerdere herstelbewerkingen voor logboekherhaling parallel start, die gericht zijn op dezelfde opslagcontainer, moet u ervoor zorgen dat hetzelfde geldige SAS-token wordt opgegeven voor elke herstelbewerking.
  • LRS kan maximaal 100 gelijktijdige herstelprocessen per beheerd exemplaar ondersteunen.
  • Eén LRS-taak kan maximaal 30 dagen worden uitgevoerd, waarna deze automatisch wordt geannuleerd.
  • Hoewel het mogelijk is om een Azure Storage-account achter een firewall te gebruiken, is er extra configuratie nodig en moet het opslagaccount en het beheerde exemplaar zich in dezelfde regio bevinden of twee gekoppelde regio's. Raadpleeg Firewall configureren voor meer informatie.

Tip

Als u wilt dat een database alleen-lezen is tijdens de migratie, met een veel langere periode voor het uitvoeren van de migratie en met minimale downtime, kunt u overwegen om de azure SQL Managed Instance-koppelingsfunctie te gebruiken als een aanbevolen migratieoplossing.

Volgende stappen