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


Rövid útmutató: Bacpac-fájl importálása adatbázisba az Azure SQL Database-ben vagy felügyelt Azure SQL-példányban

A következőkre vonatkozik:Azure SQL-adatbázisAzure SQL-felügyelt példány

SQL Server-adatbázist importálhat az Azure SQL Database-be vagy a felügyelt SQL-példányba 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.

Jegyzet

Private Link használatával történő importálás és exportálás előzetes verzióban érhető el.

Az Azure Portal használata

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

  • A Azure Portal csak támogatja egyetlen adatbázis létrehozását az Azure SQL Database-ben, és csak az Azure Blob Storage-ban tárolt bacpac-fájlból .
  • Ha egy adatbázist bacpac-fájlból Azure SQL-példányba szeretne migrálni, használja az SQL Server Management Studiót vagy a SqlPackage parancssori segédprogramot. Az Azure Portal és az Azure PowerShell jelenleg nem támogatott.

Figyelmeztetés

Előfordulhat, hogy az SqlPackage-ből létrehozott 150 GB-nál nagyobb Bacpac-fájlok nem importálhatók az Azure Portalról vagy az Azure PowerShellből egy hibaüzenettel, amely azt jelzi, hogy File contains corrupted data. Ez egy ismert probléma eredménye, és a kerülő megoldás az SqlPackage parancssori segédprogram használata a bacpac-fájl importálásához. További információ: SqlPackage és a problémanapló.

Jegyzet

Az Azure Portalon 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 bacpac-fájlból szeretne importálni egy új adatbázisba az Azure Portal használatával, nyissa meg a megfelelő kiszolgálólapot, majd az eszköztáron válassza Adatbázis importálásalehetőséget.

    Képernyőkép az Azure Portal logikai kiszolgáló áttekintési oldaláról, amelyen az adatbázis importálása van kiválasztva.

  2. Válassza a Biztonsági mentéskiválasztása lehetőséget. Válassza ki az adatbázist üzemeltető 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 megegyezik a forrással), és adja meg a cél SQL Server hitelesítő adatait. Az Azure SQL Database-ben lévő új adatbázisok lehetséges értékeinek listáját az Adatbázis létrehozásacímű témakörben találja.

    Képernyőkép az Azure Portal adatbázis-importálási oldaláról.

  4. Válassza OKlehetőséget.

  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.

    Képernyőkép az Azure Portal kiszolgálóáttekintő oldaláról, amelyen az adatbázis importálási állapota látható.

  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.

Az SqlPackage használata

Ha SQL Server-adatbázist szeretne importálni az SqlPackage parancssori segédprogrammal, tekintse meg paraméterek és tulajdonságok importálását. Letöltheti a legújabb SqlPackage Windowshoz, macOS-hez vagy Linuxhoz.

A skálázáshoz és a teljesítményhez az SqlPackage használatát javasoljuk a legtöbb éles környezetben az Azure Portal használata helyett. Az SQL Server ügyféltanácsadói csapatának blogja az BACPAC fájlok használatával történő migrálásról: migrálás AZ SQL Serverről az Azure SQL Database-be BACPAC-fájlokhaszná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 myMigratedDatabase nevű új adatbázist egy Prémium szintű szolgáltatási szinttel és egy P6 szolgáltatási célkitűzéssel. 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

Ha vállalati tűzfal mögött szeretne csatlakozni az Azure SQL Database-hez, a tűzfalnak nyitva kell lennie a 1433-as portnak. A felügyelt SQL-példányhoz 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-azonosítót (korábban Azure Active Directory). Az Import/Export szolgáltatás jelenleg nem támogatja a Microsoft Entra-azonosító hitelesítését, 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"

Azure Data Studio

Az Azure Data Studio egy ingyenes, nyílt forráskódú eszköz, amely Windows, macOS és Linux rendszeren érhető el. Az "SQL Server dacpac" bővítmény varázslófelületet biztosít az SqlPackage-műveletekhez, beleértve az exportálást és az importálást. A bővítmény telepítésével és használatával kapcsolatos további információkért tekintse meg az SQL Server dacpac bővítmény dokumentációját.

A PowerShell használata

Jegyzet

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

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 meghiúsulnak a "Nincs elég hely a lemezen" hibával. 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 életciklusa 2024. február 29-én véget ért. 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. További információ a kompatibilitásukról: Az új Az PowerShell-modul bemutatása.

Az New-AzSqlDatabaseImport parancsmaggal elküldhet egy importálási adatbázis-kérelmet az Azure-ba. 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ó

Másik példaszkript: Adatbázis importálása BACPAC-fájlbó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 SQL DB-közreműködői szerepkör vagy
  • Egyéni Azure-szerepköralapú hozzáférés-vezérlési RBAC-szerepkör Microsoft.Sql/servers/databases/operations engedéllyel

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 további információt ALTER DATABASE kompatibilitási szintcímű témakörben talál. A kompatibilitási szintekhez kapcsolódó egyéb adatbázisszintű beállításokról további információt az ALTER DATABASE SCOPED CONFIGURATION című témakörben talál.

Korlátozások

  • A rugalmas készletben lévő adatbázisba való importálás nem támogatott az Azure Portalon, az Azure PowerShellben vagy az Azure CLI-ben. 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 Import Export szolgáltatás nem működik, ha az Azure-szolgáltatásokhoz való hozzáférés le van kapcsolva. A probléma megoldásához azonban manuálisan futtathatja az SqlPackage-t egy Azure-beli virtuális gépről, vagy közvetlenül a kódban hajthatja 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 redundancia 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 az Azure Portal vagy a PowerShell használatával, majd importálja a bacpacot 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 a Microsoft Entra-azonosító hitelesítését, ha MFA szükséges.
  • Az Import\Export szolgáltatások csak az SQL-hitelesítést és a Microsoft Entra-azonosítót 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.