Megosztás a következőn keresztül:


Rövid útmutató: BACPAC-fájl importálása adatbázisba Azure SQL Database vagy Azure SQL Managed Instance

A következőre vonatkozik: :Azure SQL DatabaseAzure SQL Managed Instance

Egy SQL Server-adatbázist importálhat Azure SQL Database vagy SQL Managed Instance egy .bacpac fájl használatával. Az adatokat importálhatja egy AZURE Blob Storage-ban tárolt BACPAC-fájlból (csak standard tárterület), vagy egy helyszíni helyi tárolóból. Az importálási sebesség maximalizálása érdekében az importálási folyamat során az adatbázist magasabb szolgáltatási szintre és számítási méretre skálázhatja. Az importálás sikeres befejezése után csökkentheti a méretet.

Azure portál használata

Ebből a videóból megtudhatja, hogyan importálhat BACPAC-fájlból a Azure portálon, vagy folytathatja az olvasást:

  • A Azure portálonly támogatja egyetlen adatbázis létrehozását Azure SQL Database és only egy Azure Blob Storage-ban tárolt BACPAC-fájlból.
  • Ha bacPAC-fájlból szeretne áttelepíteni egy adatbázist Azure SQL Managed Instance, használja a SQL Server Management Studio vagy a SqlPackage parancssori segédprogramot. A Azure portál és Azure PowerShell jelenleg nem támogatottak.

Figyelmeztetés

Előfordulhat, hogy az SqlPackage-ből létrehozott 150 GB-nál nagyobb BACPAC-fájlok nem importálhatók a Azure portálról, vagy Azure PowerShell hibaüzenet jelenik meg, amely File contains corrupted data állapotot jelez. Ez egy ismert probléma eredménye, és a kerülő megoldás az, hogy a SqlPackage parancssori segédprogrammal importálja a BACPAC-fájlt. További információ: SqlPackage és a problémanapló.

Jegyzet

A Azure portálon vagy a PowerShellen keresztül küldött importálási/exportálási kérelmeket feldolgozó gépeknek tárolniuk kell a BACPAC-fájlt, valamint a Data-Tier Application Framework (DacFX) által létrehozott ideiglenes fájlokat. A szükséges lemezterület jelentősen eltér az azonos méretű adatbázisok között, és az adatbázis méretének háromszorosára is szükség lehet lemezterületre. Az importálási/exportálási kérelmet futtató gépeknek csak 450 GB helyi lemezterületük van. Emiatt előfordulhat, hogy egyes kérések meghiúsulnak a There is not enough space on the diskhiba miatt. Ebben az esetben a megkerülő megoldás az SqlPackage parancssori segédprogram futtatása egy olyan gépen, amelyen elegendő a helyi lemezterület. A probléma elkerülése érdekében javasoljuk, hogy az SqlPackage parancssori segédprogrammal importálja/exportálja a 150 GB-nál nagyobb adatbázisokat.

  1. Ha egy BACPAC-fájlból egy új adatbázisba szeretne importálni a Azure portál használatával, nyissa meg a megfelelő kiszolgálólapot, majd az eszköztáron válassza a Adatbázis importálása lehetőséget.

    A Azure portál logikai kiszolgáló áttekintési oldalának képernyőképe, az adatbázis importálása selected.

  2. Válassza a Biztonsági mentéskiválasztása lehetőséget. Válassza ki az adatbázist futtató tárfiókot, majd válassza ki azt a BACPAC-fájlt, amelyből importálni szeretné.

  3. Adja meg az új adatbázis méretét (általában ugyanaz, mint a forrás), és adja meg a cél SQL Server hitelesítő adatokat. A Azure SQL Database új adatbázis lehetséges értékeinek listáját a Adatbázis létrehozása című témakörben találja.

    A Azure portál képernyőképe, adatbázis importálási oldal.

  4. Kattintson az OK gombra.

  5. Az importálás előrehaladásának figyeléséhez nyissa meg az adatbázis kiszolgálóoldalát, és a Beállításokterületen válassza Importálási/exportálási előzményeklehetőséget. Ha sikeres az importálás, annak Befejezett az állapota.

    A Azure portál áttekintési oldalának képernyőképe, amelyen az adatbázis importálási állapota.

  6. Ha ellenőrizni szeretné, hogy az adatbázis élő-e a kiszolgálón, válassza SQL-adatbázisok, és ellenőrizze, hogy az új adatbázis Online-e.

Importálás felügyelt identitáshitelesítéssel (előzetes verzió)

Azure SQL Database támogatja a BACPAC-fájlok importálását managed identity hitelesítés használatával. Ez a beállítás teljesen hitelesítő adatok nélküli importálási műveleteket tesz lehetővé, és olyan környezetekhez ajánlott, amelyek letiltják az SQL-hitelesítést, vagy csak Microsoft Entra hitelesítést kényszerítenek ki.

Az adatbázist importálhatja egy új adatbázisba vagy egy meglévő üres adatbázisba.

Részletes oktatóanyagért lásd: Felügyelt identitás használata importálással és exportálással (előzetes verzió).

A BACPAC-fájl felügyelt identitáshitelesítéssel történő importálásához a következő konfiguráció szükséges:

  • Egy user által hozzárendelt felügyelt identitás (UAMI) hozzárendelve a logical kiszolgálóhoz Azure SQL Database.
  • A kiszolgáló felügyelt identitása Microsoft Entra rendszergazdaként van konfigurálva.
  • A felügyelt identitás a Storage Blob Data Reader szerepkörhöz van hozzárendelve a forrás Azure Storage fiókban. Ez a felügyelt identitás megegyezhet a kiszolgálóhoz rendelt vagy egy másik identitással.
  • A logikai kiszolgáló, a felügyelt identitás és a tárfiók a Microsoft Entra bérlőben található.

A következő forgatókönyvek nem támogatottak:

  • Bérlők közötti importálási műveletek.
  • A felügyelt identitás csak az adatbázis szintjén van hozzárendelve.

Jegyzet

A felügyelt identitáshitelesítéssel történő importálás jelenleg preview és csak Azure SQL Database érhető el.

Az SqlPackage használata

Ha SQL Server adatbázist szeretne importálni a SqlPackage parancssori segédprogrammal, tekintse meg a importálási paramétereket és tulajdonságokat. Letöltheti a legújabb SqlPackage Windows, macOS vagy Linux rendszerhez.

A skálázáshoz és a teljesítményhez az SqlPackage használatát javasoljuk a legtöbb éles környezetben a Azure portál használata helyett. Az SQL Server Ügyféltanácsadói csapat blogja a BACPAC fájlok használatával történő áttelepítésről: SQL Server Azure SQL Database a BACPAC-fájlok használatával.

A DTU-alapú kiépítési modell támogatja az adatbázis maximális méretének kiválasztását az egyes szintekhez. Adatbázis importálásakor használja a támogatott értékek egyikét.

Az alábbi SqlPackage parancs importálja a AdventureWorks2008R2 adatbázist a helyi tárolóból egy mynewserver20170403nevű logikai SQL-kiszolgálóra. Létrehoz egy új, myMigratedDatabase szolgáltatási szinttel és P6 szolgáltatási célkitűzéssel rendelkező adatbázist. Módosítsa ezeket az értékeket a környezetének megfelelően.

SqlPackage /a:import /tcs:"Data Source=<serverName>.database.windows.net;Initial Catalog=<migratedDatabase>;User Id=<userId>;Password=<password>" /sf:AdventureWorks2008R2.bacpac /p:DatabaseEdition=Premium /p:DatabaseServiceObjective=P6

Fontos

A vállalati tűzfal mögötti Azure SQL Database való csatlakozáshoz a tűzfalnak nyitva kell lennie az 1433-at. A SQL Managed Instance való csatlakozáshoz pont–hely kapcsolattal vagy expressz útvonalkapcsolattal kell rendelkeznie.

A felhasználónév és a jelszó helyett használhatja a Microsoft Entra ID (formerly Azure Active Directory). Az Import/Export szolgáltatás jelenleg nem támogatja Microsoft Entra ID hitelesítést, ha MFA szükséges. Cserélje le a felhasználónév és a jelszó paramétereit /ua:true és /tid:"yourdomain.onmicrosoft.com". Ez a példa bemutatja, hogyan importálhat adatbázist az SqlPackage használatával Microsoft Entra hitelesítéssel:

SqlPackage /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"

Visual Studio Code

A Visual Studio Code MSSQL-bővítménye egy ingyenes, nyílt forráskódú bővítmény, amely Windows, macOS és Linux rendszeren érhető el. A bővítmény tartalmazza az SqlPackage-műveletek adatrétegű alkalmazásának (előzetes verzió) felületét, beleértve az exportálást és az importálást is. A bővítmény telepítésével és használatával kapcsolatos további információkért tekintse meg a MSSQL bővítményt Visual Studio Code.

A PowerShell használata

Jegyzet

Azure SQL Managed Instance jelenleg nem támogatja az adatbázis példány-adatbázisba való migrálását BACPAC-fájlból Azure PowerShell használatával. Felügyelt SQL-példányba való importáláshoz használja a SQL Server Management Studio vagy az SQLPackage parancsot.

Jegyzet

A portálon vagy a PowerShellen keresztül küldött importálási/exportálási kérelmeket feldolgozó gépeknek tárolniuk kell a BACPAC-fájlt, valamint a Data-Tier Application Framework (DacFX) által létrehozott ideiglenes fájlokat. A szükséges lemezterület jelentősen eltér az azonos méretű adatbázisok között, és az adatbázis méretének akár háromszorosát is igénybe veheti. Az importálási/exportálási kérelmet futtató gépeknek csak 450 GB helyi lemezterületük van. Emiatt előfordulhat, hogy egyes kérések a következő hibával hiúsulnak meg: There is not enough space on the disk. Ebben az esetben a megkerülő megoldás az SqlPackage futtatása olyan gépen, amelyen elegendő a helyi lemezterület. A 150 GB-nál nagyobb adatbázisok importálása/exportálása során az SqlPackage használatával elkerülheti ezt a problémát.

Fontos

A PowerShell Azure Resource Manager (AzureRM) modul 2024. február 29-én elavult. Minden jövőbeli fejlesztésnek az Az.Sql modult kell használnia. Javasoljuk a felhasználóknak, hogy migráljanak az AzureRM-ből az Az PowerShell-modulba a folyamatos támogatás és frissítések biztosítása érdekében. Az AzureRM-modult a továbbiakban nem tartjuk karban vagy támogatjuk. Az Az PowerShell-modulban és az AzureRM-modulokban található parancsok argumentumai lényegében azonosak. A kompatibilitásukról további információt az új Az PowerShell-modul bemutatása című témakörben talál.

A New-AzSqlDatabaseImport parancsmaggal küldje el az importálási adatbázis-kérelmet Azure. Az adatbázis méretétől függően az importálás eltarthat egy ideig. A DTU-alapú kiépítési modell támogatja az adatbázis maximális méretének kiválasztását az egyes szintekhez. Adatbázis importálásakor használja a támogatott értékek egyikét.

$importRequest = New-AzSqlDatabaseImport -ResourceGroupName "<resourceGroupName>" `
    -ServerName "<serverName>" -DatabaseName "<databaseName>" `
    -DatabaseMaxSizeBytes "<databaseSizeInBytes>" -StorageKeyType "StorageAccessKey" `
    -StorageKey $(Get-AzStorageAccountKey `
        -ResourceGroupName "<resourceGroupName>" -StorageAccountName "<storageAccountName>").Value[0] `
        -StorageUri "https://myStorageAccount.blob.core.windows.net/importsample/sample.bacpac" `
        -Edition "Premium" -ServiceObjectiveName "P6" `
        -AdministratorLogin "<userId>" `
        -AdministratorLoginPassword $(ConvertTo-SecureString -String "<password>" -AsPlainText -Force)

A Get-AzSqlDatabaseImportExportStatus parancsmaggal ellenőrizheti az importálás előrehaladását a. A parancsmag futtatása közvetlenül a kérés után általában Status: InProgressértéket ad vissza. Az importálás akkor fejeződik be, ha Status: Succeededjelenik meg.

$importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink

[Console]::Write("Importing")
while ($importStatus.Status -eq "InProgress") {
    $importStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $importRequest.OperationStatusLink
    [Console]::Write(".")
    Start-Sleep -s 10
}

[Console]::WriteLine("")
$importStatus

Borravaló

Egy másik példaszkriptet a BACPAC-fájlok SQL Database-beli adatbázisba való importálásához a PowerShell használatával című témakörben talál.

Az importálási kérelem megszakítása

Használja a Database Operations – Cancel API vagy a Stop-AzSqlDatabaseActivity PowerShell parancsot, ahogyan az alábbi példában is látható:

Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -OperationId $Operation.OperationId

Az importálás megszakításához szükséges engedélyek

Az importálási művelet megszakításához az alábbi szerepkörök egyikének kell lennie:

Az új adatbázis kompatibilitási szintje

  • Az importált adatbázis kompatibilitási szintje a forrásadatbázis kompatibilitási szintjén alapul.

  • Az adatbázis importálása után dönthet úgy, hogy az adatbázist a jelenlegi kompatibilitási szinten vagy magasabb szinten üzemelteti. Az adatbázisok adott kompatibilitási szinten történő működtetésének következményeiről és lehetőségeiről az ALTER DATABASE kompatibilitási szintjén talál további információt. A kompatibilitási szintekhez kapcsolódó egyéb adatbázisszintű beállításokkal kapcsolatos információkért lásd: ALTER DATABASE SCOPED CONFIGURATION.

Korlátozások

  • A rugalmas készletben lévő adatbázisba való importálás nem támogatott a Azure portálon, Azure PowerShell vagy Azure CLI keresztül. Ehelyett hozzon létre egy adatbázist a rugalmas készletben, majd használja SQLPackage Import, vagy importálja az adatokat bármilyen módszerrel egyetlen adatbázisba, majd helyezze át az adatbázist egy rugalmas készletbe.
  • Az Exportálási szolgáltatás importálása nem működik, ha a Azure szolgáltatásokhoz való hozzáférés engedélyezése KI értékre van állítva. Megkerülheti azonban a problémát, ha manuálisan futtatja az SqlPackage-t egy Azure virtuális gépről, vagy közvetlenül a kódban hajtja végre az exportálást a DacFx API használatával.
  • Az importálás nem támogatja a biztonsági mentési tár redundanciának megadását egy új adatbázis létrehozásakor, és az alapértelmezett georedundáns biztonsági mentési tár redundanciájával hozza létre. A megoldáshoz először hozzon létre egy üres adatbázist a kívánt biztonsági mentési tár redundanciájával Azure portál vagy PowerShell használatával, majd importálja a BACPAC-t ebbe az üres adatbázisba.
  • A tűzfal mögötti tárolás jelenleg nem támogatott.
  • Az importálási folyamat során ne hozzon létre azonos nevű adatbázist. Az importálási folyamat létrehoz egy új adatbázist a megadott névből.
  • Az Import/Export szolgáltatás jelenleg nem támogatja Microsoft Entra ID hitelesítést, ha MFA szükséges.
  • Az Import\Export szolgáltatások csak az SQL-hitelesítést és a Microsoft Entra ID támogatják. Az Import\Export nem kompatibilis a Microsoft Identity alkalmazásregisztrációjával.

További eszközök

Ezeket a varázslókat is használhatja.