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.
Van toepassing op:Azure SQL Database
Azure SQL Managed Instance
Wanneer u een database wilt exporteren voor archivering of voor verplaatsing naar een ander platform, kunt u het databaseschema en de gegevens exporteren naar een BACPAC-bestand . Een BACPAC-bestand is een ZIP-bestand met de extensie BACPAC met de metagegevens en gegevens uit de database. Een BACPAC-bestand kan worden opgeslagen in Azure Blob Storage of in lokale opslag op een on-premises locatie en later weer worden geïmporteerd in Azure SQL Database, Azure SQL Managed Instanceof een SQL Server-exemplaar.
Overwegingen
Als u een export transactioneel consistent wilt maken, moet u ervoor zorgen dat er geen schrijfactiviteit plaatsvindt tijdens de export of dat u exporteert vanuit een transactioneel consistente kopie van uw database.
Als u exporteert naar blobopslag, is de maximale grootte van een BACPAC-bestand 200 GB. Als u een groter BACPAC-bestand wilt archiveren, exporteert u naar lokale opslag met SqlPackage.
importeren en exporteren met behulp van Private Link is in preview.
De Azure Storage-bestandsnaam kan niet eindigen en
.mag geen speciale tekens bevatten, zoals een spatieteken of<, ,>,*%,&, , ,:,\,/.?De bestandsnaam moet minder dan 128 tekens lang zijn.Als de exportbewerking langer is dan 20 uur, kan deze worden geannuleerd. Als u de prestaties tijdens het exporteren wilt verbeteren, kunt u het volgende doen:
- Verhoog de rekenkracht tijdelijk.
- Alle lees- en schrijfactiviteit tijdens de export stoppen.
- Gebruik een geclusterde index met niet-null-waarden voor alle grote tabellen. Zonder geclusterde indexen kan een export mislukken als het langer duurt dan 6-12 uur. Dit komt doordat de exportservice een tabelscan moet voltooien om de hele tabel te exporteren. Een goede manier om te bepalen of uw tabellen zijn geoptimaliseerd voor export, is om uit te voeren
DBCC SHOW_STATISTICSen ervoor te zorgen dat de RANGE_HI_KEY niet null is en de waarde een goede verdeling heeft. Zie DBCC-SHOW_STATISTICS voor meer informatie. - Voor grotere databases kan het exporteren/importeren van BACPAC lang duren en kan het om verschillende redenen mislukken.
Opmerking
BACPACs zijn niet bedoeld voor back-up- en herstelbewerkingen. Azure maakt automatisch back-ups voor elke gebruikersdatabase. Zie het overzicht van bedrijfscontinuïteit en geautomatiseerde back-ups in Azure SQL Database of geautomatiseerde back-ups in Azure SQL Managed Instance voor meer informatie.
Exporteren vanuit Azure Portal
- U kunt Azure Portal gebruiken om een BACPAC van een database te exporteren op een logische Server van Azure SQL Database.
- Het gebruik van Azure Portal wordt momenteel niet ondersteund om een BACPAC van een database uit Azure SQL Managed Instance te exporteren.
Opmerking
Machines die import-/exportaanvragen verwerken die zijn ingediend via Azure Portal of PowerShell, moeten het BACPAC-bestand en tijdelijke bestanden opslaan 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 het uitvoeren van SqlPackage op een computer met voldoende lokale schijfruimte. Gebruik het hulpprogramma SQLPackage om databases te importeren/exporteren die groter zijn dan 150 GB om dit probleem te voorkomen.
Als u een database wilt exporteren met behulp van Azure Portal, opent u de pagina voor uw database en selecteert u Exporteren op de werkbalk.
Geef de BACPAC-bestandsnaam op, selecteer een bestaand Azure-opslagaccount en -container voor de export en geef vervolgens de juiste referenties op voor toegang tot de brondatabase. Hier is een aanmelding van een SQL Server-beheerder nodig, zelfs als u de Azure-beheerder bent, omdat het niet gelijk is aan beheerdersmachtigingen in Azure SQL Database of Azure SQL Managed Instance.
Kies OK.
Als u de voortgang van de exportbewerking wilt controleren, opent u de pagina voor de server met de database die wordt geëxporteerd. Selecteer onder Gegevensbeheerde optie Import/Export-geschiedenis.
SQLPackage-hulpprogramma
We raden het gebruik van het hulpprogramma SQLPackage aan voor schaalbaarheid en prestaties in de meeste productieomgevingen. U kunt meerdere SqlPackage-opdrachten parallel uitvoeren voor subsets van tabellen om import-/exportbewerkingen te versnellen.
Als u een database in SQL Database wilt exporteren met behulp van het opdrachtregelprogramma SQLPackage , raadpleegt u Parameters en eigenschappen exporteren. Het hulpprogramma SQLPackage is beschikbaar voor Windows, macOS en Linux.
In dit voorbeeld ziet u hoe u een database exporteert met behulp van SqlPackage met Universele verificatie van 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 is een gratis opensource-hulpprogramma en is beschikbaar voor Windows, Mac en Linux. De extensie SQL Server dacpac biedt een wizardinterface voor SqlPackage-bewerkingen, waaronder exporteren en importeren. Zie de SQL Server dacpac-extensie voor meer informatie over het installeren en gebruiken van de extensie.
SQL Server Management Studio (SSMS)
SQL Server Management Studio biedt een wizard voor het exporteren van een database in Azure SQL Database of een SQL Managed Instance-database naar een BACPAC-bestand. Zie de toepassing Een gegevenslaag exporteren.
PowerShell
Het exporteren van een BACPAC van een database vanuit Azure SQL Managed Instance met behulp van PowerShell wordt niet ondersteund. Zie overwegingen.
Gebruik de cmdlet New-AzSqlDatabaseExport om een exportdatabaseaanvraag in te dienen bij de Azure SQL Database-service. Afhankelijk van de grootte van uw database kan het enige tijd duren voordat de exportbewerking is voltooid.
$exportRequest = New-AzSqlDatabaseExport -ResourceGroupName $ResourceGroupName -ServerName $ServerName `
-DatabaseName $DatabaseName -StorageKeytype $StorageKeytype -StorageKey $StorageKey -StorageUri $BacpacUri `
-AdministratorLogin $creds.UserName -AdministratorLoginPassword $creds.Password
Gebruik de cmdlet Get-AzSqlDatabaseImportExportStatus om de status van de exportaanvraag te controleren. Als u deze cmdlet onmiddellijk uitvoert nadat de aanvraag meestal status retourneert: InProgress. Wanneer de status wordt weergegeven: Geslaagd is de export voltooid.
$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
De exportaanvraag annuleren
Gebruik de databasebewerkingen - API annuleren of de opdracht PowerShell Stop-AzSqlDatabaseActivity om een exportaanvraag te annuleren. Hier volgt een voorbeeld van een PowerShell-opdracht:
Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -OperationId $Operation.OperationId
Opmerking
Als u de exportbewerking wilt annuleren, moet u een van de volgende rollen hebben:
- De rol Bijdrager aan SQL DB of
- Een aangepaste Azure RBAC-rol met
Microsoft.Sql/servers/databases/operationsmachtiging
Beperkingen
- Het exporteren van een BACPAC-bestand naar Azure Premium Storage met behulp van de methoden die in dit artikel worden besproken, wordt niet ondersteund.
- Opslag achter een firewall wordt momenteel niet ondersteund.
- Onveranderbare opslag wordt momenteel niet ondersteund.
- Azure SQL Managed Instance biedt momenteel geen ondersteuning voor het exporteren van een database naar een BACPAC-bestand met behulp van Azure Portal of Azure PowerShell. Als u een beheerd exemplaar wilt exporteren naar een BACPAC-bestand, gebruikt u SQL Server Management Studio (SSMS) of SQLPackage.
- Momenteel biedt de Import/Export-service 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.
Verwante inhoud
- Zie Langetermijnretentie van back-ups voor meer informatie over het bewaren van back-ups van één database en pooldatabases als alternatief voor het exporteren van een database voor archiefdoeleinden. U kunt SQL Agent-taken gebruiken om back-ups van alleen-kopiëren-databases te plannen als alternatief voor langetermijnretentie van back-ups.
- Zie Een BACPAC importeren in een SQL Server-database voor meer informatie over het importeren van een BACPAC in een SQL Server-database.
- Zie Een gegevenslaagtoepassing exporteren voor meer informatie over het exporteren van een BACPAC vanuit een SQL Server-database
- Zie Migreren van SQL Server naar Azure SQL Database offline met behulp van DMS voor meer informatie over het gebruik van de Data Migration Service om een database te migreren.
- Als u exporteert van SQL Server als een prelude naar migratie naar Azure SQL Database, raadpleegt u Een SQL Server-database migreren naar Azure SQL Database.
- Zie Beveiligingsaankopen voor Blob Storage voor meer informatie over het veilig beheren en delen van opslagsleutels en handtekeningen voor gedeelde toegang.