Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Applies to:Azure SQL Database
Azure SQL Managed Instance
U kunt een SQL Server-database importeren in Azure SQL Database of SQL Managed Instance met behulp van een bestand .bacpac. U kunt de gegevens importeren uit een BACPAC-bestand dat is opgeslagen in Azure Blob Storage (alleen standaardopslag) of vanuit lokale opslag op een on-premises locatie. Als u de importsnelheid wilt maximaliseren door meer en snellere resources te leveren, schaalt u uw database naar een hogere servicelaag en rekenkracht tijdens het importproces. U kunt vervolgens omlaag schalen nadat het importeren is voltooid.
Notitie
Importeren of exporteren van een Azure SQL Database met behulp van private link bevindt zich in preview.
Azure-portal gebruiken
Bekijk deze video om te zien hoe u importeert vanuit een BACPAC-bestand in de Azure-portal of verder leest:
- De Azure portalonly ondersteunt het maken van één database in Azure SQL Database en only van een BACPAC-bestand dat is opgeslagen in Azure Blob Storage.
- Als u een database wilt migreren naar Azure SQL Managed Instance vanuit een BACPAC-bestand, gebruikt u SQL Server Management Studio of het opdrachtregelprogramma
SqlPackage. De Azure-portal en Azure PowerShell worden momenteel niet ondersteund.
Waarschuwing
BACPAC-bestanden van meer dan 150 GB die zijn gegenereerd op basis van SqlPackage, kunnen mogelijk niet worden geïmporteerd vanuit de Azure-portal of Azure PowerShell met een foutbericht met de status File contains corrupted data. Dit is het gevolg van een bekend probleem en de tijdelijke oplossing is het gebruik van het SqlPackage opdrachtregelprogramma om het BACPAC-bestand te importeren. Zie SqlPackage- en het -probleemlogboekvoor meer informatie.
Notitie
Machines die import-/exportaanvragen verwerken die zijn ingediend via de Azure-portal of PowerShell, moeten het BACPAC-bestand opslaan en tijdelijke bestanden die zijn gegenereerd door het Data-Tier Application Framework (DacFX). De vereiste schijfruimte varieert aanzienlijk tussen databases met dezelfde grootte en kan schijfruimte tot drie keer de grootte van de database vereisen. Machines waarop de import-/exportaanvraag wordt uitgevoerd, hebben slechts 450 GB lokale schijfruimte. Als gevolg hiervan kunnen sommige aanvragen mislukken met de fout There is not enough space on the disk. In dit geval is de tijdelijke oplossing om het opdrachtregelprogramma SqlPackage uit te voeren op een computer met voldoende lokale schijfruimte. We raden u aan het opdrachtregelprogramma SqlPackage te gebruiken om databases te importeren/exporteren die groter zijn dan 150 GB om dit probleem te voorkomen.
Als u wilt importeren uit een BACPAC-bestand in een nieuwe individuele database met behulp van de Azure-portal, opent u de juiste serverpagina en selecteert u vervolgens op de werkbalk Database importeren.
Selecteer en kies Back-up. Kies het opslagaccount dat als host fungeert voor uw database en selecteer vervolgens het BACPAC-bestand waaruit u wilt importeren.
Geef de nieuwe databasegrootte (meestal hetzelfde als de oorsprong) op en geef de doel-SQL Server referenties op. Zie Database maken voor een lijst met mogelijke waarden voor een nieuwe database in Azure SQL Database.
Kies OK.
Als u de voortgang van een import wilt controleren, opent u de serverpagina van de database en selecteert u onder
Instellingen Import/Export-geschiedenis. Als het importeren is voltooid, heeft het importeren de status Voltooid. Als u wilt controleren of de database live op de server is, selecteert u SQL-databases en controleert u of de nieuwe database Onlineis.
Importeren met verificatie van beheerde identiteit (preview)
Azure SQL Database ondersteunt het importeren van een BACPAC-bestand met behulp van beheerde identiteit verificatie. Met deze optie kunt u volledig referentievrije importbewerkingen inschakelen en wordt aanbevolen voor omgevingen die SQL-verificatie uitschakelen of Microsoft Entra-only-verificatie afdwingen.
U kunt een database importeren in een nieuwe database of in een bestaande lege database.
Voor een gedetailleerde handleiding, zie Beheerde identiteit gebruiken met importeren en exporteren (preview).
Als u een BACPAC-bestand wilt importeren met beheerde identiteitsverificatie, is de volgende configuratie vereist:
- Een gebruiker toegewezen beheerde identiteit (UAMI) toegewezen aan de logische server voor Azure SQL Database.
- De server heeft de beheerde identiteit geconfigureerd als de Microsoft Entra administrator.
- Een beheerde identiteit wordt toegewezen aan de rol Storage Blob Data Reader voor het bron-Azure Storage-account. Deze beheerde identiteit kan hetzelfde zijn als de identiteit die is toegewezen aan de server of een andere identiteit.
- De logische server, beheerde identiteit en het opslagaccount bevinden zich in de ame Microsoft Entra tenant.
De volgende scenario's worden niet ondersteund:
- Importbewerkingen tussen verschillende tenants.
- Beheerde identiteit die alleen op databaseniveau is toegewezen.
Notitie
Importeren met verificatie van beheerde identiteit is momenteel beschikbaar in preview en alleen beschikbaar voor Azure SQL Database.
SqlPackage gebruiken
Zie importparameters en eigenschappen als u een SQL Server-database wilt importeren met behulp van de opdrachtregelutility SqlPackage. U kunt de nieuwste SqlPackage downloaden voor Windows, macOS of Linux.
Voor schalen en prestaties raden we u aan SqlPackage te gebruiken in de meeste productieomgevingen in plaats van de Azure-portal te gebruiken. Voor een blog van het SQL Server-klantadviesteam over het migreren met behulp van BACPAC-bestanden, zie migreren van SQL Server naar Azure SQL Database met BACPAC-bestanden.
Het inrichtingsmodel op basis van DTU ondersteunt waarden voor de maximale grootte van de database voor elke laag. Wanneer u een database importeert gebruikt u een van deze ondersteunde waarden.
Met de volgende SqlPackage-opdracht importeert u de AdventureWorks2008R2-database van lokale opslag naar een logische SQL-server met de naam mynewserver20170403. Er wordt een nieuwe database gemaakt die wordt aangeroepen myMigratedDatabase met een Premium-servicelaag en een P6-servicedoelstelling . Wijzig deze waarden naar wens voor uw omgeving.
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
Belangrijk
Als u verbinding wilt maken met Azure SQL Database achter een bedrijfsfirewall, moet poort 1433 zijn geopend voor de firewall. Als u verbinding wilt maken met SQL Managed Instance, moet u een point-to-site-verbinding of een expressroute-verbinding hebben.
Als alternatief voor gebruikersnaam en wachtwoord kunt u Microsoft Entra ID (formerly Azure Active Directory) gebruiken. Op dit moment biedt de import-/exportservice geen ondersteuning voor Microsoft Entra ID verificatie wanneer MFA is vereist. Vervang de parameters voor gebruikersnaam en wachtwoord voor /ua:true en /tid:"yourdomain.onmicrosoft.com". In dit voorbeeld ziet u hoe u een database importeert met behulp van SqlPackage met Microsoft Entra-verificatie:
SqlPackage /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"
Visual Studio Code
De MSSQL-extensie voor Visual Studio Code is een gratis opensource-extensie die beschikbaar is voor Windows, macOS en Linux. De extensie bevat de toepassingservaring voor de gegevenslaag (preview) voor SqlPackage-bewerkingen, waaronder exporteren en importeren. Zie de extensie MSSQL voor Visual Studio Code voor meer informatie over het installeren en gebruiken van de extensie.
PowerShell gebruiken
Notitie
Azure SQL Managed Instance biedt momenteel geen ondersteuning voor het migreren van een database naar een exemplaardatabase vanuit een BACPAC-bestand met behulp van Azure PowerShell. Als u wilt importeren in een met SQL beheerd exemplaar, gebruikt u SQL Server Management Studio of SQLPackage.
Notitie
De machines die import-/exportaanvragen verwerken die zijn ingediend via de portal of PowerShell, moeten het BACPAC-bestand opslaan, evenals tijdelijke bestanden die zijn gegenereerd door Data-Tier Application Framework (DacFX). De benodigde schijfruimte varieert aanzienlijk tussen DB's met dezelfde grootte en kan tot drie keer van de grootte van de database duren. Machines waarop de import-/exportaanvraag wordt uitgevoerd, hebben slechts 450 GB lokale schijfruimte. Als gevolg hiervan kunnen sommige aanvragen mislukken met de volgende fout: There is not enough space on the disk. In dit geval is de tijdelijke oplossing het uitvoeren van SqlPackage op een computer met voldoende lokale schijfruimte. Wanneer u databases importeert/exporteert die groter zijn dan 150 GB, gebruikt u SqlPackage om dit probleem te voorkomen.
Belangrijk
De Module PowerShell Azure Resource Manager (AzureRM) is afgeschaft op 29 februari 2024. Voor alle toekomstige ontwikkeling moet de Az.Sql-module worden gebruikt. Gebruikers wordt aangeraden om van AzureRM naar de Az PowerShell-module te migreren om ondersteuning en updates te garanderen. De AzureRM-module wordt niet meer onderhouden of ondersteund. De argumenten voor de opdrachten in de Az PowerShell-module en in de AzureRM-modules zijn aanzienlijk identiek. Zie Introductie van de nieuwe Az PowerShell-modulevoor meer informatie over de compatibiliteit.
Gebruik de cmdlet New-AzSqlDatabaseImport om een importdatabaseaanvraag in te dienen bij Azure. Afhankelijk van de grootte van de database kan het enige tijd duren voordat het importeren is voltooid. Het inrichtingsmodel op basis van DTU ondersteunt waarden voor de maximale grootte van de database voor elke laag. Wanneer u een database importeert gebruikt u een van deze ondersteunde waarden.
$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)
U kunt de cmdlet Get-AzSqlDatabaseImportExportStatus gebruiken om de voortgang van het importeren te controleren. Het onmiddellijk uitvoeren van de cmdlet nadat de aanvraag is ingediend, levert meestal Status: InProgressop. Het importeren is voltooid wanneer u Status: Succeededziet.
$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
Zie PowerShell gebruiken om een BACPAC-bestand te importeren in een database in SQL Database voor een ander voorbeeld van een script.
De importaanvraag annuleren
Gebruik de Databasebewerkingen - API Annuleren of de Stop-AzSqlDatabaseActivity PowerShell-opdracht, zoals in het volgende voorbeeld:
Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -OperationId $Operation.OperationId
Vereiste machtigingen voor het annuleren van importbewerkingen
Als u de importbewerking wilt annuleren, moet u lid zijn van een van de volgende rollen:
- De rol SQL DB-bijdrager
- Een custom RBAC-rol van Azure met
Microsoft.Sql/servers/databases/operationsmachtiging
Compatibiliteitsniveau van de nieuwe database
Het compatibiliteitsniveau van de geïmporteerde database is gebaseerd op het compatibiliteitsniveau van de brondatabase.
Nadat u de database hebt geïmporteerd, kunt u ervoor kiezen om de database te gebruiken op het huidige compatibiliteitsniveau of op een hoger niveau. Zie ALTER DATABASE-compatibiliteitsniveau voor meer informatie over de implicaties en opties voor het uitvoeren van een database op een specifiek compatibiliteitsniveau. Zie ALTER DATABASE SCOPED CONFIGURATION voor informatie over andere instellingen op databaseniveau met betrekking tot compatibiliteitsniveaus.
Beperkingen
- Importeren naar een database in een elastische pool wordt niet ondersteund via de Azure-portal, Azure PowerShell of Azure CLI. Maak in plaats daarvan een database in de elastische pool en gebruik vervolgens SQLPackage Importof importeer gegevens met behulp van een methode in één database en verplaats de database vervolgens naar een elastische pool.
- Import-exportservice werkt niet wanneer toegang tot Azure-services is ingesteld op UIT. U kunt het probleem echter omzeilen door SqlPackage handmatig uit te voeren vanaf een Azure VM of de export rechtstreeks in uw code uit te voeren met behulp van de DacFx-API.
- Importeren biedt geen ondersteuning voor het opgeven van redundantie van back-upopslag tijdens het maken van een nieuwe database, en maakt deze aan met de standaard geografisch redundante back-upopslagredundantie. Als u dit wilt omzeilen, maakt u eerst een lege database met gewenste redundantie voor back-upopslag met behulp van Azure portal of PowerShell en importeert u vervolgens de BACPAC in deze lege database.
- Opslag achter een firewall wordt momenteel niet ondersteund.
- Maak tijdens het importproces geen database met dezelfde naam. Het importproces maakt een nieuwe database met de opgegeven naam.
- Op dit moment biedt de import-/exportservice geen ondersteuning voor Microsoft Entra ID verificatie wanneer MFA is vereist.
- Import\Export-services ondersteunen alleen SQL-verificatie en Microsoft Entra ID. Import\Export is niet compatibel met registratie van Microsoft Identity-toepassingen.
Aanvullende hulpprogramma's
U kunt deze wizards ook gebruiken.
- Importwizard voor gegevenslaagtoepassingen in SQL Server Management Studio.
- SQL Server Importeren en exporteren Wizard.