SQL Server-adatbázisok migrálása az Azure SQL Database-beSQL Server database migration to Azure SQL Database

a következőkre vonatkozik: Azure SQL Database

Ebből a cikkből megtudhatja, hogyan telepíthet át egy SQL Server 2005-es vagy újabb verziójú adatbázist Azure SQL Databasere.In this article, you learn about the primary methods for migrating a SQL Server 2005 or later database to Azure SQL Database. A felügyelt Azure SQL-példányra való áttelepítéssel kapcsolatos információkért lásd: SQL Server példány áttelepítése az Azure SQL felügyelt példányára.For information on migrating to Azure SQL Managed Instance, see Migrate a SQL Server instance to Azure SQL Managed Instance. Az áttelepítési lehetőségek és az Azure SQL-re való áttelepítési eszközök kiválasztásával kapcsolatos útmutatásért lásd: áttelepítés az Azure SQL-beFor guidance on choosing migration options and tools to migrate to Azure SQL, see Migrate to Azure SQL

Migrálás önálló adatbázisba vagy készletezett adatbázisbaMigrate to a single database or a pooled database

Két elsődleges módszer létezik egy SQL Server 2005-es vagy újabb adatbázis áttelepítésére Azure SQL Databasere.There are two primary methods for migrating a SQL Server 2005 or later database to Azure SQL Database. Az első módszer egyszerűbb, azonban jelentős állásidőt igényelhet a migrálás során.The first method is simpler but requires some, possibly substantial, downtime during the migration. A második módszer bonyolultabb, viszont nem jár állásidővel a migrálás közben.The second method is more complex, but substantially eliminates downtime during the migration.

Mindkét esetben biztosítania kell, hogy a forrásadatbázis kompatibilis legyen Azure SQL Database a Data Migration Assistant (DMA)használatával.In both cases, you need to ensure that the source database is compatible with Azure SQL Database using the Data Migration Assistant (DMA). A SQL Database a szolgáltatás paritása SQL Serverekkel közelíthető meg, a kiszolgálói szintű és az adatbázison átívelő műveletekkel kapcsolatos problémák kivételével.SQL Database is approaching feature parity with SQL Server, other than issues related to server-level and cross-database operations. A részben támogatott vagy nem támogatott funkciókra támaszkodó adatbázisokat és alkalmazásokat némileg át kell alakítani ezen inkompatibilitások kijavítása érdekében, még mielőtt áttelepíthetné az SQL Server-adatbázist.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.

Megjegyzés

Nem SQL Server-adatbázis (beleértve a Microsoft Access-, Sybase-, MySQL Oracle- és DB2-adatbázisokat) az Azure SQL Database-be történő áttelepítéséhez lásd az SQL Server áttelepítési segédet ismertető cikket.To migrate a non-SQL Server database, including Microsoft Access, Sybase, MySQL Oracle, and DB2 to Azure SQL Database, see SQL Server Migration Assistant.

1. módszer: Állásidővel járó migrálásMethod 1: Migration with downtime during the migration

Ezzel a módszerrel áttelepítheti az áttelepítést egy vagy készletezett adatbázisba, ha bizonyos állásidőt szeretne biztosítani, vagy egy éles adatbázis tesztelési célú áttelepítését végzi későbbi áttelepítésre.Use this method to migrate to a single or a pooled database if you can afford some downtime or you're performing a test migration of a production database for later migration. Oktatóanyagért lásd: SQL Server-adatbázis migrálása.For a tutorial, see Migrate a SQL Server database.

A következő lista az egyetlen vagy készletezett adatbázis SQL Server adatbázis-áttelepítésének általános munkafolyamatát tartalmazza ezzel a módszerrel.The following list contains the general workflow for a SQL Server database migration of a single or a pooled database using this method. A felügyelt SQL-példányra való áttelepítéssel kapcsolatban lásd: áttelepítés az SQL felügyelt példányára.For migration to SQL Managed Instance, see Migration to SQL Managed Instance.

VSSSDT áttelepítési ábra

  1. A Data Migration Assistant (DMA)legújabb verziójának használatával mérje fel az adatbázis kompatibilitását.Assess the database for compatibility by using the latest version of the Data Migration Assistant (DMA).
  2. A szükséges javításokat Transact-SQL szkriptekként készítse elő.Prepare any necessary fixes as Transact-SQL scripts.
  3. Végezze el az áttelepített forrásadatbázis tranzakciós szempontból konzisztens másolatát, vagy állítson le új tranzakciókat a forrás-adatbázisból az áttelepítés során.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. Az utóbbi lehetőség végrehajtásának módszerei közé tartozik az Ügyfélkapcsolat letiltása vagy az adatbázis-pillanatképlétrehozása.Methods to accomplish this latter option include disabling client connectivity or creating a database snapshot. Az áttelepítés után a tranzakciós replikáció használatával frissítheti az áttelepített adatbázisokat az áttelepítéshez szükséges kivágási pont utáni változásokkal.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. Lásd: a Migrálás tranzakciós áttelepítés használatával.See Migrate using Transactional Migration.
  4. Helyezze üzembe a Transact-SQL szkripteket a javítások alkalmazásához az adatbázis másolatán.Deploy the Transact-SQL scripts to apply the fixes to the database copy.
  5. Telepítse át az adatbázis másolatát egy új adatbázisba Azure SQL Database a Data Migration Assistant használatával.Migrate the database copy to a new database in Azure SQL Database by using the Data Migration Assistant.

Megjegyzés

A DMA használata helyett használhat BACPAC-fájlt is.Rather than using DMA, you can also use a BACPAC file. Lásd: BACPAC-fájl importálása egy új adatbázisba Azure SQL Databaseban.See Import a BACPAC file to a new database in Azure SQL Database.

Az adatátviteli teljesítmény optimalizálása migrálás közbenOptimizing data transfer performance during migration

Az alábbi lista az importálási teljesítmény optimalizálására vonatkozó javaslatokat tartalmaz.The following list contains recommendations for best performance during the import process.

  • Válassza ki a legmagasabb szolgáltatási szintet és számítási méretet, amelyet a költségkeret az átvitel teljesítményének maximalizálására tesz lehetővé.Choose the highest service tier and compute size that your budget allows to maximize the transfer performance. A migrálás után vertikális leskálázással pénzt takaríthat meg.You can scale down after the migration completes to save money.
  • Csökkentse a BACPAC-fájl és a cél adatközpont közötti távolságot.Minimize the distance between your BACPAC file and the destination data center.
  • Az AutoStatisztika letiltása az áttelepítés soránDisable autostatistics during migration
  • Particionálja a táblákat és az indexeket.Partition tables and indexes
  • Vesse el, majd a folyamat befejezése után hozza létre újra az indexelt nézeteket.Drop indexed views, and recreate them once finished
  • Távolítsa el a ritkán lekérdezett korábbi adatlekérdezéseket egy másik adatbázisba, és telepítse át ezeket az előzményeket egy külön adatbázisba Azure SQL Database.Remove rarely queried historical data to another database and migrate this historical data to a separate database in Azure SQL Database. Ezután lekérdezheti ezeket az előzményadatokat a rugalmas lekérdezések használatával.You can then query this historical data using elastic queries.

A teljesítmény optimalizálása a migrálás befejezése utánOptimize performance after the migration completes

A migrálás befejezése után végezzen teljes vizsgálatot a statisztikák frissítéséhez.Update statistics with full scan after the migration is completed.

2. módszer: Tranzakciós replikáció használataMethod 2: Use Transactional Replication

Ha nem engedheti meg, hogy az áttelepítést követően eltávolítsa a SQL Server adatbázist az éles környezetből, SQL Server tranzakciós replikációt is használhat áttelepítési megoldásként.When you can't 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. A módszer használatának feltétele, hogy a forrásadatbázisnak meg kell felelnie a tranzakciós replikáció követelményeinek, valamint kompatibilisnek kell lennie az Azure SQL Database-szel is.To use this method, the source database must meet the requirements for transactional replication and be compatible for Azure SQL Database. További információ a mindig bekapcsolt SQL-replikációról: replikáció konfigurálása always on rendelkezésre állási csoportokhoz (SQL Server).For information about SQL replication with Always On, see Configure Replication for Always On Availability Groups (SQL Server).

A megoldás használatához az adatbázist Azure SQL Database előfizetőként kell konfigurálnia az áttelepíteni kívánt SQL Server-példányra.To use this solution, you configure your database in Azure SQL Database as a subscriber to the SQL Server instance that you wish to migrate. A tranzakciós replikáció terjesztője szinkronizálja az adatokat szinkronizálni kívánt adatbázisból (a közzétevőből), eközben új tranzakciók továbbra is történnek.The transactional replication distributor synchronizes data from the database to be synchronized (the publisher) while new transactions continue occur.

A tranzakciós replikáció során az adatai vagy sémája minden változása megjelenik az adatbázisban Azure SQL Databaseban.With transactional replication, all changes to your data or schema show up in your database in Azure SQL Database. Ha a szinkronizálás befejeződött, és készen áll az áttelepítésre, módosítsa az alkalmazások kapcsolódási karakterláncát úgy, hogy azok az adatbázisra mutassanak.Once the synchronization is complete and you're ready to migrate, change the connection string of your applications to point them to your database. Amikor a tranzakciós replikáció elvégezte az összes hátralévő forrásadatbázis-módosítást, valamint az összes alkalmazása az Azure-adatbázisra mutat, eltávolíthatja a tranzakciós replikációt.Once transactional replication drains any changes left on your source database and all your applications point to Azure DB, you can uninstall transactional replication. A Azure SQL Database adatbázisa mostantól az éles rendszer.Your database in Azure SQL Database is now your production system.

SeedCloudTR-diagram

Tipp

A tranzakciós replikációval a forrásadatbázis részhalmazát is migrálhatja.You can also use transactional replication to migrate a subset of your source database. Az Azure SQL Database-be replikált kiadvány a replikált adatbázis tábláinak részhalmaza is lehet.The publication that you replicate to Azure SQL Database can be limited to a subset of the tables in the database being replicated. Minden replikált tábla esetén korlátozhatja az adatokat a sor- és/vagy oszlopok meghatározott részhalmazaira.For each table being replicated, you can limit the data to a subset of the rows and/or a subset of the columns.

Migrálás az SQL Database-re a tranzakciós replikáció használatával – munkafolyamatMigration to SQL Database using Transaction Replication workflow

Fontos

A SQL Server Management Studio legújabb verziójának használatával szinkronizálhatja az Azure-ban és a SQL Database-ban lévő frissítéseket.Use the latest version of SQL Server Management Studio to remain synchronized with updates to Azure and SQL Database. Az SQL Server Management Studio régebbi verzióiban az SQL Database nem állítható be előfizetőként.Older versions of SQL Server Management Studio cannot set up SQL Database as a subscriber. Az SQL Server Management Studio frissítése.Update SQL Server Management Studio.

  1. Terjesztés beállításaSet up Distribution

  2. Kiadvány létrehozásaCreate Publication

  3. Előfizetés létrehozásaCreate Subscription

Tippek és különbségek az SQL Database-be való migráláshozSome tips and differences for migrating to SQL Database

  • Helyi terjesztő használataUse a local distributor
    • Ennek hatására a-kiszolgáló teljesítményére hatással lehet.Doing so causes a performance impact on the server.
    • Ha a teljesítményre kifejtett hatás mértéke nem elfogadható, használhat másik kiszolgálót, ez azonban megnehezíti a kezelést és az adminisztrációt.If the performance impact is unacceptable, you can use another server but it adds complexity in management and administration.
  • Pillanatképmappa kiválasztásakor győződjön meg arról, hogy a mappában az összes replikálni kívánt tábla BCP-je elfér.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.
  • A pillanatkép-létrehozás addig zárolja a társított táblákat, amíg a művelet be nem fejeződik, ezért megfelelően ütemezze a pillanatképet.Snapshot creation locks the associated tables until it's complete, so schedule your snapshot appropriately.
  • Az Azure SQL Database csak a leküldéses előfizetéseket támogatja.Only push subscriptions are supported in Azure SQL Database. Előfizetőket csak a forrásadatbázisból adhat hozzá.You can only add subscribers from the source database.

Adatbázis-migrálás kompatibilitási problémáinak megoldásaResolving database migration compatibility issues

Számos kompatibilitási probléma merülhet fel, amelyek a forrásadatbázis SQL Server verziójától és az áttelepíteni kívánt adatbázis összetettségének függvényében is előfordulhatnak.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're migrating. Az SQL Server korábbi verziói több kompatibilitási problémával rendelkeznek.Older versions of SQL Server have more compatibility issues. A következő forrásanyagokat érdemes használnia a keresőmotorokban végzett internetes keresés mellett:Use the following resources, in addition to a targeted Internet search using your search engine of choices:

Az interneten való keresés és ezen erőforrások használata mellett a Microsoft Q&a kérdéses oldalt Azure SQL Database vagy StackOverflow.In addition to searching the Internet and using these resources, use the Microsoft Q&A question page for Azure SQL Database or StackOverflow.

Fontos

Az Azure SQL felügyelt példánya lehetővé teszi, hogy a meglévő SQL Server-példányokat és annak adatbázisait minimálisan, kompatibilitási problémák nélkül áttelepítse.Azure SQL Managed Instance enables you to migrate an existing SQL Server instance and its databases with minimal to no compatibility issues. Lásd: Mi az a felügyelt példány.See What is a managed instance.

Következő lépésekNext steps