Pomocí webu Azure Portal můžete provést Export do souboru BACPAC – Azure SQL Database a Azure SQL Managed Instance.

Platí pro:Azure SQL DatabaseAzure SQL Managed Instance

Pokud potřebujete exportovat databázi pro archivaci nebo přesun do jiné platformy, můžete schéma databáze a data exportovat do souboru BACPAC . Soubor BACPAC je soubor ZIP s příponou BACPAC obsahující metadata a data z databáze. Soubor BACPAC je možné uložit v úložišti objektů blob Azure nebo v místním úložišti v místním umístění a později importovat zpět do služby Azure SQL Database, Azure SQL Managed Instance nebo instance SQL Serveru.

Důležité informace

  • Aby byl export konzistentně konzistentní, musíte zajistit, aby během exportu nedošlo k žádné aktivitě zápisu nebo že exportujete z transakční konzistentní kopie databáze.

  • Pokud exportujete do úložiště objektů blob, maximální velikost souboru BACPAC je 200 GB. Pokud chcete archivovat větší soubor BACPAC, exportujte do místního úložiště pomocí sqlPackage.

  • Název souboru azure Storage nemůže končit . a nemůže obsahovat speciální znaky, jako je znak mezery nebo <, >, *%, &\:, . ?/ Název souboru by měl být kratší než 128 znaků.

  • Pokud operace exportu potrvá déle než 20 hodin, může se zrušit. Pro vyšší výkon při exportu můžete:

    • Dočasně zvyšte velikost výpočetních prostředků.
    • Během exportu ukončete veškerou aktivitu čtení a zápisu.
    • Ve všech velkých tabulkách použijte clusterovaný index s hodnotami, které nemají hodnotu null. Bez indexů clusterů může export, který bude trvat déle než 6–12 hodin, selhat. Důvodem je to, že služba exportu potřebuje dokončit prohledávání tabulky, aby se pokusila exportovat celou tabulku. Dobrým způsobem, jak určit, jestli jsou tabulky optimalizované pro export, je spustit DBCC SHOW_STATISTICS a ujistit se, že RANGE_HI_KEY nemá hodnotu null a její hodnota má dobrou distribuci. Podrobnosti najdete v SHOW_STATISTICS DBCC.
  • U větších databází může export/import SOUBORU BACPAC trvat dlouhou dobu a může selhat z různých důvodů.

Poznámka:

Objekty BACPAC nejsou určeny k použití pro operace zálohování a obnovení. Azure automaticky vytváří zálohy pro každou uživatelskou databázi. Podrobnosti najdete v přehledu kontinuity podnikových procesů a automatizovaných zálohách ve službě Azure SQL Database nebo automatizovaných záloh ve službě Azure SQL Managed Instance.

Poznámka:

Import a export pomocí služby Private Link je ve verzi Preview.

Azure Portal

Export souboru BACPAC databáze ze spravované instance Azure SQL pomocí webu Azure Portal se v současné době nepodporuje. Viz důležité informace.

Poznámka:

Počítače zpracovávající požadavky importu a exportu odeslané prostřednictvím webu Azure Portal nebo PowerShellu musí uložit soubor BACPAC i dočasné soubory vygenerované architekturou Data-Tier Application Framework (DacFX). Požadované místo na disku se výrazně liší mezi databázemi se stejnou velikostí a může vyžadovat místo na disku až třikrát větší velikost databáze. Počítače, na kterých běží požadavek na import/export, mají jenom 450 GB místa na místním disku. V důsledku toho mohou některé požadavky selhat s chybou There is not enough space on the disk. V tomto případě je alternativním řešením spustit SqlPackage na počítači s dostatečným místem na místním disku. Doporučujeme použít SQLPackage k importu a exportu databází větších než 150 GB, abyste se tomuto problému vyhnuli.

  1. Pokud chcete exportovat databázi pomocí webu Azure Portal, otevřete stránku databáze a na panelu nástrojů vyberte Exportovat .

    Screenshot that highlights the Export button.

  2. Zadejte název souboru BACPAC, vyberte existující účet úložiště Azure a kontejner pro export a pak zadejte příslušné přihlašovací údaje pro přístup ke zdrojové databázi. Tady je potřeba přihlášení správce SQL Serveru, i když jste správcem Azure, protože správce Azure nemá oprávnění správce ve službě Azure SQL Database nebo Azure SQL Managed Instance.

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

  3. Vyberte OK.

  4. Pokud chcete monitorovat průběh operace exportu, otevřete stránku pro server obsahující exportovanou databázi. V části Správa dat vyberte Importovat/Exportovat historii.

Nástroj SQLPackage

Doporučujeme použít nástroj SQLPackage pro škálování a výkon ve většině produkčních prostředí. Pro podmnožinu tabulek můžete paralelně spustit několik příkazů SqlPackage, které urychlují operace importu a exportu.

Pokud chcete exportovat databázi ve službě SQL Database pomocí nástroje příkazového řádku SQLPackage , přečtěte si téma Export parametrů a vlastností. Nástroj SQLPackage je k dispozici pro Windows, macOS a Linux.

Tento příklad ukazuje, jak exportovat databázi pomocí sqlPackage s univerzálním ověřováním služby Active Directory:

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

Azure Data Studio je bezplatný opensourcový nástroj, který je k dispozici pro Windows, Mac a Linux. Rozšíření DACpac pro SQL Server poskytuje rozhraní průvodce pro operace SqlPackage, včetně exportu a importu. Další informace o instalaci a používání rozšíření najdete v tématu rozšíření dacpac sql Serveru.

SQL Server Management Studio (SSMS)

SQL Server Management Studio poskytuje průvodce pro export databáze ve službě Azure SQL Database nebo databáze sql Managed Instance do souboru BACPAC. Viz Aplikace exportu datové vrstvy.

PowerShell

Export souboru BACPAC databáze z Azure SQL Managed Instance pomocí PowerShellu se nepodporuje. Viz důležité informace.

Pomocí rutiny New-AzSqlDatabaseExport odešlete žádost o export databáze do služby Azure SQL Database. V závislosti na velikosti databáze může dokončení operace exportu nějakou dobu trvat.

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

Ke kontrole stavu žádosti o export použijte rutinu Get-AzSqlDatabaseImportExportStatus . Spuštění této rutiny ihned po požadavku obvykle vrátí stav: InProgress. Když se zobrazí stav: Export byl dokončen úspěšně .

$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

Zrušení žádosti o export

K zrušení žádosti o export použijte databázové operace – zrušení rozhraní API nebo příkaz PowerShell Stop-AzSqlDatabaseActivity. Tady je ukázkový příkaz PowerShellu:

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

Poznámka:

Pokud chcete zrušit operaci exportu, budete muset mít jednu z následujících rolí:

  • Role přispěvatele databáze SQL nebo
  • Vlastní role Azure RBAC s oprávněním Microsoft.Sql/servers/databases/operations

Omezení

  • Export souboru BACPAC do služby Azure Premium Storage pomocí metod probíraných v tomto článku se nepodporuje.
  • Úložiště za bránou firewall se v současné době nepodporuje.
  • Neměnné úložiště se v současné době nepodporuje.
  • Spravovaná instance Azure SQL v současné době nepodporuje export databáze do souboru BACPAC pomocí webu Azure Portal nebo Azure PowerShellu. Pokud chcete exportovat spravovanou instanci do souboru BACPAC, použijte SQL Server Management Studio (SSMS) nebo SQLPackage.
  • Služba Import/Export v současné době nepodporuje ověřování ID Microsoft Entra, pokud je vyžadováno vícefaktorové ověřování.
  • Služby Import\Export podporují pouze ověřování SQL a ID Microsoft Entra. Import\Export není kompatibilní s registrací aplikace Microsoft Identity.