Exportálás BACPAC-fájlba – Azure SQL Database és Azure SQL Managed Instance

A következőre vonatkozik: Azure SQL DatabaseFelügyelt Azure SQL-példány

Ha archiváláshoz vagy másik platformra való áthelyezéshez exportálnia kell egy adatbázist, exportálhatja az adatbázis sémáját és adatait egy BACPAC-fájlba . A BACPAC-fájlok olyan ZIP-fájlok, amelyek a BACPAC kiterjesztésével tartalmazzák az adatbázis metaadatait és adatait. A BACPAC-fájlok tárolhatók az Azure Blob Storage-ban vagy helyi tárolóban egy helyszíni helyen, majd később importálhatók újra az Azure SQL Database-be, az Azure SQL Managed Instance-be vagy egy SQL Server-példányba.

Megfontolások

  • Ahhoz, hogy az exportálás tranzakciós konzisztens legyen, győződjön meg arról, hogy az exportálás során nem történik írási tevékenység, vagy az adatbázis tranzakciósan konzisztens másolatából exportál.

  • Ha blobtárolóba exportál, a BACPAC-fájlok maximális mérete 200 GB. Nagyobb BACPAC-fájl archiválásához exportáljon helyi tárolóba az SqlPackage használatával.

  • Az Azure Storage-fájlnév nem végződhet olyan speciális karakterekkel., mint a szóköz vagy <a , >*, , %, &, :, \/?. A fájlnévnek 128 karakternél rövidebbnek kell lennie.

  • Ha az exportálási művelet meghaladja a 20 órát, előfordulhat, hogy a művelet megszakad. Az exportálás közbeni teljesítmény növeléséhez az alábbiakat teheti:

    • Ideiglenesen növelje a számítási méretet.
    • Az exportálás során hagyja abba az összes olvasási és írási tevékenységet.
    • Fürtözött index használata nem null értékekkel az összes nagy táblán. Fürtözött indexek nélkül az exportálás sikertelen lehet, ha 6–12 óránál tovább tart. Ennek az az oka, hogy az exportálási szolgáltatásnak be kell fejeznie egy táblavizsgálatot a teljes tábla exportálásához. Annak meghatározására, hogy a táblák exportálásra vannak-e optimalizálva, futtassa DBCC SHOW_STATISTICS a táblákat, és győződjön meg arról, hogy a RANGE_HI_KEY nem null értékű, és az értéke jó eloszlású. További részletekért lásd: DBCC SHOW_STATISTICS.
  • Nagyobb adatbázisok esetén a BACPAC exportálása/importálása hosszú időt vehet igénybe, és különböző okokból meghiúsulhat.

Feljegyzés

A BACPAC-k nem használhatók biztonsági mentési és visszaállítási műveletekhez. Az Azure automatikusan biztonsági másolatot készít minden felhasználói adatbázisról. További részletekért tekintse meg az üzletmenet folytonosságának áttekintését és az Azure SQL Database automatizált biztonsági mentéseit vagy a felügyelt Azure SQL-példány automatizált biztonsági mentéseit.

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

Egy adatbázis BACPAC-fájljának exportálása felügyelt Azure SQL-példányból az Azure Portal használatával jelenleg nem támogatott. Lásd a szempontokat.

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 az Azure Portal használatával szeretne adatbázist exportálni, nyissa meg az adatbázis lapját, és válassza az Exportálás lehetőséget az eszköztáron.

    Screenshot that highlights the Export button.

  2. Adja meg a BACPAC-fájlnevet, válasszon ki egy meglévő Azure Storage-fiókot és -tárolót az exportáláshoz, majd adja meg a forrásadatbázishoz való hozzáféréshez szükséges hitelesítő adatokat. Itt akkor is szükség van SQL Server-rendszergazdai bejelentkezésre , ha Ön az Azure-rendszergazda, mivel az Azure-rendszergazda nem egyenlő azzal, hogy rendszergazdai engedélyekkel rendelkezik az Azure SQL Database-ben vagy a felügyelt Azure SQL-példányban.

    Screenshot shows the Export Database page with username and password specified.

  3. Kattintson az OK gombra.

  4. Az exportálási művelet előrehaladásának figyeléséhez nyissa meg az exportált adatbázist tartalmazó kiszolgáló lapját. Az Adatkezelés területen válassza az Importálás/Exportálás előzményei lehetőséget.

SQLPackage segédprogram

Javasoljuk az SQLPackage segédprogram használatát a méretezéshez és a teljesítményhez a legtöbb éles környezetben. Több SqlPackage-parancsot is futtathat párhuzamosan a táblák részhalmazaihoz az importálási/exportálási műveletek felgyorsítása érdekében.

Ha az SQL Database-ben szeretne adatbázist exportálni az SQLPackage parancssori segédprogrammal, tekintse meg az Exportálás paraméterek és tulajdonságok című témakört. Az SQLPackage segédprogram Windows, macOS és Linux rendszereken érhető el.

Ez a példa bemutatja, hogyan exportálhat adatbázist az SqlPackage használatával az Active Directory univerzális hitelesítéssel:

SqlPackage /a:Export /tf:testExport.BACPAC /scs:"Data Source=apptestserver.database.windows.net;Initial Catalog=MyDB;" /ua:True /tid:"apptest.onmicrosoft.com"

Azure Data Studio

Az Azure Data Studio egy ingyenes, nyílt forráskódú eszköz, amely Windows, Mac é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 lásd az SQL Server dacpac bővítményét.

SQL Server Management Studio (SSMS)

Az SQL Server Management Studio varázslóval exportálhat adatbázist az Azure SQL Database-ben vagy egy felügyelt SQL-példány adatbázisában BACPAC-fájlba. Lásd: Adatrétegű alkalmazás exportálása.

PowerShell

Az adatbázis BACPAC-fájljának exportálása felügyelt Azure SQL-példányból a PowerShell használatával nem támogatott. Lásd a szempontokat.

A New-AzSqlDatabaseExport parancsmaggal exportadatbázis-kérelmet küldhet az Azure SQL Database szolgáltatásnak. Az adatbázis méretétől függően az exportálási művelet végrehajtása eltarthat egy ideig.

$exportRequest = New-AzSqlDatabaseExport -ResourceGroupName $ResourceGroupName -ServerName $ServerName `
  -DatabaseName $DatabaseName -StorageKeytype $StorageKeytype -StorageKey $StorageKey -StorageUri $BacpacUri `
  -AdministratorLogin $creds.UserName -AdministratorLoginPassword $creds.Password

Az exportálási kérelem állapotának ellenőrzéséhez használja a Get-AzSqlDatabaseImportExportStatus parancsmagot. A parancsmag futtatása közvetlenül azután, hogy a kérés általában a Következő állapotot adja vissza: InProgress. Amikor megjelenik az Állapot: Sikeres az exportálás befejeződött .

$exportStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $exportRequest.OperationStatusLink
[Console]::Write("Exporting")
while ($exportStatus.Status -eq "InProgress")
{
    Start-Sleep -s 10
    $exportStatus = Get-AzSqlDatabaseImportExportStatus -OperationStatusLink $exportRequest.OperationStatusLink
    [Console]::Write(".")
}
[Console]::WriteLine("")
$exportStatus

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

Az adatbázis-műveletek – Az API lemondása vagy a PowerShell Stop-AzSqlDatabaseActivity parancsával megszakíthat egy exportálási kérelmet. Íme egy példa PowerShell-parancsra:

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

Feljegyzés

Az exportálási művelet megszakításához az alábbi szerepkörök egyikével kell rendelkeznie:

Korlátozások

  • A BACPAC-fájlok prémium szintű Azure Storage-ba való exportálása a cikkben ismertetett módszerekkel nem támogatott.
  • A tűzfal mögötti tárterület jelenleg nem támogatott.
  • A nem módosítható tároló jelenleg nem támogatott.
  • A felügyelt Azure SQL-példány jelenleg nem támogatja az adatbázis BACPAC-fájlba való exportálását az Azure Portal vagy az Azure PowerShell használatával. Felügyelt példány BACPAC-fájlba való exportálásához használja az SQL Server Management Studiót (SSMS) vagy az SQLPackage-t.
  • 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.
  • Ha többet szeretne megtudni az önálló adatbázisok és a készletezett adatbázisok hosszú távú biztonsági mentési megőrzéséről, mint az adatbázisok archiválási célú exportálásának alternatíváiról, tekintse meg a hosszú távú biztonsági mentések megőrzését. Az SQL Agent-feladatok használatával a csak másolási adatbázis biztonsági mentéseit ütemezheti a hosszú távú biztonsági mentések megőrzése helyett.
  • A BACPAC SQL Server-adatbázisba való importálásáról további információt a BACPAC importálása SQL Server-adatbázisba című témakörben talál.
  • A BACPAC SQL Server-adatbázisból való exportálásával kapcsolatos további információkért lásd : Adatrétegű alkalmazás exportálása
  • Ha többet szeretne megtudni arról, hogyan használhatja a Data Migration Service-t egy adatbázis migrálásához, olvassa el az Sql Serverről az Azure SQL Database-be való offline migrálás a DMS használatával című témakört.
  • Ha az SQL Serverről exportál az Azure SQL Database-be való migrálás előzményeként, olvassa el az SQL Server-adatbázis migrálása az Azure SQL Database-be című témakört.
  • 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 a Blob Storage biztonsági ajánlásait.