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ázis
Azure 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 disk
hiba 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.
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.
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é.
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.
Válassza OKlehetőséget.
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.
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 mynewserver20170403
nevű 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: Succeeded
jelenik 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.
- Az adatréteg-alkalmazás importálási varázsló az SQL Server Management Studio-ban.
- SQL Server Importálás és Exportálás Varázsló.
Kapcsolódó tartalom
- Az Azure SQL Database-hez való csatlakozásról és az Azure Data Studióból való lekérdezéséről a rövid útmutatóban olvashat: Az Azure Data Studio használata az Azure SQL Database-csatlakoztatásához és lekérdezéséhez.
- Ha tudni szeretné, hogyan csatlakozhat és kérdezhet le egy adatbázist az Azure SQL Database-ben, tekintse meg rövid útmutatót: Azure SQL Database: Az SQL Server Management Studio használata az adatokhoz való csatlakozáshoz és az adatok lekérdezéséhez.
- Az SQL Server ügyféltanácsadói csapatának blogja a .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ájlok használatával.
- Az SQL Server-adatbázis teljes áttelepítési folyamatának áttekintéséhez, beleértve a teljesítményre vonatkozó javaslatokat, tekintse meg a(z) SQL Server-adatbázis Azure SQL Database-re való migrálását.
- A tárkulcsok és a közös hozzáférésű jogosultságkódok biztonságos kezeléséhez és megosztásához tekintse meg Azure Storage biztonsági útmutatót.