Poznámka:
Přístup k této stránce vyžaduje autorizaci. Můžete se zkusit přihlásit nebo změnit adresáře.
Přístup k této stránce vyžaduje autorizaci. Můžete zkusit změnit adresáře.
Applies to:Azure SQL Database
Azure SQL Managed Instance
Databázi SQL Server můžete importovat do Azure SQL Database nebo SQL Managed Instance pomocí souboru .bacpac. Data můžete importovat ze souboru BACPAC uloženého ve službě Azure Blob Storage (pouze úložiště úrovně Standard) nebo z místního úložiště v místním umístění. Pokud chcete zajistit rychlejší import s využitím většího množství rychlejších prostředků, škálujte databázi během procesu importu na vyšší úroveň služby a velikost výpočetních prostředků. Po úspěšném dokončení importu pak můžete kapacitu vertikálně snížit.
Poznámka:
Importovat nebo exportovat Azure SQL Database pomocí privátního odkazu je ve verzi preview.
Použití portálu Azure
V tomto videu se dozvíte, jak importovat ze souboru BACPAC na portálu Azure nebo pokračovat ve čtení:
- Portál Azure podporuje pouze vytvoření jednotlivé databáze v Azure SQL Database a pouze ze souboru BACPAC uloženého v úložišti objektů blob Azure.
- Pokud chcete migrovat databázi do Azure SQL Managed Instance ze souboru BACPAC, použijte SQL Server Management Studio nebo nástroj příkazového řádku
SqlPackage. Portál Azure a Azure PowerShell se v současné době nepodporují.
Varování
Soubory BACPAC nad 150 GB vygenerované z SqlPackage se nemusí podařit importovat z portálu Azure nebo Azure PowerShell s chybovou zprávou, která uvádí File contains corrupted data. Jedná se o výsledek známého problému a alternativním řešením je použití SqlPackage nástroje příkazového řádku k importu souboru BACPAC. Další informace najdete v tématu SqlPackage a protokol problému.
Poznámka:
Počítače zpracovávající požadavky importu a exportu odeslané prostřednictvím portálu Azure nebo PowerShellu musí uložit soubor BACPAC a také dočasné soubory generované rozhraním 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 nástroj příkazového řádku SqlPackage na počítači s dostatečným místem na místním disku. Doporučujeme použít nástroj příkazového řádku SqlPackage k importu a exportu databází větších než 150 GB, abyste se tomuto problému vyhnuli.
Pokud chcete importovat soubor BACPAC do nové izolované databáze pomocí portálu Azure, otevřete příslušnou stránku serveru a potom na panelu nástrojů vyberte Import databáze.
Vyberte Vybrat zálohu. Zvolte účet úložiště, který je hostitelem vaší databáze, a pak vyberte soubor BACPAC, ze kterého chcete importovat.
Zadejte novou velikost databáze (obvykle stejnou jako zdroj) a zadejte cílové SQL Server přihlašovací údaje. Seznam možných hodnot pro novou databázi v Azure SQL Database najdete v tématu Create Database.
Vyberte OK.
Pokud chcete sledovat průběh importu, otevřete stránku serveru databáze a v části Nastavení vyberte Historii importu/exportu. Po úspěšném dokončení má import stav Dokončeno .
Pokud chcete ověřit, že je databáze na serveru aktivní, vyberte databáze SQL a ověřte, že je nová databáze online.
Import s využitím ověřování spravovaných identit (Preview)
Azure SQL Database podporuje import souboru BACPAC pomocí ověřování managed identity. Tato možnost umožňuje plně operace importu bez přihlašovacích údajů a doporučuje se pro prostředí, která zakazují ověřování SQL nebo vynucují ověřování pouze Microsoft Entra.
Databázi můžete importovat do nové databáze nebo do existující prázdné databáze.
Podrobný kurz najdete v tématu Použití spravované identity s importem a exportem (Preview).
K importu souboru BACPAC pomocí ověřování spravované identity se vyžaduje následující konfigurace:
- Spravovaná identita přiřazená uživatelem (UAMI), přiřazená logickému serveru pro Azure SQL Database.
- Server má spravovanou identitu nakonfigurovanou jako správce Microsoft Entra.
- Spravovaná identita se přiřadí k roli Storage Blob Data Reader ve zdrojovém účtu Azure Storage. Tato spravovaná identita může být stejná jako identita přiřazená k serveru nebo jiná.
- Logický server, spravovaná identita a účet úložiště jsou ve stejném tenantovi Microsoft Entra.
Následující scénáře nejsou podporovány:
- Operace importu mezi tenanty
- Spravovaná identita přiřazena pouze na úrovni konkrétní databáze.
Poznámka:
Import s ověřováním spravované identity je aktuálně v preview a je dostupný jenom pro Azure SQL Database.
Použití balíčku SqlPackage
Pokud chcete importovat databázi SQL Server pomocí nástroje příkazového řádku SqlPackage, viz importní parametry a vlastnosti. Nejnovější SqlPackage si můžete stáhnout pro Windows, macOS nebo Linux.
Pro škálování a výkon doporučujeme používat SqlPackage ve většině produkčních prostředí místo použití portálu Azure. Blog poradenského týmu pro zákazníky SQL Server o migraci pomocí souborů BACPAC najdete v příspěvku migrace ze SQL Server do Azure SQL Database pomocí souborů BACPAC.
Model zřizování založený na DTU podporuje výběr hodnot maximální velikosti databáze pro každou úroveň. Při importu databáze použijte jednu z těchto podporovaných hodnot.
Následující příkaz SqlPackage naimportuje AdventureWorks2008R2 databázi z místního úložiště do logického SQL serveru s názvem mynewserver20170403. Vytvoří novou databázi s názvem myMigratedDatabaseúrovně služby Premium a cílem služby P6 . Podle potřeby změňte tyto hodnoty pro vaše prostředí.
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
Důležité
Pro připojení k Azure SQL Database za firewallem společnosti, musí být na firewalle otevřen port 1433. Pokud se chcete připojit k SQL Managed Instance, musíte mít připojení typu point-to-site nebo připojení expressroute.
Jako alternativu k uživatelskému jménu a heslu můžete použít Microsoft Entra ID (formerly Azure Active Directory). Služba Import/Export v současné době nepodporuje ověřování Microsoft Entra ID, pokud je vyžadováno vícefaktorové ověřování. Nahraďte parametry uživatelského jména a hesla pro /ua:true a /tid:"yourdomain.onmicrosoft.com". Tento příklad ukazuje, jak importovat databázi pomocí sqlPackage s ověřováním Microsoft Entra:
SqlPackage /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"
Visual Studio Code
Rozšíření MSSQL pro Visual Studio Code je bezplatné opensourcové rozšíření dostupné pro Windows, macOS a Linux. Rozšíření zahrnuje prostředí databázové aplikace (Preview) pro operace SqlPackage, včetně exportu a importu. Další informace o instalaci a používání rozšíření najdete v rozšíření MSSQL pro Visual Studio Code.
Použití PowerShellu
Poznámka:
Azure SQL Managed Instance aktuálně nepodporuje migraci databáze do instance ze souboru BACPAC pomocí Azure PowerShell. K importu do spravované instance SQL použijte SQL Server Management Studio nebo SQLPackage.
Poznámka:
Počítače zpracovávající požadavky importu a exportu odeslané prostřednictvím portálu nebo PowerShellu musí ukládat soubor BACPAC a dočasné soubory generované rozhraním Data-Tier Application Framework (DacFX). Požadavky na místo na disku se výrazně liší mezi databázemi se stejnou velikostí a mohou zabírat až třikrát více, než je 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. Při importu nebo exportu databází větších než 150 GB použijte SqlPackage, abyste se tomuto problému vyhnuli.
Důležité
Bylo oznámeno, že modul PowerShell Azure Resource Manager (AzureRM) dosáhne zastarání k 29. únoru 2024. Veškerý budoucí vývoj by měl používat modul Az.Sql. Uživatelům se doporučuje migrovat z AzureRM do modulu Az PowerShell, aby se zajistila nepřetržitá podpora a aktualizace. Modul AzureRM se už neudržuje ani nepodporuje. Argumenty pro příkazy v modulu Az PowerShell a v modulech AzureRM jsou podstatně identické. Další informace o jejich kompatibilitě najdete v tématu Představujeme nový modul Az PowerShell.
Pomocí rutiny New-AzSqlDatabaseImport odešlete žádost o import databáze do Azure. V závislosti na velikosti databáze může dokončení importu nějakou dobu trvat. Model zřizování založený na DTU podporuje výběr hodnot maximální velikosti databáze pro každou úroveň. Při importu databáze použijte jednu z těchto podporovaných hodnot.
$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)
Pomocí rutiny Get-AzSqlDatabaseImportExportStatus můžete zkontrolovat průběh importu. Spuštění cmdletu bezprostředně po požadavku obvykle vrátí Status: InProgress. Import se dokončí, až se zobrazí 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
Tip
Další příklad skriptu najdete v tématu Použití PowerShellu k importu souboru BACPAC do databáze ve službě SQL Database.
Zrušení žádosti o import
Použijte databázové operace – Zrušení rozhraní API nebo příkaz PowerShellu Stop-AzSqlDatabaseActivity, jak je znázorněno v následujícím příkladu:
Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -OperationId $Operation.OperationId
Oprávnění potřebná ke zrušení importu
Pokud chcete operaci importu zrušit, musíte být členem jedné z následujících rolí:
- Role Přispěvatel databáze SQL
- Role řízení přístupu na základě role vlastní role RBAC Azure s oprávněním
Microsoft.Sql/servers/databases/operations
Úroveň kompatibility nové databáze
Úroveň kompatibility importované databáze je založená na úrovni kompatibility zdrojové databáze.
Po importu databáze můžete databázi provozovat na aktuální úrovni kompatibility nebo na vyšší úrovni. Další informace o dopadech a možnostech pro provoz databáze na konkrétní úrovni kompatibility najdete v tématu O úrovni kompatibility ALTER DATABASE. Informace o dalších nastaveních na úrovni databáze souvisejících s úrovněmi kompatibility naleznete v tématu ALTER DATABASE SCOPED CONFIGURATION.
Omezení
- Import do databáze v elastickém fondu se nepodporuje prostřednictvím portálu Azure, Azure PowerShell nebo Azure CLI. Místo toho vytvořte databázi v elastickém fondu a pak použijte SQLPackage Importnebo importujte data pomocí libovolné metody do jedné databáze a pak databázi přesuňte do elastického fondu.
- Služba importu exportu nefunguje, pokud je možnost Povolit přístup ke službám Azure vypnutá. Problém ale můžete vyřešit ručním spuštěním sqlPackage z virtuálního počítače Azure nebo provedením exportu přímo v kódu pomocí rozhraní DAcFx API.
- Import nepodporuje zadávání redundance úložiště zálohování při vytváření nové databáze a vytváření s výchozí geograficky redundantní redundancí úložiště zálohování. Pokud chcete tento problém obejít, nejprve vytvořte prázdnou databázi s požadovanou redundancí úložiště zálohování pomocí portálu Azure nebo PowerShellu a pak importujte soubor BACPAC do této prázdné databáze.
- Úložiště za bránou firewall aktuálně není podporováno.
- Během procesu importu nevytvořte databázi se stejným názvem. Proces importu vytvoří novou databázi zadaného názvu.
- Služba Import/Export v současné době nepodporuje ověřování Microsoft Entra ID, pokud je vyžadováno vícefaktorové ověřování.
- Služby Import\Export podporují pouze ověřování SQL a Microsoft Entra ID. Import\Export není kompatibilní s registrací aplikace Microsoft Identity.
Další nástroje
Tyto průvodce můžete také použít.
- Průvodce importem datové aplikační vrstvy v SQL Server Management Studio
- SQL Server Průvodce importem a exportem
Související obsah
- < c0 > Rychlý start: Použití aplikace SSMS pro připojení a dotazování se na Azure SQL Database nebo Azure SQL Managed Instance < /c0 >
- Migrace z SQL Server do Azure SQL Database pomocí souborů BACPAC
- Migrace databáze SQL Server na Azure SQL Database
- Průvodce zabezpečením Azure Storage