訓練
認證
Microsoft認證:Azure資料庫管理師助理 - Certifications
使用 Microsoft PaaS 關聯式資料庫供應項目管理用於雲端、內部部署和混合關聯式資料庫的 SQL Server 資料庫基礎結構。
適用於:Azure SQL 資料庫
Azure SQL 受控執行個體
當您需要匯出資料庫以封存或移至另一個平台時,可以將資料庫結構描述和資料匯出至 BACPAC 檔案。 BACPAC 檔案是一種副檔名為 BACPAC 的 ZIP 檔案,其中包含來自資料庫的中繼資料和資料。 BACPAC 檔案可以儲存在 Azure Blob 儲存體或內部部署位置的本機儲存體中,稍後再匯回 Azure SQL 資料庫、Azure SQL 受控執行個體或 SQL Server 執行個體。
為了讓匯出處於交易一致狀態,必須確定在匯出期間未發生任何寫入活動,或者是從資料庫的交易一致性複本匯出。
如果要匯出至 blob 儲存體,BACPAC 檔案的大小上限為 200 GB。 若要封存較大的 BACPAC 檔案,請使用 SqlPackage 匯出到本機儲存體。
使用 Private Link 匯入及匯出為預覽狀態。
Azure 儲存體檔案名稱不能以 . 結尾,而且不能包含特殊字元,例如空格符或 <、>、*、%、&、:、\、/、?。 檔案名稱長度應少於 128 個字元。
如果匯出作業超過 20 個小時,可能會被取消。 若要增加匯出期間的效能,您可以︰
DBCC SHOW_STATISTICS,並確定 RANGE_HI_KEY 不是 null 且其值具有良好的分佈。 如需詳細資料,請參閱 DBCC SHOW_STATISTICS。注意
BACPAC 並非用於備份和還原作業。 Azure 會自動為每個使用者資料庫建立備份。 如需詳細資訊,請參閱商務持續性概觀和 Azure SQL 資料庫中的自動備份,或 Azure SQL 受控執行個體中的自動備份。
注意
處理透過 Azure 入口網站或 PowerShell 提交的匯入/匯出要求的電腦,必須儲存 Data-Tier Application Framework (DacFX) 所產生的 BACPAC 檔案和臨時檔。 大小相同的資料庫所需的磁碟空間有很大的差異,且最多可能需要資料庫大小三倍的磁碟空間。 執行匯入/匯出要求的電腦僅具有 450 GB 的本機磁碟空間。 因此,某些要求可能會失敗,並出現錯誤 There is not enough space on the disk。 在此情況下,因應措施是在具有足夠本機磁碟空間的機器上執行 SqlPackage。 使用 SQLPackage 公用程式 匯入/匯出大於 150GB 的資料庫,以避免此問題。
若要使用 Azure 入口網站匯出資料庫,請開啟資料庫頁面,然後選取工具列上的 [匯出]。
指定 BACPAC 檔案名稱、選取要匯出之現有的 Azure 儲存體帳戶和容器,然後提供適當的認證以存取來源資料庫。 這裡需要 SQL Server 管理員登入,即使您是 Azure 管理員也一樣,因為 Azure 管理員身分不等於具有 Azure SQL 資料庫或 Azure SQL 受控執行個體的管理權限。
選取 [確定]。
若要監視匯出作業的進度,請開啟包含匯出資料庫的伺服器頁面。 在 [資料管理] 下,選取 [匯入/匯出記錄]。
針對大部分生產環境中的延展性和效能,我們建議您使用 SQLPackage 公用程式。 您可以針對資料表子集平行執行多個 SqlPackage 命令,來加速匯入/匯出作業。
若要使用 SQLPackage 命令列公用程式匯出 SQL Database 中的資料庫,請參閱匯出參數和屬性。 SQLPackage 公用程式適用於 Windows、macOS 和 Linux。
此範例會說明如何透過 Active Directory 通用驗證使用 SqlPackage 匯出資料庫:
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 是免費的開放原始碼工具,適用於 Windows、Mac 和 Linux。 "SQL Server dacpac" 延伸模組提供 SqlPackage 作業 (包括匯出和匯入) 的精靈介面。 如需安裝和使用延伸項目的詳細資訊,請參閱 SQL Server dacpac 延伸項目 (機器翻譯)。
SQL Server Management Studio 提供精靈,協助您將 Azure SQL 資料庫中的資料庫或 SQL 受控執行個體資料庫匯出至 BACPAC 檔案。 請參閱匯出資料層應用程式。
目前不支援使用 PowerShell,從 Azure SQL 受控執行個體匯出資料庫的 BACPAC。 請參閱考量。
使用 New-AzSqlDatabaseExport Cmdlet 將匯出資料庫要求提交至 Azure SQL 資料庫服務。 視資料庫大小而定,匯出作業可能需要一些時間才能完成。
$exportRequest = New-AzSqlDatabaseExport -ResourceGroupName $ResourceGroupName -ServerName $ServerName `
-DatabaseName $DatabaseName -StorageKeytype $StorageKeytype -StorageKey $StorageKey -StorageUri $BacpacUri `
-AdministratorLogin $creds.UserName -AdministratorLoginPassword $creds.Password
若要查看匯出要求的狀態,請使用 Get-AzSqlDatabaseImportExportStatus Cmdlet。 如果在要求後立即執行此 Cmdlet,通常會傳回 Status: InProgress。 當您看見 Status: Succeeded 時,便代表匯出已完成。
$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
使用資料庫作業 - 取消 API 或 PowerShell Stop-AzSqlDatabaseActivity 命令來取消匯出要求。 以下是 PowerShell 命令範例:
Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -OperationId $Operation.OperationId
訓練
認證
Microsoft認證:Azure資料庫管理師助理 - Certifications
使用 Microsoft PaaS 關聯式資料庫供應項目管理用於雲端、內部部署和混合關聯式資料庫的 SQL Server 資料庫基礎結構。
事件