Aplikasi tingkat data (DAC)

Berlaku untuk:SQL ServerAzure SQL DatabaseAzure SQL Managed Instance

Aplikasi tingkat data (DAC) adalah entitas database logis yang menentukan semua objek SQL Server - seperti tabel, tampilan, dan objek instans, termasuk login - yang terkait dengan database pengguna. DAC adalah unit mandiri dari seluruh model database dan portabel dalam artefak yang dikenal sebagai paket DAC, atau .dacpac. Dukungan alat untuk aplikasi tingkat data memungkinkan pengembang dan administrator database untuk menyebarkan dacpac ke database baru atau yang sudah ada. Penyebaran ke database yang sudah ada memperbarui model database dari status yang ada agar sesuai dengan konten dacpac. Pengembang membangun DAC dari proyek database SQL, konsep pengembangan deklaratif untuk membangun objek SQL yang memungkinkan kontrol sumber pada skema database.

.bacpac adalah artefak terkait yang secara default merangkum skema database dan data yang disimpan dalam database. Kasus penggunaan utama untuk BACPAC adalah memindahkan database dari satu server ke server lain - atau untuk memigrasikan database dari server lokal ke cloud - dan mengarsipkan database yang ada dalam format terbuka.

Manfaat aplikasi tingkat data

Siklus hidup aplikasi database dapat melibatkan pengembang dan DBA yang bertukar skrip dan berbagi catatan integrasi penggunaan tunggal untuk aktivitas pembaruan aplikasi. Meskipun proses ini dapat diterima dalam beberapa keadaan, mungkin sulit untuk diintegrasikan dengan alur DevOps dan proses pengembangan umum.

Aplikasi tingkat data memungkinkan pengembangan database deklaratif, menyederhanakan proses pengembangan dan memberikan pengalaman pengembangan yang lebih konsisten dan dapat diprediksi. Pengembang dapat menulis database dengan proyek database SQL dalam pilihan lingkungan pengembangan terintegrasi (IDE) mereka. Proyek database SQL dapat dikompilasi ke paket DAC secara lokal atau dalam alur DevOps. Paket DAC pada gilirannya disebarkan ke database pengujian, penahapan, atau produksi melalui proses otomatis atau secara manual dengan alat CLI atau GUI. .dacpac dapat digunakan untuk memperbarui database dengan objek baru atau yang dimodifikasi, untuk kembali ke versi database sebelumnya, atau untuk menyediakan database yang sama sekali baru. Sebaliknya, .dacpac dapat dihasilkan dari database yang ada dan digunakan untuk membuat proyek database SQL berdasarkan skema database saat ini.

Keuntungan dari penyebaran berbasis DAC selama proses berbasis migrasi adalah bahwa proses memungkinkan identifikasi dan validasi perilaku dari database sumber dan target yang berbeda. Alat yang digunakan selama penyebaran/peningkatan database memiliki opsi untuk menandai tindakan berisiko seperti perubahan ukuran kolom yang dapat menyebabkan kehilangan data dan kemampuan untuk secara langsung membuat skrip rencana peningkatan. Paket ini dapat dievaluasi secara manual sebelum melanjutkan pembaruan.

Operasional

DAC menyederhanakan pengembangan, penyebaran, dan manajemen elemen tingkat data yang mendukung aplikasi.

DACPAC

DAC mendukung operasi berikut:

  • EXTRACT - pengguna dapat mengekstrak database ke dalam .dacpac. Untuk informasi selengkapnya, lihat Ekstrak SqlPackage dan Ekstrak DAC Dari Database.

  • DEPLOY/PUBLISH - pengguna dapat menyebarkan .dacpac ke server host. Ketika penyebaran dilakukan ke database yang sudah ada, perbedaan antara database dan DAC diterapkan ke database sebagai operasi pembaruan objek. Istilah "terbitkan" sering digunakan secara bergantian dengan "deploy." Untuk informasi selengkapnya, lihat Penerbitan SqlPackage, Menyebarkan Aplikasi tingkat Data, dan Menyebarkan Database Dengan Menggunakan DAC.

Kemampuan ini dapat ditemukan di SqlPackage, SQL Server Management Studio, Azure Data Studio, dan SQL Server Data Tools.

Proyek database SQL

Proyek SQL mendukung operasi berikut:

  • BUILD - pengguna dapat membangun proyek database SQL ke dalam .dacpac.

  • PUBLISH - pengguna dapat menerbitkan proyek database SQL ke server host.

  • EXTRACT - pengguna dapat mengekstrak database ke dalam proyek database SQL.

Kemampuan ini dapat ditemukan di Azure Data Studio, Visual Studio Code, dan SQL Server Data Tools.

BACPAC

.bacpac, di sisi lain, difokuskan pada pengambilan skema dan data yang mendukung dua operasi utama:

Kemampuan ini didukung oleh alat SqlPackage, SQL Server Management Studio, Azure Data Studio, dan portal Azure.

Alat DAC

Artefak aplikasi tingkat data dan proyek SQL dapat digunakan di beberapa alat. Alat-alat ini memenuhi persyaratan persona pengguna yang berbeda.

DACPAC dan BACPAC

Alat berikut mendukung paket DAC dan format paket BAC:

Dalam alat-alat ini, database dapat diekstrak ke .dacpac atau diekspor ke .bacpac. Sebaliknya, .bacpac dapat diimpor ke database baru atau .dacpac dapat diterbitkan ke database baru atau yang sudah ada.

Proyek DACPAC dan SQL

Alat berikut mendukung format paket DAC selain menyediakan pengeditan proyek database SQL:

Dalam alat-alat ini, pengembang dapat merancang database di lingkungan pengembangan sisi klien yang tidak terhubung. Alat ini dapat digunakan untuk membuat paket DAC, menyebarkan paket DAC ke database, dan mengimpor paket database ke dalam proyek SQL.

Konsep DAC

Dukungan versi

Secara umum, alat DAC mampu membaca file .dacpac yang dihasilkan oleh alat DAC dari versi SQL Server sebelumnya, dan juga dapat menyebarkan paket DAC ke versi SQL Server sebelumnya. Namun, alat DAC dari versi sebelumnya tidak dapat membaca file .dacpac yang dihasilkan oleh alat DAC dari versi yang lebih baru. Minimal, alat DAC mendukung versi dukungan SQL Server pada saat rilis.

Format file

.dacpac adalah folder terkompresi dengan ekstensi .dacpac, dan demikian pula .bacpac adalah folder terkompresi dengan ekstensi .bacpac. Pengguna tingkat lanjut dapat membongkar file untuk melihat beberapa bagian XML yang mewakili detail asal, objek dalam database, dan karakteristik lainnya. Untuk membongkar .dacpac atau .bacpac, ganti ekstensi file dengan .zip dan gunakan utilitas kompresi file untuk membuka zp file.

Pendaftaran aplikasi tingkat data

Di SQL Server Management Studio, tindakan lain dapat diambil pada database untuk mendaftarkannya sebagai aplikasi tingkat data.

  • REGISTER - pengguna dapat mendaftarkan database sebagai aplikasi tingkat data.

  • UNREGISTER - database yang sebelumnya terdaftar sebagai DAC dapat dibatalkan pendaftarannya.

  • UPGRADE - database dapat ditingkatkan menggunakan .dacpac.

Untuk informasi selengkapnya tentang tindakan ini, lihat tugas di bawah ini.

Tugas Tautan artikel
Menjelaskan cara menggunakan file paket DAC baru untuk meningkatkan instans ke versi baru DAC. Meningkatkan Aplikasi Tingkat Data
Menjelaskan cara menghapus instans DAC. Anda dapat memilih untuk juga melepaskan atau menghilangkan database terkait, atau membiarkan database tetap utuh. Menghapus Aplikasi tingkat Data
Menjelaskan cara mempromosikan database yang ada menjadi instans DAC. Definisi DAC dibangun dan disimpan dalam database sistem. Mendaftarkan Database Sebagai DAC
Menjelaskan cara meninjau konten paket DAC dan tindakan yang akan dilakukan peningkatan DAC sebelum menggunakan paket dalam sistem produksi. Memvalidasi Paket DAC

Langkah berikutnya