Migratieoverzicht: SQL Server naar Azure SQL Database
VAN TOEPASSING OP:
Azure SQL Database
Meer informatie over de opties en overwegingen voor het migreren van uw SQL Server databases naar Azure SQL Database.
U kunt bestaande databases SQL Server die worden uitgevoerd op:
- SQL Server on-premises.
- SQL Server in Azure Virtual Machines.
- Amazon Web Services (AWS) Elastic Compute Cloud (EC2).
- AWS Relational Database Service (RDS).
- Compute Engine in Google Cloud Platform (GCP).
- Cloud SQL voor SQL Server in GCP.
Zie Database migration (Databasemigratie) voor andere migratiehandleidingen.
Overzicht
Azure SQL Database is een aanbevolen doeloptie voor SQL Server workloads waarvoor een volledig beheerde platform as a service (PaaS) is vereist. SQL Database verwerkt de meeste databasebeheerfuncties. Het heeft ook ingebouwde mogelijkheden voor hoge beschikbaarheid, intelligente queryverwerking, schaalbaarheid en prestaties voor veel toepassingstypen.
SQL Database biedt flexibiliteit met meerdere implementatiemodellen en servicelagen die geschikt zijn voor verschillende typen toepassingen of workloads.
Een van de belangrijkste voordelen van het migreren naar SQL Database is dat u uw toepassing kunt moderniseren met behulp van de PaaS-mogelijkheden. U kunt vervolgens alle afhankelijkheden elimineren van technische onderdelen die zijn beperkt tot het niveau van het exemplaar, zoals SQL Agent-taken.
U kunt ook kosten besparen door de Azure Hybrid Benefit voor SQL Server om uw SQL Server on-premises licenties te migreren naar Azure SQL Database. Deze optie is beschikbaar als u het aankoopmodel op basis van vCore kiest.
Controleer de functies van SQL Server database-engine die beschikbaar zijn in Azure SQL Database ondersteuning van uw migratiedoel te valideren.
Overwegingen
De belangrijkste factoren die u moet overwegen bij het evalueren van migratieopties zijn:
- Aantal servers en databases
- Grootte van databases
- Acceptabele bedrijfsuitvaltijd tijdens het migratieproces
Bij de migratieopties die in deze handleiding worden vermeld, wordt rekening gehouden met deze factoren. Voor logische gegevensmigratie naar Azure SQL Database kan de tijd die moet worden gemigreerd afhankelijk zijn van zowel het aantal objecten in een database als de grootte van de database.
Hulpprogramma's zijn beschikbaar voor verschillende workloads en gebruikersvoorkeuren. Sommige hulpprogramma's kunnen worden gebruikt om een snelle migratie van één database uit te voeren via een hulpprogramma op basis van de gebruikersinterface. Andere hulpprogramma's kunnen de migratie van meerdere databases automatiseren om migraties op schaal af te handelen.
Een geschikt doel kiezen
Overweeg algemene richtlijnen om u te helpen bij het kiezen van het juiste implementatiemodel en de juiste servicelaag van Azure SQL Database. U kunt reken- en opslagbronnen kiezen tijdens de implementatie en deze vervolgens wijzigen met behulp van de Azure Portal zonder uitvaltijd voor uw toepassing.
Implementatiemodellen: inzicht in de workload van uw toepassing en het gebruikspatroon om te kiezen tussen één database of een elastische pool.
- Een individuele database vertegenwoordigt een volledig beheerde database die geschikt is voor de meeste moderne cloudtoepassingen en microservices.
- Een elastische pool is een verzameling individuele databases met een gedeelde set resources, zoals CPU of geheugen. Het is geschikt voor het combineren van databases in een pool met voorspelbare gebruikspatronen die effectief dezelfde set resources kunnen delen.
Aankoopmodellen: kies tussen de aankoopmodellen vCore, Database Transaction Unit (DTU) of serverloze aankoop.
- Met het vCore-model kunt u het aantal vCores voor Azure SQL Database kiezen. Dit is dus de eenvoudigste keuze wanneer u vertaalt van on-premises SQL Server. Dit is de enige optie die ondersteuning biedt voor het besparen van licentiekosten met de Azure Hybrid Benefit.
- In het DTU-model worden de onderliggende reken-, geheugen- en I/O-resources geabstraheerd om een gemengde DTU te bieden.
- Het serverloze model is voor workloads waarvoor automatische schaalbaarheid op aanvraag is vereist, met rekenbronnen die per seconde van het gebruik worden gefactureerd. De serverloze rekenlaag pauzeert databases automatisch tijdens inactieve perioden (waarbij alleen opslag wordt gefactureerd). Databases worden automatisch hervat wanneer de activiteit wordt hervat.
Servicelagen: kies uit drie servicelagen die zijn ontworpen voor verschillende typen toepassingen.
- Algemeen/standard-servicelaag biedt een gebalanceerde budgetgerichte optie met reken- en opslagmogelijkheden die geschikt zijn voor het leveren van toepassingen in de middelste en lagere lagen. Redundantie is ingebouwd in de opslaglaag om te herstellen van fouten. Het is ontworpen voor de meeste databaseworkloads.
- Bedrijfskritiek/premium-servicelaag is voor toepassingen met hoge lagen waarvoor hoge transactiesnelheden, I/O met lage latentie en een hoog tolerantieniveau zijn vereist. Secundaire replica's zijn beschikbaar voor failover en voor het offloaden van leesworkloads.
- De Hyperscale-servicelaag is voor databases met groeiende gegevensvolumes en die automatisch moeten worden opgeschaald tot 100 TB in databasegrootte. Het is ontworpen voor zeer grote databases.
Belangrijk
De snelheid van transactielogboek is Azure SQL Database om hoge opnamesnelheden te beperken. Als zodanig moet u tijdens de migratie mogelijk de schaal van doeldatabasebronnen (vCores of DTUs) verhogen om de druk op de CPU of doorvoer te verminderen. Kies de doeldatabase met de juiste grootte, maar plan het omhoog schalen van resources voor de migratie, indien nodig.
SQL Server VM-alternatief
Uw bedrijf heeft mogelijk vereisten die ervoor zorgen dat SQL Server in Azure Virtual Machines een geschikter doel is dan Azure SQL Database.
Als een van de volgende voorwaarden van toepassing is op uw bedrijf, kunt u overwegen om in plaats daarvan over te stappen op SQL Server virtuele machine (VM:
- U hebt directe toegang tot het besturingssysteem of bestandssysteem nodig, zoals om agents van derden of aangepaste agents te installeren op dezelfde virtuele machine met SQL Server.
- U bent strikt afhankelijk van functies die nog steeds niet worden ondersteund, zoals FileStream/FileTable, PolyBase en transacties tussen exemplaren.
- U moet een specifieke versie van SQL Server (bijvoorbeeld 2012).
- Uw rekenvereisten zijn veel lager dan een beheerd exemplaar biedt (bijvoorbeeld één vCore), en databaseconsolidatie is geen acceptabele optie.
Hulpprogramma's voor migratie
We raden de volgende migratiehulpprogramma's aan:
| Technologie | Beschrijving |
|---|---|
| Azure Migrate | Met deze Azure-service kunt u uw SQL op schaal op VMware ontdekken en beoordelen. Het biedt aanbevelingen SQL azure-implementatie, de beoogde formaatschattingen en maandelijkse schattingen. |
| Gegevensmigratieassistent | Dit bureaubladhulpprogramma van Microsoft biedt naadloze evaluaties van migraties SQL Server en migraties met één database naar Azure SQL Database (schema en gegevens). Het hulpprogramma kan worden geïnstalleerd op een on-premises server of op uw lokale computer die verbinding heeft met uw brondatabases. Het migratieproces is een logische gegevensver movement tussen objecten in de bron- en doeldatabases. |
| Azure Database Migration Service | Deze Azure-service kan SQL Server databases migreren naar Azure SQL Database via de Azure Portal of automatisch via PowerShell. Database Migration Service moet u tijdens het inrichten een voorkeurs virtueel Azure-netwerk selecteren om ervoor te zorgen dat uw brondatabases SQL Server verbinden. U kunt individuele databases migreren of op schaal. |
De volgende tabel bevat alternatieve migratiehulpprogramma's:
| Technologie | Beschrijving |
|---|---|
| Transactionele replicatie | Repliceer gegevens van SQL Server databasetabellen naar Azure SQL Database door een migratieoptie van het type uitgever-abonnee te bieden met behoud van transactionele consistentie. Incrementele gegevenswijzigingen worden doorgegeven aan abonnees wanneer deze zich voordoen bij de uitgevers. |
| Exportservice/BACPAC importeren | BACPAC is een Windows met een .bacpac-extensie die het schema en de gegevens van een database bevat. U kunt BACPAC gebruiken om gegevens uit een SQL Server exporteren en de gegevens in een Azure SQL Database. Een BACPAC-bestand kan worden geïmporteerd in een nieuwe SQL database via de Azure Portal. Voor schaal en prestaties met grote databases of een groot aantal databases kunt u overwegen het opdrachtregelprogramma SqlPackage te gebruiken om databases te exporteren en te importeren. |
| Bulksgewijs kopiëren | Het hulpprogramma BCP (Bulk Copy Program) kopieert gegevens van een exemplaar van SQL Server naar een gegevensbestand. Gebruik het hulpprogramma om de gegevens uit uw bron te exporteren en het gegevensbestand te importeren in SQL doeldatabase. Voor snelle bulksgekopieerbewerkingen om gegevens naar Azure SQL Database te verplaatsen, kunt u het hulpprogramma Smart Bulk Copy gebruiken om de overdrachtssnelheid te maximaliseren door gebruik te maken van parallelle kopieertaken. |
| Azure Data Factory | De Copy-activiteit in Azure Data Factory migreert gegevens van SQL Server-brondatabases naar Azure SQL Database met behulp van ingebouwde connectors en een integration runtime. Data Factory ondersteunt een breed scala aan connectors voor het verplaatsen van gegevens van SQL Server bronnen naar Azure SQL Database. |
| SQL Data Sync | SQL Data Sync is een service die is gebouwd op Azure SQL Database waarmee u geselecteerde gegevens bidirectioneel kunt synchroniseren tussen meerdere databases, zowel on-premises als in de cloud.Data Sync is handig in gevallen waarin gegevens moeten worden bijgewerkt in verschillende databases in Azure SQL Database of SQL Server. |
Migratieopties vergelijken
Vergelijk de migratieopties om het pad te kiezen dat geschikt is voor uw bedrijfsbehoeften.
In de volgende tabel worden de migratieopties vergeleken die we aanbevelen:
| Migratieoptie | Wanneer gebruikt u dit? | Overwegingen |
|---|---|---|
| Gegevensmigratieassistent | - Individuele databases migreren (schema en gegevens). - Kan downtime tijdens het gegevensmigratieproces opvangen. Ondersteunde bronnen: - SQL Server (2005 tot 2019) on-premises of Azure VM - AWS EC2 - AWS RDS - GCP Compute SQL Server VM | - Migratieactiviteit voert gegevensverhuizing uit tussen databaseobjecten (van bron naar doel), dus we raden u aan deze tijdens daluren uit te voeren. - Gegevens Migration Assistant de status van de migratie per databaseobject, inclusief het aantal gemigreerde rijen. - Voor grote migraties (aantal databases of de grootte van de database) gebruikt u Azure Database Migration Service. |
| Azure Database Migration Service | - Individuele databases migreren of op schaal. - Kan downtime tijdens het migratieproces opvangen. Ondersteunde bronnen: - SQL Server (2005 tot 2019) on-premises of Azure VM - AWS EC2 - AWS RDS - GCP Compute SQL Server VM | - Migraties op schaal kunnen worden geautomatiseerd via PowerShell. - De tijd voor het voltooien van de migratie is afhankelijk van de databasegrootte en het aantal objecten in de database. - Vereist dat de brondatabase wordt ingesteld als alleen-lezen. |
In de volgende tabel worden de alternatieve migratieopties vergeleken:
| Methode of technologie | Wanneer gebruikt u dit? | Overwegingen |
|---|---|---|
| Transactionele replicatie | - Migreren door continu wijzigingen te publiceren van brondatabasetabellen naar SQL Database doeltabellen. - Volledige of gedeeltelijke databasemigraties van geselecteerde tabellen (subset van een database). Ondersteunde bronnen: - SQL Server (2016 tot 2019) met enkele beperkingen - AWS EC2 - GCP Compute SQL Server VM | - Setup is relatief complex in vergelijking met andere migratieopties. - Biedt een continue replicatieoptie voor het migreren van gegevens (zonder dat de databases offline worden gehaald). - Transactionele replicatie heeft beperkingen om rekening mee te houden wanneer u de uitgever in het bron-SQL Server instellen. Zie Beperkingen voor het publiceren van objecten voor meer informatie. - Het is mogelijk om replicatieactiviteit te bewaken. |
| Exportservice/BACPAC importeren | - Migreert afzonderlijke Line-Of-Business-toepassingsdatabases. - Geschikt voor kleinere databases. - Vereist geen afzonderlijke migratieservice of een afzonderlijk hulpprogramma. Ondersteunde bronnen: - SQL Server (2005 tot 2019) on-premises of Azure VM - AWS EC2 - AWS RDS - GCP Compute SQL Server VM | - Uitvaltijd vereist omdat gegevens moeten worden geëxporteerd bij de bron en moeten worden geïmporteerd op de bestemming. - De bestandsindelingen en gegevenstypen die worden gebruikt in het exporteren of importeren, moeten consistent zijn met tabelschema's om afroepen of fouten met niet-overeenkomende gegevenstypen te voorkomen. - De tijd die nodig is om een database met een groot aantal objecten te exporteren, kan aanzienlijk hoger zijn. |
| Bulksgewijs kopiëren | - Volledige of gedeeltelijke gegevensmigraties. - Kan downtime opvangen. Ondersteunde bronnen: - SQL Server (2005 tot 2019) on-premises of Azure VM - AWS EC2 - AWS RDS - GCP Compute SQL Server VM | - Er is downtime vereist voor het exporteren van gegevens uit de bron en het importeren in het doel. - De bestandsindelingen en gegevenstypen die worden gebruikt in het exporteren of importeren, moeten consistent zijn met tabelschema's. |
| Azure Data Factory | - Gegevens migreren en/of transformeren vanuit SQL Server databases. - Het samenvoegen van gegevens uit meerdere gegevensbronnen naar Azure SQL Database is doorgaans voor business intelligence (BI)-workloads. | - Vereist het maken van pijplijnen voor gegevensverplaatsing in Data Factory om gegevens van de bron naar de bestemming te verplaatsen. - Kosten zijn een belangrijke overweging en zijn gebaseerd op factoren zoals pijplijntriggers, activiteits runs en de duur van gegevens movement. |
| SQL Data Sync | - Gegevens synchroniseren tussen bron- en doeldatabases. - Geschikt voor het uitvoeren van continue synchronisatie tussen Azure SQL Database en on-premises SQL Server in een bidirectionele stroom. | - Azure SQL Database moet de hubdatabase zijn die moet worden gesynchroniseerd met een on-premises SQL Server database als liddatabase. - Vergeleken met transactionele replicatie biedt SQL Data Sync ondersteuning voor bidirectionele gegevenssynchronisatie tussen on-premises en Azure SQL Database. - Kan een hogere invloed hebben op de prestaties, afhankelijk van de workload. |
Functie-interoperabiliteit
Er zijn meer overwegingen bij het migreren van workloads die afhankelijk zijn van andere SQL Server functies.
SQL Server Integration Services
Mier SQL Server SSIS-pakketten (Integration Services) naar Azure door de pakketten opnieuw te implementeren naar de Azure-SSIS-runtime in Azure Data Factory. Azure Data Factory ondersteunt de migratie van SSIS-pakketten door een runtime te bieden die is gebouwd om SSIS-pakketten uit te voeren in Azure. U kunt de SSIS ETL-logica (extraheren, transformeren, laden) ook systeemeigen herschrijven in Azure Data Factory met behulp van gegevensstromen.
SQL Server Reporting Services
Migreert SQL Server Reporting Services (SSRS) naar ge pagineerde rapporten in Power BI. Gebruik het hulpprogramma voor RDL-migratie om uw rapporten voor te bereiden en te migreren. Microsoft heeft dit hulpprogramma ontwikkeld om klanten te helpen Report Definition Language (RDL)-rapporten te migreren van hun SSRS-servers naar Power BI. Het is beschikbaar op GitHub en bevat een end-to-end overzicht van het migratiescenario.
Hoge beschikbaarheid
Handmatige installatie van SQL Server functies voor hoge beschikbaarheid, zoals Always On-failovercluster-exemplaren en Always On-beschikbaarheidsgroepen, worden verouderd op de doeldatabase SQL database. Architectuur voor hoge beschikbaarheid is al ingebouwd in Algemeen-servicelagen (standard availability model) en Bedrijfskritiek (Premium Availability Model) voor Azure SQL Database. De Bedrijfskritiek/premium-servicelaag biedt ook uitschalen van lees lezen waarmee u verbinding kunt maken met een van de secundaire knooppunten voor alleen-lezendoeleinden.
Naast de architectuur voor hoge beschikbaarheid die is opgenomen in Azure SQL Database, kunt u met de functie voor groepen voor automatische failover de replicatie en failover van databases in een beheerd exemplaar naar een andere regio beheren.
Aanmeldingen en groepen
Windows aanmeldingen niet worden ondersteund in Azure SQL Database, maakt u in plaats daarvan een Azure Active Directory aanmelding. Maak handmatig alle SQL aanmeldingen.
SQL agenttaken
SQL agenttaken worden niet rechtstreeks ondersteund in Azure SQL Database en moeten worden geïmplementeerd in taken voor elastische databases (preview).
Systeemdatabases
Voor Azure SQL Database zijn de enige toepasselijke systeemdatabases master en tempdb. Zie Tempdb inAzure SQL Database .
Geavanceerde functies
Zorg ervoor dat u profiteert van de geavanceerde cloudfuncties in SQL Database. U hoeft zich bijvoorbeeld geen zorgen te maken over het beheren van back-ups, omdat de service dit voor u doet. U kunt binnen de retentieperiode herstellen naar een bepaald tijdstip.
U kunt de beveiliging verbeteren door Azure AD-verificatie, controle,detectie van bedreigingen, beveiliging op rijniveau en dynamische gegevensmaskering te gebruiken.
Naast geavanceerde beheer- en beveiligingsfuncties biedt SQL Database hulpprogramma's waarmee u uw workload kunt bewaken en afstemmen. Azure SQL Analytics (preview) is een geavanceerde oplossing voor het bewaken van de prestaties van al uw databases in Azure SQL Database op schaal en voor meerdere abonnementen in één weergave. Azure SQL Analytics verzamelt en visualiseert belangrijke prestatiemetrieken met ingebouwde intelligentie voor het oplossen van prestatieproblemen.
Automatisch afstemmen bewaakt continu de prestaties van SQL uitvoeringsplan en lost automatisch geïdentificeerde prestatieproblemen op.
Migratie-assets
Zie de volgende resources die zijn ontwikkeld voor echte migratieprojecten voor meer hulp.
| Asset | Description |
|---|---|
| Model en hulpprogramma voor evaluatie van gegevensworkloads | Dit hulpprogramma biedt voorgestelde 'best fit' doelplatforms, cloud-gereedheid en een herstelniveau voor een toepassing/database voor een workload. Het biedt eenvoudige berekening met één klik en het genereren van een rapport waarmee u grote evaluaties van onroerend goed kunt versnellen door een geautomatiseerd en uniform beslissingsproces te bieden voor doelplatforms. |
| Bulksgewijs databases maken met PowerShell | U kunt een set van drie PowerShell-scripts gebruiken voor het maken van een resourcegroep (create_rg.ps1), de logische server in Azure (create_sqlserver.ps1) en een SQL-database (create_sqldb.ps1). De scripts bevatten lusmogelijkheden, zodat u zoveel servers en databases kunt herhalen en maken als nodig is. |
| Bulkschema-implementatie met MSSQL-Scripter en PowerShell | Met deze asset maakt u een resourcegroep, maakt u een of meer logische servers in Azure om Azure SQL Database te hosten, exporteert u elk schema van een on-premises SQL Server-exemplaar (of meerdere SQL Server 2005+-exemplaren) en importeert u de schema's naar Azure SQL Database. |
| Taken SQL Server Agent converteren naar elastische databasetaken | Met dit script migreert u de SQL Server Agent-taken naar elastische databasetaken. |
| Hulpprogramma voor het verplaatsen van on-premises SQL Server aanmeldingen naar Azure SQL Database | Met een PowerShell-script kunt u een T-SQL-opdrachtscript maken om opnieuw aanmeldingen te maken en databasegebruikers te selecteren van on-premises SQL Server om Azure SQL Database. Het hulpprogramma maakt automatische toewijzing van Windows Server Active Directory accounts aan Azure AD-accounts mogelijk, samen met optioneel SQL Server systeemeigen aanmeldingen. |
| Automatisering van gegevensverzameling perfmon met behulp van Logman | U kunt het hulpprogramma Logman gebruiken om Perfmon-gegevens te verzamelen (zodat u inzicht krijgt in de basislijnprestaties) en aanbevelingen voor migratiedoel te krijgen. Dit hulpprogramma gebruikt logman.exe om de opdracht te maken waarmee prestatiemeters worden gemaakt, starten, stoppen en verwijderen die zijn ingesteld op een extern SQL Server exemplaar. |
Het Data SQL Engineering-team heeft deze resources ontwikkeld. De kern van dit team is het deblokkeren en versnellen van complexe modernisering voor gegevensplatformmigratieprojecten naar het Azure-gegevensplatform van Microsoft.
Volgende stappen
Als u uw SQL Server databases wilt migreren naar Azure SQL Database, bekijkt u de SQL Server voor Azure SQL Database migratiehandleiding.
Zie Services en hulpprogramma's voor gegevensmigratie voor een matrix met services en hulpprogramma's die u kunnen helpen bij database- en gegevensmigratiescenario's en speciale taken.
Voor meer informatie over SQL Database, zie:
Zie voor meer informatie over het framework en de acceptatiecyclus voor cloudmigraties:
Zie Data Access Migration Toolkit (preview) om detoegangslaag van de toepassing te beoordelen.
Zie voor meer informatie over het uitvoeren van A/B-tests voor de gegevenstoegangslaag Database Experimentation Assistant.