Bagikan melalui


Database DevOps (preview) di SQL Server Management Studio

Proyek database SQL adalah representasi lokal objek SQL yang terdiri dari skema untuk database tunggal, seperti tabel, prosedur tersimpan, atau fungsi. Siklus pengembangan proyek database SQL membantu Anda mengintegrasikan pengembangan database ke dalam alur kerja integrasi berkelanjutan dan penyebaran berkelanjutan (CI/CD) yang akrab sebagai praktik terbaik pengembangan. Di SQL Server Management Studio, Anda dapat menggunakan Microsoft.Build.Sql proyek dalam pratinjau untuk membantu Anda menerapkan, mengelola, dan berkolaborasi pada perubahan database, dengan memberikan definisi lokal objek database.

Artikel ini menjelaskan cara menggunakan proyek database SQL di SQL Server Management Studio (SSMS) sebagai bagian dari atau untuk jangkar alur kerja DevOps database. Untuk informasi selengkapnya tentang proyek database SQL, lihat Proyek database SQL.

Prasyarat

Membuat proyek baru

Untuk bekerja dengan proyek database SQL di SSMS, Anda memerlukan folder lokal yang berisi file proyek Anda. Anda dapat memulai proyek dengan mengekstrak objek dari database yang sudah ada atau dengan membuat file objek baru dari awal.

Cuplikan layar dialog Proyek Baru di SQL Server Management Studio.

Nota

SQL Server Management Studio mungkin meminta Anda untuk tersambung ke server saat membuka file dari Penjelajah Solusi. Anda dapat melakukan pengembangan proyek database SQL secara offline tanpa menyambungkan ke database.

Menambahkan objek dari database yang sudah ada

Gunakan SqlPackage untuk mengekstrak skema dari database yang ada ke dalam file individual .sql yang diatur menurut jenis objek. Jalankan perintah berikut untuk membuat struktur folder dengan objek database Anda:

sqlpackage /Action:Extract /SourceConnectionString:"<connection-string>" /TargetFile:"<temp-folder>" /p:ExtractTarget=SchemaObjectType

Parameter /p:ExtractTarget=SchemaObjectType mengatur file yang diekstrak ke dalam subfolder berdasarkan skema dan jenis objek (misalnya, dbo/Tables, dbo/StoredProcedures). Ekstrak ke folder sementara di luar direktori proyek Anda, lalu gunakan Windows Explorer untuk menyalin isi yang diinginkan ke dalam folder proyek Anda.

Untuk informasi selengkapnya tentang opsi ekstrak SqlPackage, lihat Ekstrak SqlPackage.

Membuat objek baru

Tambahkan objek database baru ke proyek Anda dengan membuat .sql file di folder proyek. Setiap file harus berisi satu CREATE pernyataan untuk satu objek database. Misalnya, definisi tabel:

CREATE TABLE [dbo].[Products]
(
    [ProductId] INT NOT NULL PRIMARY KEY,
    [ProductName] NVARCHAR (100) NOT NULL,
    [Price] DECIMAL (10, 2) NOT NULL
);

Atur file menurut skema dan jenis objek menggunakan subfolder, seperti dbo/Tables atau Sales/StoredProcedures. Struktur ini cocok dengan output ekstrak SqlPackage dan memudahkan untuk menemukan objek saat proyek Anda tumbuh. Proses build proyek SQL mencakup semua .sql file di folder proyek dan subfoldernya secara default.

SSMS menyediakan templat untuk item umum untuk membantu Anda memulai. Untuk menambahkan item baru, klik kanan proyek di Penjelajah Solusi, pilih Tambahkan>Item Baru, dan pilih dari daftar templat objek SQL.

Buka proyek yang sudah ada

Untuk membuka proyek database SQL yang ada di SQL Server Management Studio, pilih File>Buka>Proyek/Solusi dan navigasikan .sqlproj ke file.

Penting

SQL Server Management Studio hanya mendukung proyek bergaya Microsoft.Build.Sql SDK. Versi SDK minimum yang didukung adalah 2.1.0. Jika Anda memiliki proyek SQL asli yang dibuat di Visual Studio, Anda harus mengonversinya ke format gaya SDK sebelum membukanya.

Untuk panduan tentang mengonversi proyek SQL asli ke format gaya SDK, lihat Mengonversi proyek SQL asli ke proyek gaya SDK.

Membangun proyek dan menyebarkan perubahan

Alur kerja proyek SQL terdiri dari dua langkah utama: membangun proyek untuk memvalidasi dan mengkompilasi skema, dan menyebarkan output yang dikompilasi ke database target.

Pembangunan proyek

Membangun proyek SQL memvalidasi hubungan antara objek dan memeriksa sintaks T-SQL terhadap platform target yang ditentukan. Proses build menghasilkan .dacpac file, yang berisi model skema database yang dikompilasi.

Untuk membangun proyek di SSMS, klik kanan proyek di Penjelajah Solusi dan pilih Bangun.

Cuplikan layar Penjelajah Solusi memperlihatkan opsi build proyek SQL.

Hasil build menampilkan kesalahan atau peringatan apa pun. Kesalahan menunjukkan masalah yang mencegah penyebaran, seperti tampilan yang mereferensikan tabel yang tidak ada. Peringatan menyoroti potensi masalah seperti casing yang tidak konsisten dalam nama objek.

Pada build yang berhasil, .dacpac file dibuat di folder dalam bin\Debug direktori proyek Anda.

Untuk informasi selengkapnya tentang pemecahan masalah build, lihat Memecahkan masalah kesalahan build proyek SQL.

Sebarkan perubahan

Setelah membangun proyek Anda, sebarkan .dacpac ke database target menggunakan dialog Terbitkan di SQL Server Management Studio. Proses penyebaran membandingkan .dacpac dengan database target dan menghasilkan pernyataan CREATE, ALTER, atau DROP yang diperlukan untuk menyinkronkan database dengan proyek Anda.

Untuk menyebarkan, klik kanan proyek di Penjelajah Solusi dan pilih Terbitkan. Dalam dialog Terbitkan, konfigurasikan koneksi database target Anda dan pilih Terbitkan untuk menerapkan perubahan atau Buat Skrip untuk meninjau skrip penyebaran sebelum eksekusi.

Cuplikan layar dialog Publish untuk menerapkan perubahan proyek database SQL.

Proses penerbitan idempotensi, sehingga Anda dapat menyebarkan hal yang sama .dacpac beberapa kali tanpa menyebabkan masalah. Pendekatan ini memungkinkan Anda untuk menyebarkan ke beberapa lingkungan (pengembangan, penahapan, produksi) dengan menggunakan artefak yang dikompilasi yang sama.

Untuk informasi terperinci tentang opsi dan konfigurasi penyebaran, lihat Mulai menggunakan proyek database SQL.