Mengekstrak DAC Dari Database

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Gunakan Wizard Aplikasi Tingkat Data Ekstrak atau skrip Windows PowerShell untuk mengekstrak paket aplikasi tingkat data (DAC) dari database SQL Server yang ada. Proses ekstraksi membuat file paket DAC yang berisi definisi objek database dan elemen tingkat instans terkait. Misalnya, file paket DAC berisi tabel database, prosedur tersimpan, tampilan, dan pengguna, bersama dengan login yang memetakan ke pengguna database.

Sebelum Anda mulai

Anda dapat mengekstrak DAC dari database yang berada di instans SQL Database, atau Paket Layanan SQL Server 2000 (8.x) 4 atau yang lebih baru. Jika proses ekstraksi dijalankan terhadap database yang disebarkan dari DAC, hanya definisi objek dalam database yang diekstrak. Proses ini tidak mereferensikan DAC yang terdaftar di msdb (master di SQL Database). Proses ekstraksi tidak mendaftarkan definisi DAC dalam instans Mesin Database saat ini. Untuk informasi selengkapnya tentang mendaftarkan DAC, lihat Mendaftarkan Database Sebagai DAC.

Pembatasan dan batasan

DAC hanya dapat diekstrak dari database di SQL Database, atau SQL Server 2005 (9.x) Service Pack 4 (SP4) atau yang lebih baru. Anda tidak dapat mengekstrak DAC jika database memiliki objek yang tidak didukung dalam DAC, atau pengguna mandiri. Untuk informasi selengkapnya tentang jenis objek yang didukung dalam DAC, lihat Dukungan DAC Untuk Objek dan Versi SQL Server.

Izin

Mengekstrak DAC memerlukan setidaknya mengubah izin VIEW DEFINITION LOGIN dan lingkup database, serta izin SELECT pada sys.sql_expression_dependencies. Mengekstrak DAC dapat dilakukan oleh anggota peran server tetap securityadmin yang juga anggota peran database tetap database_owner dalam database tempat DAC diekstraksi. Anggota peran server tetap sysadmin atau akun administrator sistem SQL Server bawaan bernama sa juga dapat mengekstrak DAC.

Menggunakan Wizard Ekstrak Aplikasi tingkat Data

Untuk Mengekstrak DAC Menggunakan Wizard

  1. Di Object Explorer, perluas simpul untuk instans yang berisi database tempat DAC akan diekstrak.

  2. Perluas simpul Database .

  3. Klik kanan simpul untuk database tempat DAC akan diekstrak, arahkan ke Tugas, lalu pilih Ekstrak Aplikasi tingkat Data...

  4. Selesaikan dialog wizard:

    1. Halaman Pengantar

    2. Pilih Halaman Data

    3. Atur Halaman Properti

    4. Halaman Validasi dan Ringkasan

    5. Halaman Paket Build

Halaman pengenalan wizard

Halaman ini menjelaskan langkah-langkah untuk mengekstrak aplikasi tingkat data.

Jangan tampilkan halaman ini lagi. - Klik kotak centang untuk menghentikan halaman ditampilkan di masa mendatang.

Berikutnya > - Melanjutkan ke halaman Pilih Metode .

Batal - Mengakhiri wizard tanpa mengekstrak aplikasi tingkat data dari database.

[Ekstrak Wizard]

Pilih halaman data

Pilih data referensi yang ingin Anda sertakan dalam file paket aplikasi tingkat data (DAC) Anda. Menyertakan data dalam paket DAC Anda bersifat opsional. Paket DAC sudah akan menyertakan skema semua objek database yang didukung dan objek instans yang terkait dengan database Anda.

Anda dapat menyertakan hingga 10 MB data referensi dalam file paket DAC Anda. Namun, agar tabel disertakan dalam DAC, tabel mungkin tidak berisi jenis data objek besar biner (BLOB) seperti gambar atau varchar(maks). Untuk mengekstrak data dalam jumlah yang lebih besar untuk ditransfer ke database lain, gunakan SQL Server Integration Services, utilitas salinan massal, atau salah satu dari banyak teknik migrasi data lainnya.

Tabel database - Pilih kotak centang di samping tabel database yang berisi data yang ingin Anda sertakan dalam paket DAC Anda. Anda dapat memilih hingga sepuluh tabel yang memiliki 10.000 baris atau kurang.

[Ekstrak Wizard]

Atur halaman properti

Gunakan halaman wizard ini untuk menjelaskan aplikasi tingkat data (DAC). Properti ini digunakan untuk mengidentifikasi DAC dan membantu membedakannya dari yang lain.

Nama - Nama ini mengidentifikasi DAC. Ini bisa berbeda dari nama file paket DAC dan harus menjelaskan aplikasi Anda. Misalnya, jika database digunakan untuk aplikasi keuangan, Anda mungkin ingin memberi nama DAC Finance.

Versi (gunakan xx.xx.xx.xx, di mana x adalah angka) - Nilai numerik yang mengidentifikasi versi DAC. Versi DAC digunakan di Visual Studio untuk mengidentifikasi versi DAC yang sedang digabungkan pengembang. Saat menyebarkan DAC, versi disimpan dalam database msdb dan nantinya dapat dilihat di bawah simpul Aplikasi tingkat Data di SQL Server Management Studio.

Deskripsi: - Opsional. Menjelaskan DAC. Saat menyebarkan DAC, deskripsi disimpan dalam database msdb dan nantinya dapat dilihat di bawah simpul Aplikasi tingkat Data di Management Studio.

Simpan ke file paket DAC (sertakan ekstensi .dacpac dengan nama file): - Menyimpan DAC ke file paket DAC, dengan ekstensi .dacpac. Klik tombol Telusuri untuk menentukan nama dan lokasi file.

Timpa file yang ada - Pilih kotak centang ini untuk mengganti file paket DAC jika sudah ada dengan nama yang sama.

Halaman validasi dan ringkasan

Pada halaman ini, wizard memvalidasi bahwa semua objek database didukung oleh aplikasi tingkat data (DAC). Ini juga memeriksa dependensi di seluruh objek database untuk menentukan kumpulan objek yang berhasil disertakan dalam DAC. Setelah itu, ini menampilkan laporan validasi dan meringkas opsi yang telah Anda pilih dalam panduan ini. Untuk mengubah opsi, klik Sebelumnya. Untuk mulai mengekstrak DAC, klik Berikutnya.

Catatan

Jika satu atau beberapa objek tidak didukung oleh DAC, maka tombol Berikutnya dinonaktifkan dan proses ekstraksi mungkin tidak dilanjutkan. Dalam kasus seperti itu, disarankan untuk menghapus objek yang tidak didukung lalu menjalankan wizard ini lagi.

Ringkasan - Ringkasan opsi yang Anda pilih tercantum di bawah properti DAC. Hasil validasi tercantum di bawah objek DAC. Ada tiga jenis hasil dari validasi:

  • Objek yang berhasil disertakan dalam DAC: objek ini dan dependensinya didukung, dan dapat dimasukkan dalam DAC dengan sukses.

  • Objek yang disertakan dalam DAC dengan peringatan: objek ini didukung, tetapi bergantung pada objek lain yang tidak didukung dalam DAC.

  • Objek yang tidak disertakan dalam DAC: objek ini tidak didukung dan harus dihapus dari database sebelum berhasil mengekstrak DAC.

Proses validasi memeriksa beberapa tingkat dependensi. Misalnya, jika prosedur tersimpan tergantung pada tabel yang menggunakan jenis data CLR yang tidak didukung, prosedur tersimpan akan tercantum di bawah Objek yang disertakan dalam DAC dengan peringatan.

Jika satu atau beberapa objek tidak didukung oleh DAC, maka tombol Berikutnya dinonaktifkan dan proses ekstraksi tidak akan dilanjutkan. Dalam kasus seperti itu, disarankan untuk menghapus objek yang tidak didukung lalu menjalankan wizard ini lagi.

Simpan Laporan - Memungkinkan Anda menyimpan file berbasis HTML yang mencantumkan semua objek di bawah simpul Objek DAC dalam ringkasan. Laporan ini dapat berguna ketika beberapa objek database Anda tidak didukung dalam DAC. Gunakan laporan untuk mengubah atau menghapus objek yang tidak didukung, sebelum mencoba mengekstrak DAC lagi.

Halaman paket build

Gunakan halaman ini untuk memantau kemajuan wizard saat mengekstrak aplikasi tingkat data (DAC).

Tindakan - Selama tindakan Buat dan simpan file paket DAC, wizard mengekstrak DAC dari database SQL Server Anda. Kemudian, paket DAC dibuat dalam memori dan disimpan ke lokasi yang Anda tentukan. Pilih tautan di kolom Hasil untuk melihat hasil langkah yang sesuai.

Simpan Laporan - Pilih untuk menyimpan hasil kemajuan wizard ke file.

Selesai - Klik untuk menutup wizard setelah pemrosesan selesai, atau jika terjadi kesalahan.

Mengekstrak DAC menggunakan PowerShell

Untuk mengekstrak DAC dari database menggunakan metode Extract() dalam skrip PowerShell

  1. Buat objek SMO Server dan atur ke instans yang berisi database tempat DAC akan diekstrak.

  2. Tambahkan variabel yang menentukan nama database.

  3. Tentukan metadata untuk DAC, seperti nama, versi, dan deskripsi DAC.

  4. Tentukan jalur dan nama file untuk file paket DAC yang diekstrak.

  5. Jalankan metode Ekstrak dengan informasi yang ditentukan di atas.

Contoh (PowerShell)

Contoh berikut mengekstrak DAC bernama MyApplication dari database bernama MyDB.

## Set a SMO Server object to the default instance on the local computer.  
CD SQLSERVER:\SQL\localhost\DEFAULT  
$srv = get-item .  
  
## Specify the database to extract to a DAC.  
$dbname = "MyDB"  
  
## Specify the DAC metadata.  
$applicationname = "MyApplication"  
$version = "1.0.0.0"  
$description = "This DAC defines the database used by my application."  
  
## Specify the location and name for the extracted DAC package.  
$dacpacPath = "C:\MyDACs\MyApplication.dacpac"  
  
## Extract the DAC.  
$extractionunit = New-Object Microsoft.SqlServer.Management.Dac.DacExtractionUnit($srv, $dbname, $applicationname, $version)  
$extractionunit.Description = $description  
$extractionunit.Extract($dacpacPath)  

Baca juga