Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Aplikasi ke:Azure SQL Database
Azure SQL Managed Instance
Ketika Anda perlu mengekspor database untuk pengarsipan atau untuk pemindahan ke platform lain, Anda dapat mengekspor skema database dan data ke file BACPAC. File BACPAC adalah file ZIP dengan ekstensi BACPAC yang berisi metadata dan data dari database. File BACPAC dapat disimpan di penyimpanan Blob Azure atau di penyimpanan lokal di lokasi lokal dan kemudian diimpor kembali ke Azure SQL Database, Azure SQL Managed Instance, atau instans SQL Server.
Pertimbangan
Agar ekspor konsisten secara transaksional, Anda harus memastikan bahwa tidak ada aktivitas tulis yang terjadi selama ekspor, atau bahwa Anda mengekspor dari salinan database Anda yang konsisten secara transaksional .
Jika Anda mengekspor ke penyimpanan blob, ukuran maksimum file BACPAC adalah 200 GB. Untuk mengarsipkan file BACPAC yang lebih besar, ekspor ke penyimpanan lokal dengan SqlPackage.
Impor atau ekspor Azure SQL Database dengan menggunakan tautan pribadi sedang dalam pratinjau.
Nama file Azure Storage tidak dapat diakhir dengan . dan tidak boleh berisi karakter khusus seperti karakter spasi atau <, >, *, %, &, :, \, /, ?. Panjang nama file harus kurang dari 128 karakter.
Jika operasi ekspor melebihi 20 jam, mungkin operasi tersebut dibatalkan. Untuk meningkatkan performa selama ekspor, Anda dapat:
Meningkatkan ukuran komputasi Anda untuk sementara waktu.
Menghentikan semua aktivitas baca dan tulis selama ekspor.
Gunakan indeks berkluster dengan nilai bukan nol pada semua tabel besar. Tanpa indeks berkluster, mungkin ekspor akan gagal jika memakan waktu lebih dari 6-12 jam. Ini karena layanan ekspor perlu menyelesaikan pemindaian tabel untuk mencoba mengekspor seluruh tabel. Cara yang baik untuk menentukan apakah tabel Anda dioptimalkan untuk ekspor adalah dengan menjalankan
DBCC SHOW_STATISTICSdan memastikan bahwaRANGE_HI_KEYtidak null dan nilainya memiliki distribusi yang baik. Untuk detailnya, lihat SHOW_STATISTICS DBCC (Transact-SQL).Untuk database yang lebih besar, ekspor/impor BACPAC mungkin memakan waktu lama, dan mungkin gagal karena berbagai alasan.
Catatan
BACPAC tidak dimaksudkan untuk digunakan untuk operasi pencadangan dan pemulihan. Azure secara otomatis membuat cadangan untuk setiap database pengguna. Untuk detailnya, lihat gambaran umum kelangsungan bisnis bisnis dan Cadangan yang diatomasi dalam Azure SQL Database atau Cadangan yang diatomasi dalam Azure SQL Managed Instance.
Mengekspor dari portal Azure
- Anda dapat menggunakan portal Azure untuk mengekspor BACPAC database di server logis Azure SQL Database.
- Menggunakan portal Azure saat ini tidak didukung untuk mengekspor BACPAC database dari Azure SQL Managed Instance.
Catatan
Mesin yang memproses permintaan impor/ekspor yang dikirimkan melalui portal Azure atau PowerShell perlu menyimpan file BACPAC dan file sementara yang dihasilkan oleh Data-Tier Application Framework (DacFX). Ruang disk yang diperlukan bervariasi secara signifikan di antara database dengan ukuran yang sama dan dapat memerlukan ruang disk hingga 3 kali ukuran database. Komputer yang menjalankan permintaan impor/ekspor hanya memiliki ruang disk lokal 450GB. Akibatnya, beberapa permintaan mungkin gagal dengan kesalahan There is not enough space on the disk. Dalam hal ini, solusinya adalah menjalankan SqlPackage pada komputer dengan ruang disk lokal yang cukup. Gunakan utilitas SQLPackage untuk mengimpor/mengekspor database yang lebih besar dari 150GB untuk menghindari masalah ini.
Untuk mengekspor database menggunakan portal Azure, buka halaman untuk database Anda dan pilih Export pada toolbar.
Tentukan nama file BACPAC, pilih akun penyimpanan dan kontainer Azure yang ada untuk ekspor, lalu berikan kredensial yang sesuai untuk akses ke database sumber. Login admin SQL Server diperlukan di sini meskipun Anda adalah admin Azure, karena menjadi admin Azure tidak sama dengan memiliki izin admin di Azure SQL Database atau Azure SQL Managed Instance.
Pilih OK.
Untuk memantau kemajuan operasi ekspor, buka halaman untuk server yang berisi database yang sedang diekspor. Di bagian Manajemen data, pilih Impor/Ekspor riwayat.
Ekspor dengan autentikasi identitas terkelola (pratinjau)
Anda dapat mengekspor database dalam Azure SQL Database ke file BACPAC menggunakan identitas managed untuk menghilangkan kebutuhan untuk menyediakan kata sandi administrator SQL atau kunci akses penyimpanan.
Untuk tutorial terperinci, lihat Menggunakan identitas terkelola dengan impor dan ekspor (pratinjau).
Untuk mengekspor file BACPAC menggunakan autentikasi identitas terkelola, konfigurasi berikut diperlukan:
- Identitas terkelola yang ditetapkan pengguna (UAMI) kepada server logis untuk Azure SQL Database.
- Server memiliki identitas terkelola yang dikonfigurasi sebagai administrator Microsoft Entra.
- Identitas terkelola ditetapkan ke peran Storage Blob Data Contributor pada akun Azure Storage target. Identitas terkelola ini bisa sama dengan yang ditetapkan ke server atau identitas yang berbeda.
- Server logis, identitas terkelola, dan akun penyimpanan berada di penyewa Microsoft Entra yang sama.
Catatan
Ekspor dengan otentikasi identitas terkelola sedang dalam tahap pratinjau dan hanya tersedia untuk Azure SQL Database.
Utilitas SQLPackage
Kami merekomendasikan penggunaan utilitas SQLPackage untuk skala dan performa di sebagian besar lingkungan produksi. Anda dapat menjalankan beberapa perintah SqlPackage secara paralel untuk subset tabel yang dapat mempercepat operasi impor/ekspor.
Untuk mengekspor database di SQL Database menggunakan utilitas baris perintah SQLPackage, lihat Parameter dan properti ekspor. Utilitas SQLPackage tersedia untuk Windows, macOS, dan Linux.
Contoh ini memperlihatkan cara mengekspor database menggunakan SqlPackage dengan Active Directory Universal Authentication:
SqlPackage /a:Export /tf:testExport.bacpac /scs:"Data Source=apptestserver.database.windows.net;Initial Catalog=MyDB;" /ua:True /tid:"apptest.onmicrosoft.com"
Visual Studio Code
Ekstensi MSSQL untuk Visual Studio Code adalah ekstensi sumber terbuka gratis yang tersedia untuk Windows, macOS, dan Linux. Ekstensi ini mencakup pengalaman Aplikasi Tingkat Data (Pratinjau) untuk operasi SqlPackage, termasuk ekspor dan impor. Untuk informasi selengkapnya tentang menginstal dan menggunakan ekstensi, lihat ekstensi MSSQL untuk Visual Studio Code.
SQL Server Management Studio (SSMS)
SQL Server Management Studio menyediakan wizard untuk mengekspor database dalam Azure SQL Database atau database SQL Managed Instance ke file BACPAC. Lihat Ekspor Aplikasi Lapisan Data.
PowerShell
Mengekspor BACPAC database dari Azure SQL Managed Instance menggunakan PowerShell tidak didukung. Lihat Pertimbangan.
Gunakan cmdlet New-AzSqlDatabaseExport untuk mengirimkan permintaan database ekspor ke layanan Azure SQL Database. Bergantung pada ukuran database Anda, operasi ekspor mungkin membutuhkan waktu untuk diselesaikan.
$exportRequest = New-AzSqlDatabaseExport -ResourceGroupName $ResourceGroupName -ServerName $ServerName `
-DatabaseName $DatabaseName -StorageKeytype $StorageKeytype -StorageKey $StorageKey -StorageUri $BacpacUri `
-AdministratorLogin $creds.UserName -AdministratorLoginPassword $creds.Password
Untuk memeriksa status permintaan ekspor, gunakan cmdlet Get-AzSqlDatabaseImportExportStatus. Menjalankan cmdlet ini segera setelah permintaan biasanya menampilkan Status: InProgress. Saat Anda melihat Status: Berhasil ekspor selesai.
$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
Batalkan permintaan ekspor
Gunakan Operasi Database - Batalkan API atau perintah Powershell Stop-AzSqlDatabaseActivity untuk membatalkan permintaan ekspor. Berikut adalah contoh perintah PowerShell:
Stop-AzSqlDatabaseActivity -ResourceGroupName $ResourceGroupName -ServerName $ServerName -DatabaseName $DatabaseName -OperationId $Operation.OperationId
Catatan
Untuk membatalkan operasi ekspor, Anda harus memiliki salah satu peran berikut:
- Peran Kontributor SQL DB atau
- Peran RBAC Azure kustom dengan izin
Microsoft.Sql/servers/databases/operations
Batasan
- Mengekspor file BACPAC ke penyimpanan premium Azure menggunakan metode yang dibahas dalam artikel ini tidak didukung.
- Penyimpanan di belakang firewall saat ini tidak didukung.
- Penyimpanan immutabel saat ini tidak didukung.
- Azure SQL Managed Instance saat ini tidak mendukung ekspor database ke file BACPAC menggunakan portal Azure atau Azure PowerShell. Untuk mengekspor instans terkelola ke dalam file BACPAC, gunakan SQL Server Management Studio (SSMS) atau SQLPackage.
- Saat ini, layanan Impor/Ekspor tidak mendukung autentikasi Microsoft Entra ID saat MFA diperlukan.
- Layanan Import\Export hanya mendukung autentikasi SQL dan Microsoft Entra ID. Import\Export tidak kompatibel dengan pendaftaran aplikasi Microsoft Identity.
Konten terkait
- Cadangan retensi jangka panjang - Azure SQL Database dan Azure SQL Managed Instance
- pencadangan database khusus salin
- Apor BACPAC ke database SQL Server
- Mengekspor Aplikasi tahap Data
- migrate dari SQL Server ke Azure SQL Database offline menggunakan DMS
- Migrasi database SQL Server ke Azure SQL Database
- Rekomendasi keamanan untuk penyimpanan Blob