Megjegyzés
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhat bejelentkezni vagy módosítani a címtárat.
Az oldalhoz való hozzáféréshez engedély szükséges. Megpróbálhatja módosítani a címtárat.
A következőre vonatkozik: :Azure SQL Database
Azure 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.
Jegyzet
Azure SQL Database importálása vagy exportálása privát hivatkozással előzetes verzióban érhető el.
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
SqlPackageparancssori 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.
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.
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é.
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.
Kattintson az OK gombra.
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.
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 SQL DB közreműködői szerepköre
- Egy custom Azure szerepköralapú hozzáférés-vezérlési RBAC-szerepkör
Microsoft.Sql/servers/databases/operationsengedé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 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.
- Import Data-tier Application Wizard in SQL Server Management Studio.
- SQL Server Importálás és exportálás varázsló.
Kapcsolódó tartalom
- Felső útmutató: Az SSMS használatával csatlakozhat Azure SQL Database vagy Azure SQL Managed Instance
- Migrating from SQL Server to Azure SQL Database using BACPAC Files
SQL Server adatbázis áttelepítése Azure SQL Database - Azure Storage biztonsági útmutató