Ereignisse
Nehmen Sie uns bei FabCon Vegas bei
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das ultimative Microsoft Fabric-, Power BI-, SQL- und AI-communitygeführte Ereignis. 31. März bis 2. April 2025.
Jetzt registrierenDieser Browser wird nicht mehr unterstützt.
Führen Sie ein Upgrade auf Microsoft Edge durch, um die neuesten Features, Sicherheitsupdates und den technischen Support zu nutzen.
Gilt für: Azure SQL-Datenbank Azure SQL Managed Instance
Sie können eine SQL Server-Datenbank mithilfe einer BACPAC-Datei in eine Datenbank in Azure SQL-Datenbank oder SQL Managed Instance importieren. Sie können die Daten aus einer im Azure Blob Storage gespeicherten bacpac-Datei (nur Storage Standard) oder aus dem lokalen Speicher an einem lokalen Speicherort importieren. Um die Importgeschwindigkeit durch die Bereitstellung von mehr und schnelleren Ressourcen zu maximieren, skalieren Sie Ihre Datenbank während des Importvorgangs auf eine höhere Dienstebene und Computegröße. Sie können dann nach erfolgreichem Import zentral herunterskalieren.
Hinweis
Import und Export mit Private Link befindet sich in der Vorschau.
Sehen Sie sich dieses Video an, um zu erfahren, wie Sie aus einer bacpac-Datei im Azure-Portal importieren können, oder lesen Sie weiter:
Das Azure-Portal unterstützt nur das Erstellen einer Einzeldatenbank in Azure SQL-Datenbank und nur aus einer in Azure Blob-Speicher gespeicherten BACPAC-Datei.
Warnung
Bacpac-Dateien über 4 GB, die von SqlPackage generiert werden, können nicht aus dem Azure-Portal oder Azure PowerShell mit einer Fehlermeldung importiert werden, und es wird die Fehlermeldung File contains corrupted data.
angezeigt. Dies ist ein bekanntes Problem, und die Problemumgehung besteht darin, das SqlPackage
-Befehlszeilenprogramm zum Importieren der Bacpac-Datei zu verwenden. Weitere Informationen finden Sie unter SqlPackage und im Problemprotokoll.
Um eine Datenbank aus einer bacpac-Datei in Azure SQL Managed Instance zu importieren, verwenden Sie SQL Server Management Studio oder SQLPackage. Die Verwendung von Azure-Portal oder Azure PowerShell wird aktuell nicht unterstützt.
Hinweis
Computer, die über das Azure-Portal oder PowerShell übermittelte Import-/Exportanforderungen verarbeiten, müssen die bacpac-Datei sowie die von Data-Tier Application Framework (DacFX) generierten temporären Dateien speichern. Der erforderliche Speicherplatz variiert bei Datenbanken mit derselben Größe enorm. Der erforderliche Speicherplatz kann bis zum Dreifachen der Größe der Datenbank betragen. Der lokale Speicherplatz von Computern, die die Import-/Exportanforderung ausführen, beträgt nur 450 GB. Daher kann bei einigen Anforderungen der Fehler There is not enough space on the disk
auftreten. In diesem Fall besteht die Problemumgehung darin, „SqlPackage“ auf einem Computer mit ausreichend Speicherplatz auszuführen. Es wird empfohlen, „SqlPackage“ zum Importieren oder Exportieren von Datenbanken zu verwenden, die größer als 150 GB sind, um dieses Problem zu vermeiden.
Um eine bacpac-Datei über das Azure-Portal in eine neue Einzeldatenbank zu importieren, öffnen Sie die entsprechende Serverseite, und wählen Sie auf der Symbolleiste Datenbank importieren aus.
Wählen Sie Sicherung auswählen aus. Wählen Sie das Speicherkonto aus, in dem Ihre Datenbank gehostet wird, und wählen Sie dann die bacpac-Datei für den Import aus.
Geben Sie die Größe der neuen Datenbank (in der Regel identisch mit dem Ursprung) und die SQL Server-Anmeldeinformationen für das Ziel an. Eine Liste der möglichen Werte für eine neue Datenbank in Azure SQL-Datenbank finden Sie unter Erstellen einer Datenbank.
Klicken Sie auf OK.
Um den Fortschritt eines Importvorgangs zu überwachen, öffnen Sie die Seite für den Server der Datenbank, und wählen Sie unter Einstellungen die Option Import-/Exportverlauf aus. Bei erfolgreicher Ausführung weist der Import den Status Abgeschlossen auf.
Zum Überprüfen, ob die Datenbank auf dem Server aktiv ist, wählen Sie SQL-Datenbanken aus, und prüfen Sie, ob der Status der neuen Datenbank Online ist.
Informationen zum Importieren einer SQL Server-Datenbank mit dem Befehlszeilenprogramm SqlPackage finden Sie unter Importparameter und -eigenschaften. Sie können das neueste SqlPackage für Windows, macOS oder Linux herunterladen.
Aus Gründen der Skalierbarkeit und Leistung wird die Verwendung von SqlPackage (statt des Azure-Portals) für die meisten Produktionsumgebungen empfohlen. Einen Blogbeitrag des SQL Server-Kundenberatungsteams zur Migration mithilfe von BACPAC
-Dateien finden Sie unter Migrating from SQL Server to Azure SQL Database using BACPAC Files (Migrieren von SQL Server zu Azure SQL-Datenbank mithilfe von BACPAC-Dateien).
Das DTU-basierte Bereitstellungsmodell unterstützt ausgewählte Werte für die maximale Datenbankgröße für jede Ebene. Verwenden Sie beim Importieren einer Datenbank einen dieser unterstützten Werte.
Mit dem folgenden SqlPackage-Befehl wird die Datenbank AdventureWorks2008R2
aus dem lokalen Speicher in eine logische SQL Server-Instanz mit dem Namen mynewserver20170403
importiert. Er erstellt eine neue Datenbank namens myMigratedDatabase
mit der Premium-Dienstebene und dem Serviceobjekt P6. Ändern Sie diese Werte entsprechend Ihrer Umgebung.
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
Wichtig
Wenn Sie sich hinter einer Unternehmensfirewall befinden und eine Verbindung mit Azure SQL-Datenbank herstellen möchten, muss Port 1433 der Firewall geöffnet sein. Um eine Verbindung mit SQL Managed Instance herzustellen, benötigen Sie eine Point-to-Site-Verbindung oder eine ExpressRoute-Verbindung.
Als Alternative zu Benutzername und Kennwort können Sie Microsoft Entra ID (früher Azure Active Directory) verwenden. Derzeit unterstützt der Import/Export-Dienst die Microsoft Entra ID-Authentifizierung nicht, wenn MFA erforderlich ist. Ersetzen Sie /ua:true
und /tid:"yourdomain.onmicrosoft.com"
durch die Parameter „username“ (Benutzername) und „password“ (Kennwort). In diesem Beispiel wird gezeigt, wie eine Datenbank unter Verwendung von SqlPackage mit der Authentifizierung in Microsoft Entra importiert wird:
SqlPackage /a:Import /sf:testExport.bacpac /tdn:NewDacFX /tsn:apptestserver.database.windows.net /ua:True /tid:"apptest.onmicrosoft.com"
Azure Data Studio ist ein kostenloses Open-Source-Tool und für Windows, macOS und Linux verfügbar. Die Erweiterung „SQL Server dacpac“ bietet eine Assistentenschnittstelle für SqlPackage-Vorgänge, einschließlich Export und Import. Weitere Informationen zur Installation und Verwendung der Erweiterung finden Sie in der Dokumentation zur dacpac-Erweiterung von SQL Server.
Hinweis
Bei Azure SQL Managed Instance ist es derzeit nicht möglich, eine Datenbank aus einer bacpac-Datei über Azure PowerShell in eine Instanzdatenbank zu migrieren. Verwenden Sie zum Import in eine verwaltete SQL-Instanz entweder SQL Server Management Studio oder SQLPackage.
Hinweis
Die Computer, die über das Portal oder PowerShell übermittelte Import-/Exportanforderungen verarbeiten, müssen die BACPAC-Datei sowie die von DacFX (Data-Tier Application Framework) generierten temporären Dateien speichern. Der erforderliche Speicherplatz schwankt bei Datenbanken mit derselben Größe enorm, und es kann bis zu drei Mal so viel Speicherplatz benötigt werden wie die Größe der Datenbank selbst. Der lokale Speicherplatz von Computern, die die Import-/Exportanforderung ausführen, beträgt nur 450 GB. Daher kann bei einigen Anforderungen der Fehler „There is not enough space on the disk“ (Auf dem Datenträger ist nicht genügend Speicherplatz verfügbar.) auftreten. In diesem Fall besteht die Problemumgehung darin, „SqlPackage“ auf einem Computer mit ausreichend Speicherplatz auszuführen. Verwenden Sie zum Importieren/Exportieren von Datenbanken mit mehr als 150 GB „SqlPackage“, um dieses Problem zu vermeiden.
Wichtig
Das Azure Resource Manager-Modul (RM) von PowerShell wird weiterhin unterstützt, aber alle zukünftigen Entwicklungen erfolgen für das Az.Sql-Modul. Das AzureRM-Modul erhält mindestens bis Dezember 2020 weiterhin Fehlerbehebungen. Die Argumente für die Befehle im Az-Modul und den AzureRm-Modulen sind im Wesentlichen identisch. Weitere Informationen zur Kompatibilität finden Sie in der Einführung in das neue Azure PowerShell Az-Modul.
Verwenden Sie das Cmdlet New-AzSqlDatabaseImport, um eine Anforderung für einen Datenbankimport an Azure zu übermitteln. Je nach Größe der Datenbank kann der Importvorgang einige Zeit in Anspruch nehmen. Das DTU-basierte Bereitstellungsmodell unterstützt ausgewählte Werte für die maximale Datenbankgröße für jede Ebene. Verwenden Sie beim Importieren einer Datenbank einen dieser unterstützten Werte.
$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)
Mit dem Cmdlet Get-AzSqlDatabaseImportExportStatus können Sie den Status des Importvorgangs überprüfen. Wenn Sie das Cmdlet direkt nach der Anforderung ausführen, wird in der Regel Status: InProgress
zurückgegeben. Der Import ist abgeschlossen, wenn Status: Succeeded
angezeigt wird.
$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
Tipp
Ein weiteres Skriptbeispiel finden Sie unter Importieren einer Datenbank aus einer BACPAC-Datei.
Verwenden Sie wie im folgenden Beispiel die API zum Abbrechen von Datenbankvorgängen oder den PowerShell-Befehl Stop-AzSqlDatabaseActivity:
Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -OperationId $Operation.OperationId
Um einen Importvorgang abzubrechen, müssen Sie Mitglied einer der folgenden Rollen sein:
Microsoft.Sql/servers/databases/operations
-BerechtigungSie können auch die folgenden Assistenten verwenden:
Ereignisse
Nehmen Sie uns bei FabCon Vegas bei
31. März, 23 Uhr - 2. Apr., 23 Uhr
Das ultimative Microsoft Fabric-, Power BI-, SQL- und AI-communitygeführte Ereignis. 31. März bis 2. April 2025.
Jetzt registrierenTraining
Modul
Migrieren von SQL Server-Workloads zu Azure SQL-Datenbank - Training
Erfahren Sie mehr über die Grundlagen der Azure SQL-Datenbankbereitstellung und -migration. Entdecken Sie die Vorteile, exklusiven Features und Migrationsoptionen, während Sie gleichzeitig die Leistung und Anwendungsverbindungen optimieren, um einen reibungslosen Übergang zur Cloud zu gewährleisten.
Zertifizierung
Microsoft Certified: Azure Database Administrator Associate - Certifications
Verwalten einer SQL Server-Datenbankinfrastruktur für Cloud-, lokale und hybride relationale Datenbanken auf Grundlage der Microsoft PaaS-Angebote für relationale Datenbanken.