SQL Server database migratie naar Azure SQL DatabaseSQL Server database migration to Azure SQL Database

In dit artikel vindt u informatie over de primaire methoden voor het migreren van een Data Base van SQL Server 2005 of hoger naar een enkele of gegroepeerde Data base in Azure SQL Database.In this article, you learn about the primary methods for migrating a SQL Server 2005 or later database to a single or pooled database in Azure SQL Database. Voor informatie over het migreren naar een beheerd exemplaar, Zie migreren naar SQL Server-exemplaar naar Azure SQL database beheerd exemplaar.For information on migrating to a Managed Instance, see Migrate to SQL Server instance to Azure SQL Database Managed Instance. Raadpleeg de migratie handleiding voor Azure data basevoor migratie-informatie over het migreren van andere platforms.For migration information about migrating from other platforms, see Azure Database Migration Guide.

Migreren naar een enkele data base of een gegroepeerde Data BaseMigrate to a single database or a pooled database

Er zijn twee primaire methoden voor het migreren van een Data Base van SQL Server 2005 of hoger naar een enkele of gegroepeerde Data base in Azure SQL Database.There are two primary methods for migrating a SQL Server 2005 or later database to a single or pooled database in Azure SQL Database. De eerste methode is eenvoudiger, maar leidt wel tot enige uitvaltijd tijdens de migratie. In bepaalde gevallen kan deze uitvaltijd aanzienlijk zijn.The first method is simpler but requires some, possibly substantial, downtime during the migration. De tweede methode is complexer, maar veroorzaakt tijdens de migratie veel minder uitvaltijd.The second method is more complex, but substantially eliminates downtime during the migration.

In beide gevallen moet u ervoor zorgen dat de bron database compatibel is met Azure SQL Database met behulp van de Data Migration Assistant (DMA).In both cases, you need to ensure that the source database is compatible with Azure SQL Database using the Data Migration Assistant (DMA). SQL Database V12 is bijna gelijk aan de functie pariteit met SQL Server, met uitzonde ring van problemen met betrekking tot bewerkingen op server niveau en meerdere data bases.SQL Database V12 is approaching feature parity with SQL Server, other than issues related to server-level and cross-database operations. Bij databases en toepassingen die afhankelijk zijn van slechts gedeeltelijk of in het geheel niet ondersteunde functies, is een zekere mate van herstructurering vereist om compatibiliteitsproblemen op te lossen voordat de SQL Server-database kan worden gemigreerd.Databases and applications that rely on partially supported or unsupported functions need some re-engineering to fix these incompatibilities before the SQL Server database can be migrated.

Notitie

Voor het migreren van een SQL Server-database, met inbegrip van Microsoft Access, Sybase, MySQL Oracle en DB2, naar Azure SQL Database raadpleegt u SQL Server Migration Assistant (Migratieassistent voor SQL Server).To migrate a non-SQL Server database, including Microsoft Access, Sybase, MySQL Oracle, and DB2 to Azure SQL Database, see SQL Server Migration Assistant.

Methode 1: Migratie die gepaard gaat met uitvaltijdMethod 1: Migration with downtime during the migration

Gebruik deze methode om naar een enkele of een gegroepeerde Data Base te migreren als u enige downtime kunt of een test migratie van een productie database uitvoert voor latere migratie.Use this method to migrate to a single or a pooled database if you can afford some downtime or you are performing a test migration of a production database for later migration. Zie een SQL Server-Data Base migrerenvoor een zelf studie.For a tutorial, see Migrate a SQL Server database.

De volgende lijst bevat de algemene werk stroom voor een SQL Server database migratie van een enkele of een gegroepeerde Data Base met behulp van deze methode.The following list contains the general workflow for a SQL Server database migration of a single or a pooled database using this method. Zie migratie naar een beheerd exemplaarvoor migratie naar een beheerd exemplaar.For migration to Managed Instance, see Migration to a Managed Instance.

Diagram van VSSSDT-migratie

  1. Evalueer de Data Base voor compatibiliteit met behulp van de nieuwste versie van de Data Migration Assistant (DMA).Assess the database for compatibility by using the latest version of the Data Migration Assistant (DMA).
  2. Bereid alle benodigde fixes voor als Transact-SQL-scripts.Prepare any necessary fixes as Transact-SQL scripts.
  3. Maak een transactioneel consistente kopie van de bron database die wordt gemigreerd of stopt nieuwe trans acties in de bron database terwijl de migratie plaatsvindt.Make a transactionally consistent copy of the source database being migrated or halt new transactions from occurring in the source database while migration is occurring. Voor het uitvoeren van deze laatste optie, waaronder het uitschakelen van client connectiviteit of het maken van een moment opname van een Data Base.Methods to accomplish this latter option include disabling client connectivity or creating a database snapshot. Na de migratie kunt u transactionele replicatie gebruiken om de gemigreerde data bases bij te werken met wijzigingen die zich voordoen na het afsluit punt voor de migratie.After migration, you may be able to use transactional replication to update the migrated databases with changes that occur after the cutoff point for the migration. Zie migreren met transactionele migratie.See Migrate using Transactional Migration.
  4. Implementeer de Transact-SQL-scripts om de fixes toe te passen op de databasekopie.Deploy the Transact-SQL scripts to apply the fixes to the database copy.
  5. Migreer de database kopie naar een nieuwe Azure SQL database met behulp van de Data Migration Assistant.Migrate the database copy to a new Azure SQL Database by using the Data Migration Assistant.

Notitie

In plaats van DMA te gebruiken, kunt u ook een BACPAC-bestand gebruiken.Rather than using DMA, you can also use a BACPAC file. Zie een BACPAC-bestand importeren in een nieuwe Azure SQL database.See Import a BACPAC file to a new Azure SQL Database.

De prestaties van de gegevensoverdracht tijdens de migratie optimaliserenOptimizing data transfer performance during migration

Hieronder leest u enkele aanbevelingen voor het behalen van optimale prestaties tijdens het importeren.The following list contains recommendations for best performance during the import process.

  • Kies de hoogste servicelaag en reken grootte die uw budget toestaat om de overdrachts prestaties te maximaliseren.Choose the highest service tier and compute size that your budget allows to maximize the transfer performance. Na voltooiing van de migratie kunt u weer omlaag schalen om geld te besparen.You can scale down after the migration completes to save money.
  • Minimaliseer de afstand tussen uw BACPAC-bestand en het doel Data Center.Minimize the distance between your BACPAC file and the destination data center.
  • Schakel automatische statistieken tijdens de migratie uit.Disable auto-statistics during migration
  • Partitioneer tabellen en indexen.Partition tables and indexes
  • Verwijder geïndexeerde weergaven en maak ze opnieuw nadat de migratie is voltooid.Drop indexed views, and recreate them once finished
  • Verplaats zelden opgevraagde historische gegevens naar een andere database en migreer ze vervolgens naar een afzonderlijke Azure SQL-database.Remove rarely queried historical data to another database and migrate this historical data to a separate Azure SQL database. U kunt dan elastische query's uitvoeren om eventueel benodigde historische gegevens op te vragen.You can then query this historical data using elastic queries.

Prestaties optimaliseren nadat de migratie is voltooidOptimize performance after the migration completes

Werk uw statistieken bij met een volledige scan nadat de migratie is voltooid.Update statistics with full scan after the migration is completed.

Methode 2: Transactionele replicatie gebruikenMethod 2: Use Transactional Replication

Als u het zich niet kunt permitteren om tijdens de migratie uw SQL Server-database uit de productieomgeving te verwijderen, kunt u als migratieoplossing transactionele replicatie voor SQL Server gebruiken.When you cannot afford to remove your SQL Server database from production while the migration is occurring, you can use SQL Server transactional replication as your migration solution. Voor het gebruik van deze methode moet de brondatabase voldoen aan de vereisten voor transactionele replicatie en compatibel zijn met Azure SQL Database.To use this method, the source database must meet the requirements for transactional replication and be compatible for Azure SQL Database. Zie replicatie configureren voor AlwaysOn- beschikbaarheids groepen (SQL Server)voor meer informatie over SQL-replicatie met Always on.For information about SQL replication with Always On, see Configure Replication for Always On Availability Groups (SQL Server).

Als u deze oplossing wilt gebruiken, configureert u uw Azure SQL Database als abonnee voor het SQL Server-exemplaar dat u wilt migreren.To use this solution, you configure your Azure SQL Database as a subscriber to the SQL Server instance that you wish to migrate. De distributeur voor transactionele replicatie synchroniseert dan de gegevens uit de database die moeten worden gesynchroniseerd (de uitgever) terwijl er nieuwe transacties blijven binnenkomen.The transactional replication distributor synchronizes data from the database to be synchronized (the publisher) while new transactions continue occur.

Met transactionele replicatie komen alle wijzigingen aan uw gegevens of schema in uw Azure SQL Database terecht.With transactional replication, all changes to your data or schema show up in your Azure SQL Database. Nadat de synchronisatie is voltooid en u klaar bent om te migreren, wijzigt u de verbindingstekenreeks in uw toepassingen zodanig dat deze naar uw Azure SQL Database verwijst.Once the synchronization is complete and you are ready to migrate, change the connection string of your applications to point them to your Azure SQL Database. Wanneer door toepassing van transactionele replicatie alle wijzigingen die nog in uw brondatabase aanwezig zijn, zijn overgenomen en al uw toepassingen naar Azure DB verwijzen, kunt u de functie voor transactionele replicatie verwijderen.Once transactional replication drains any changes left on your source database and all your applications point to Azure DB, you can uninstall transactional replication. Uw Azure SQL Database is nu uw productiesysteem.Your Azure SQL Database is now your production system.

SeedCloudTR-diagram

Tip

U kunt transactionele replicatie ook gebruiken voor het migreren van een subset van uw brondatabase.You can also use transactional replication to migrate a subset of your source database. De publicatie die u naar Azure SQL Database repliceert, kan worden beperkt tot een subset van de tabellen in de betreffende database.The publication that you replicate to Azure SQL Database can be limited to a subset of the tables in the database being replicated. Voor elke tabel die wordt gerepliceerd, kunt u de gegevens beperken tot een subset van de rijen en/of een subset van de kolommen.For each table being replicated, you can limit the data to a subset of the rows and/or a subset of the columns.

Migratie naar SQL Database met de transactiereplicatiewerkstroomMigration to SQL Database using Transaction Replication workflow

Belangrijk

Gebruik altijd de nieuwste versie van SQL Server Management Studio om gesynchroniseerd te blijven met updates voor Microsoft Azure en SQL Database.Use the latest version of SQL Server Management Studio to remain synchronized with updates to Microsoft Azure and SQL Database. In oudere versies van SQL Server Management Studio kunt u SQL Database niet instellen als abonnee.Older versions of SQL Server Management Studio cannot set up SQL Database as a subscriber. SQL Server Management Studio bijwerken.Update SQL Server Management Studio.

  1. Distributie instellenSet up Distribution

  2. Publicatie makenCreate Publication

  3. Abonnement makenCreate Subscription

Enkele tips en verschillen met betrekking tot migratie naar SQL DatabaseSome tips and differences for migrating to SQL Database

  • Gebruik een lokale distributeur.Use a local distributor
    • Dit veroorzaakt een invloed op de prestaties van de server.Doing so causes a performance impact on the server.
    • Als de prestatie-impact onacceptabel is, kunt u een andere server gebruiken, maar dit verhoogt wel de complexiteit van het beheer.If the performance impact is unacceptable, you can use another server but it adds complexity in management and administration.
  • Als u een map met momentopnamen selecteert, moet u ervoor zorgen dat de map die u selecteert, groot genoeg is voor een BCP van elke tabel die u wilt repliceren.When selecting a snapshot folder, make sure the folder you select is large enough to hold a BCP of every table you want to replicate.
  • Als u een momentopname maakt, worden de gekoppelde tabellen vergrendeld totdat het proces is voltooid. Het is dus belangrijk dat u het maken van momentopnamen goed plant.Snapshot creation locks the associated tables until it is complete, so schedule your snapshot appropriately.
  • In Azure SQL Database worden alleen push-abonnementen ondersteund.Only push subscriptions are supported in Azure SQL Database. U kunt alleen abonnees toevoegen vanuit de brondatabase.You can only add subscribers from the source database.

Compatibiliteitsproblemen met databasemigratie oplossenResolving database migration compatibility issues

Er zijn veel verschillende compatibiliteitsproblemen die zich kunnen voordoen. Dit is afhankelijk van de versie van SQL Server in de brondatabase en de complexiteit van de database die u migreert.There are a wide variety of compatibility issues that you might encounter, depending both on the version of SQL Server in the source database and the complexity of the database you are migrating. Oudere versies van SQL Server hebben vaker te maken met compatibiliteitsproblemen.Older versions of SQL Server have more compatibility issues. Gebruik de volgende resources en voer ook op internet een gerichte zoekopdracht uit (met uw zoekmachine):Use the following resources, in addition to a targeted Internet search using your search engine of choices:

In aanvulling op deze resources en uw zoekopdrachten op internet kunt u ook de MSDN SQL Server-communityforums of StackOverflow raadplegen.In addition to searching the Internet and using these resources, use the MSDN SQL Server community forums or StackOverflow.

Belangrijk

Met SQL Database Managed Instance kunt u een bestaand SQL Server exemplaar en de bijbehorende data bases migreren met minimale problemen met de compatibiliteit.SQL Database Managed Instance enables you to migrate an existing SQL Server instance and its databases with minimal to no compatibility issues. Zie Wat is een beheerd exemplaar.See What is an Managed Instance.

Volgende stappenNext steps