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őre vonatkozik: Azure SQL DatabaseFelügyelt Azure SQL-példány

SQL Server-adatbázist .bacpac fájllal importálhat az Azure SQL Database-be vagy a felügyelt SQL-példányba. 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. Ha maximálisra szeretné növelni az importálási sebességet több, gyorsabb erőforrás biztosításával, skálázza az adatbázist magasabb szolgáltatási szintre és nagyobb számítási méretre az importálási folyamat során. A sikeres importálás után vertikálisan leskálázhatja őket.

Feljegyzés

A 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:

Az Azure Portalcsak egyetlen adatbázis létrehozását támogatja az Azure SQL Database-ben, és csak az Azure Blob Storage-ban tárolt bacpac-fájlból.

Ha bacpac-fájlból szeretne adatbázist migrálni egy Felügyelt Azure SQL-példányba , használja az SQL Server Management Studiót vagy az SQLPackage-t, az Azure Portal vagy az Azure PowerShell használata jelenleg nem támogatott.

Feljegyzés

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 hibával 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 probléma elkerülése érdekében javasoljuk, hogy az SqlPackage használatával importáljon/exportáljon 150 GB-nál nagyobb adatbázisokat.

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

    Screenshot of the Azure portal, logical server overview page, with database import selected.

  2. Válassza a Biztonsági mentés kivá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ása című témakörben találja.

    Screenshot of the Azure portal, Database import page.

  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, majd a Gépház alatt válassza az Importálás/Exportálás előzményei lehetőséget. Ha sikeres, az importálás befejeződött állapotú.

    Screenshot of the Azure portal, server overview page, showing the database import status.

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

Az SqlPackage használata

Ha SQL Server-adatbázist szeretne importálni az SqlPackage parancssori segédprogrammal, tekintse meg az importálási paramétereket és tulajdonságokat. Letöltheti a legújabb SqlPackage-t 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 a fájlok migrálásáról BACPAC szóló blogja: MIGRÁLÁS AZ SQL Serverről az Azure SQL Database-be 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 az adatbázist a AdventureWorks2008R2 helyi tárolóból egy logikai SQL-kiszolgálóra.mynewserver20170403 Létrehoz egy új, prémium szolgáltatási szinttel és P6 szolgáltatási célkitűzéssel rendelkező myMigratedDatabase 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

Ha vállalati tűzfal mögött szeretne csatlakozni az Azure SQL Database-hez, a tűzfalnak nyitva kell lennie az 1433-at. 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ó alternatívaként használhatja a Microsoft Entra-azonosítót (korábbi nevén 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 a következőre /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

Feljegyzés

A 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.

Feljegyzés

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 (RM) modul továbbra is támogatott, de minden jövőbeli fejlesztés az Az.Sql modulhoz tartozik. Az AzureRM-modul legalább 2020 decemberéig továbbra is megkapja a hibajavításokat. Az Az modulban és az AzureRm-modulokban található parancsok argumentumai lényegében azonosak. A kompatibilitásukról további információt az új Azure PowerShell Az modul bemutatása című témakörben talál.

A 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 állapotát. A parancsmag futtatása közvetlenül a kérés visszatérése Status: InProgressután. Az importálás akkor fejeződik be, ha megjelenik Status: Succeeded.

$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

Tipp.

Egy másik példaszkript: Adatbázis importálása BACPAC-fájlból.

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

Használja az Adatbázis-műveleteket – Az API lemondása vagy a Stop-AzSqlDatabaseActivity PowerShell parancs használata, 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ázis meghatározott kompatibilitási szinten való működtetésének következményeivel és lehetőségeivel kapcsolatos további információkért lásd: ADATBÁZIS kompatibilitási szintjének MÓDOSÍTÁSA. A kompatibilitási szintekhez kapcsolódó egyéb adatbázisszintű beállításokról lásd még az ALTER DATABA Standard kiadás SCOPED CONFIGURATION című témakört.

Korlátozások

  • A rugalmas készletben lévő adatbázisokba importálás nem támogatott. Az adatokat importálhatja egy önálló adatbázisba, majd az adatbázist áthelyezheti egy rugalmas készletbe.
  • Az importálási és exportálási szolgáltatás nem működik, ha az Azure-szolgáltatásokhoz való hozzáférés engedélyezése KI 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 redundanciának megadását új adatbázis létrehozásakor, és az alapértelmezett georedundáns biztonsági mentési tár redundanciájával hozza létre az adatbázist. 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árterület 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.