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 tingkat data (DAC) adalah unit mandiri dari seluruh model database dan portabel dalam artefak yang dikenal sebagai paket DAC, atau .dacpac
. Ini adalah praktik yang baik untuk meninjau konten dari .dacpac
sebelum menggunakannya di lingkungan produksi, dan untuk memastikan tindakan peningkatan sebelum meningkatkan DAC yang ada. Validasi .dacpac
konten sangat penting saat menyebarkan paket yang tidak dikembangkan di organisasi Anda. Artikel ini menjelaskan beberapa cara untuk mengurai model basis data dari .dacpac
untuk Windows, macOS, dan Linux.
Peringatan
Kami menyarankan agar Anda tidak menggunakan .dacpac
dari sumber yang tidak dikenal atau tidak dapat dipercaya. DAC tersebut dapat berisi kode berbahaya yang mungkin menjalankan kode yang tidak diinginkan atau menyebabkan kesalahan dengan memodifikasi skema. Sebelum Anda menggunakan DAC dari sumber yang tidak diketahui atau tidak tepercaya, gunakan pada instans pengujian terisolasi dari Mesin Database, bongkar DAC dan periksa kode, seperti prosedur yang disimpan atau kode lain yang ditentukan pengguna.
Opsi untuk memeriksa konten .dacpac
termasuk:
- mengimpor
.dacpac
ke proyek SQL di Visual Studio - menggunakan utilitas baris perintah SqlPackage untuk mengekstrak
.dacpac
- mendekompresi file untuk menampilkan konten XML
- menyebarkan
.dacpac
ke instans pengujian
Membongkar .dacpac
segera setelah diekstrak dari database untuk melihat definisi objek lebih efisien dicapai dengan menggunakan Ekstrak di SqlPackage dengan properti /p:ExtractTarget=File
. Hasilnya secara langsung membuat satu .sql
file yang berisi definisi objek dari database sumber yang ditentukan.
Mengimpor DACPAC ke proyek SQL di Visual Studio
.dacpac
Mengimpor ke proyek SQL di Visual Studio menghasilkan konten .dacpac
yang diubah menjadi file .sql dan diatur ke dalam folder. Setelah impor, skrip pasca-penyebaran dan skrip pra-penyebaran dari .dacpac
terlihat di penjelajah solusi.
Instal SQL Server Data Tools sebagai bagian dari Visual Studio dan buat proyek SQL baru.
Di Penjelajah Solusi klik kanan proyek kosong dan pilih Impor, lalu dari paket aplikasi lapis data.
Mendekompresi DACPAC untuk menampilkan konten XML
Mendekompresi file .dacpac
menghasilkan konten XML mentah yang dapat dilihat di editor teks. Saat mencari komponen tertentu dalam .dacpac
, meninjau konten XML bisa menjadi metode cepat untuk mengakses informasi.
Ubah ekstensi file pada file menjadi
.dacpac
.zip
.Unzip file .zip menggunakan utilitas yang disediakan oleh OS Anda. Untuk membuka zip file dari baris perintah:
unzip AdventureWorks.dacpac
Konten yang dihasilkan meliputi
DacMetadata.xml
,Origin.xml
, danmodel.xml
.
Menyebarkan DACPAC ke instans pengujian
Menyebarkan .dacpac
ke instans pengujian menghasilkan konten yang .dacpac
diterbitkan ke database tempat objek dapat dijelajahi dari berbagai alat database yang terhubung.
Nota
Salah satu opsi untuk membuat instans pengujian secara lokal adalah dengan SQL Server di Docker.
Menyebarkan DACPAC menggunakan Azure Data Studio
Pasang ekstensi SQL Server dacpac di Azure Data Studio.
Sambungkan ke instance yang diinginkan. Klik kanan pada simpul server dan pilih penyihir aplikasi tingkat data dari menu.
Pilih opsi terapkan dari wizard dan atur opsi Database Target ke Database Baru.
Setelah penyebaran, navigasikan ke database di server yang tersambung di penjelajah objek untuk menelusuri objek database.
Menyebarkan DACPAC menggunakan SqlPackage
Instal SqlPackage.
Gunakan SqlPackage CLI untuk menerbitkan
.dacpac
file ke instans yang diinginkan. Misalnya perintah untuk memublikasikan.dacpac
ke database, lihatlah Contoh Publikasi SqlPackage.
Alat lain dengan kemampuan penyebaran DACPAC
Di luar Azure Data Studio dan SqlPackage, banyak alat lain dapat digunakan untuk menyebarkan .dacpac
ke database. Beberapa contohnya meliputi:
- SQL Server Management Studio
- Visual Studio: Perangkat Data SQL Server
Memanggil metode Unpack()
Microsoft.SqlServer.DacFx .NET API menyediakan metode untuk membongkar.dacpac
ke folder, yang dapat digunakan untuk membongkar .dacpac
ke folder secara terprogram seperti yang terlihat. Contoh aplikasi .NET berikut mengambil dua argumen, jalur ke .dacpac
file dan jalur ke folder output, dan hasilnya adalah konten dari .dacpac
file XML yang dikonversi ke 3 dan satu file .sql yang berisi semua objek database.
using Microsoft.SqlServer.Dac;
namespace DacUnpack
{
class Program
{
static void Main(string[] args)
{
var dacpacPath = args[0];
var outputPath = args[1];
if (!Directory.Exists(outputPath))
{
Directory.CreateDirectory(outputPath);
}
Console.WriteLine("Unpacking {0} to {1}", dacpacPath, outputPath);
using(DacPackage dacpac = DacPackage.Load(dacpacPath))
{
dacpac.Unpack(outputPath);
}
}
}
}