Tutorial: mulai dari database yang sudah ada

Aplikasi ke:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSQL dalam database Microsoft Fabric

Proyek SQL berisi file deklaratif (CREATE pernyataan) untuk semua objek dalam database, seperti tabel, tampilan, dan prosedur tersimpan. Anda bisa menggunakan file-file ini untuk membuat database baru, memperbarui database yang sudah ada, atau melacak database dalam kontrol sumber. Seringkali, Anda mulai dengan proyek SQL ketika Anda memiliki database yang sudah ada dan ingin membuat objek dalam proyek SQL yang cocok dengan database dengan upaya minimal.

Beberapa alat proyek SQL menyertakan satu langkah untuk membuat proyek SQL baru dari database yang sudah ada. Alat lain memerlukan beberapa langkah untuk membuat proyek SQL baru lalu mengimpor objek dari database yang sudah ada. Kecuali untuk instruksi Visual Studio (SQL Server Data Tools), panduan ini berfokus pada proyek SQL bergaya SDK.

Dengan opsi 1 dalam tutorial ini, Anda:

  • Langkah 1: Membuat proyek SQL baru dari database yang sudah ada
  • Langkah 2: Membangun proyek SQL

Dengan opsi 2 dalam tutorial ini, Anda:

  • Langkah 1: Membuat proyek SQL kosong baru
  • Langkah 2: Mengimpor objek dari database yang sudah ada
  • Langkah 3: Membangun proyek SQL

Prerequisites

# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage

# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates

Note

Untuk menyelesaikan tutorial, Anda memerlukan akses ke instans Azure SQL atau SQL Server. Anda dapat mengembangkan secara lokal secara gratis dengan SQL Server edisi pengembang di Windows atau di kontainer.

Opsi 1: Membuat proyek SQL baru dari database yang sudah ada

Langkah 1: Buat proyek SQL baru dari database yang sudah ada

Dari SQL Server Object Explorer di Visual Studio, klik kanan database yang ingin Anda buat project dan pilih Buat Project Baru... .

Screenshot dari dialog Impor Database di Visual Studio.

Dalam dialog Buat Project Baru, masukkan nama project. Nama proyek tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan. Pengaturan impor default mengimpor objek ke dalam folder menurut skema, lalu jenis objek. Anda dapat mengubah pengaturan impor untuk mengubah struktur folder atau menyertakan izin dalam objek yang sedang diimpor. Mulai proses impor.

Dialog Impor Database menampilkan kemajuan impor sebagai pesan. Setelah impor selesai, Anda dapat melihat objek yang diimpor di Solution Explorer. Proses ini menyimpan log dalam file di direktori proyek di bawah Import Schema Logs. Pilih Selesai.

Opsi 1 tidak tersedia untuk proyek SQL bergaya SDK di Visual Studio. Gunakan opsi 2 sebagai gantinya.

Dalam tampilan penjelajah objek database di Visual Studio Code, pilih database tempat Anda ingin membuat proyek. Klik kanan database dan pilih Buat Project dari Database.

Screenshot dari dialog pembuatan proyek dari database di Visual Studio Code.

Dalam Visual Studio Code, dialog Buat proyek dari database memerlukan nama dan lokasi proyek. Pengaturan impor default mengimpor objek ke dalam folder menurut skema, lalu jenis objek. Anda dapat memilih struktur folder lain atau memilih untuk menyertakan izin dalam objek yang sedang diimpor sebelum memilih Buat.

Buka tampilan Proyek Database untuk melihat proyek baru dan definisi objek yang diimpor.

Opsi 1 tidak tersedia untuk SQL Server Management Studio. Gunakan opsi 2 sebagai gantinya.

Opsi 1 tidak tersedia untuk baris perintah. Gunakan opsi 2 sebagai gantinya.

Langkah 2: Bangun proyek SQL

Proses build memvalidasi hubungan antara objek dan sintaks terhadap platform target yang ditentukan dalam file proyek. Artefak output dari proses build adalah berkas .dacpac, yang dapat Anda gunakan untuk mendepoloy proyek ke database target. File ini berisi model skema database yang dikompilasi.

Di Solution Explorer, klik kanan simpul proyek dan pilih Build.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, jendela output akan menampilkannya. Pada build yang berhasil, artefak build (.dacpac file) dibuat dan lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac).

Opsi 1 tidak tersedia untuk proyek SQL bergaya SDK di Visual Studio. Gunakan opsi 2 sebagai gantinya.

Dalam tampilan Database Projects Visual Studio Code, klik kanan simpul proyek dan pilih Build.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, jendela output akan menampilkannya. Pada build yang berhasil, artefak build (.dacpac file) dibuat dan lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac).

Opsi 1 tidak tersedia untuk SQL Server Management Studio. Gunakan opsi 2 sebagai gantinya.

Opsi 1 tidak tersedia untuk baris perintah. Gunakan opsi 2 sebagai gantinya.

Opsi 2: Buat proyek SQL kosong baru dan impor objek dari database yang sudah ada

Atau, Anda dapat memisahkan langkah-langkah pembuatan proyek dan impor objek.

Langkah 1: Buat proyek SQL kosong baru

Mulai proyek Anda dengan membuat proyek database SQL baru sebelum mengimpor objek Anda ke dalamnya.

Pilih File, Baru, lalu Project.

Dalam kotak dialog Baru Project, gunakan istilah SQL Server di kotak pencarian. Hasil teratas adalah SQL Server Database Project.

Cuplikan layar dialog Proyek baru.

Pilih Berikutnya untuk melanjutkan ke langkah berikutnya. Masukkan nama proyek, yang tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan.

Pilih Buat untuk membuat proyek. Proyek kosong terbuka dan terlihat di Solution Explorer untuk pengeditan.

Pilih File, Baru, lalu Project.

Dalam kotak dialog Baru Project, gunakan istilah SQL Server di kotak pencarian. Hasil teratas adalah SQL Server Database Project, Gaya SDK (pratinjau).

Cuplikan layar dialog Proyek baru.

Pilih Berikutnya untuk melanjutkan ke langkah berikutnya. Masukkan nama proyek, yang tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan.

Pilih Buat untuk membuat proyek. Proyek kosong terbuka dan terlihat di Solution Explorer untuk pengeditan.

Dalam tampilan Database Projects Visual Studio Code, pilih tombol Baru Project.

Cuplikan layar Viewlet baru.

Perintah pertama menentukan templat proyek mana yang akan digunakan, terutama berdasarkan apakah platform target SQL Server atau Azure SQL. Jika diminta untuk memilih versi SQL tertentu, pilih versi yang cocok dengan database target. Jika Anda tidak mengetahui versi database target, pilih versi terbaru karena nilainya dapat dimodifikasi nanti.

Masukkan nama proyek dalam input teks yang muncul, yang tidak perlu cocok dengan nama database.

Dalam dialog Pilih Folder yang muncul, pilih direktori untuk folder, file, .sqlproj dan konten proyek lainnya untuk berada.

Ketika diminta apakah akan membuat proyek gaya SDK, pilih Ya.

Setelah selesai, proyek kosong terbuka dan terlihat dalam tampilan Proyek Database untuk pengeditan.

Pilih File, Baru, lalu Project.

Dalam kotak dialog Baru Project, pilih SQL Database Project.

Cuplikan layar dialog Proyek baru.

Pilih Berikutnya untuk melanjutkan ke langkah berikutnya. Masukkan nama proyek, yang tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan.

Pilih Buat untuk membuat proyek. Proyek kosong terbuka dan terlihat di Solution Explorer untuk pengeditan.

Saat Anda menginstal templat .NET untuk Microsoft. Proyek Build.Sql, Anda dapat membuat proyek database SQL baru dari baris perintah. Opsi -n menentukan nama proyek, dan -tp opsi menentukan platform target proyek.

Gunakan opsi -h untuk melihat semua opsi yang tersedia.

# create a new SQL database project
dotnet new sqlproj -n MyDatabaseProject

Langkah 2: Mengimpor objek dari database yang sudah ada

Di Solution Explorer, klik kanan simpul proyek dan pilih Import -> Database... . Jika opsi ini dinonaktifkan, proyek database Anda mungkin memiliki objek yang dibuat di dalamnya. Anda dapat menghapus objek atau membuat proyek baru.

Dalam dialog Impor Database, pilih koneksi ke database tempat Anda ingin mengimpor objek. Jika Anda tersambung ke database di SQL Server Object Explorer, database akan muncul di daftar history.

Screenshot dari dialog Impor Database di Visual Studio.

Pengaturan impor default mengimpor objek ke dalam folder menurut skema, lalu jenis objek. Anda dapat mengubah pengaturan impor untuk mengubah struktur folder atau menyertakan izin dalam objek yang sedang diimpor. Mulai proses impor.

Saat impor berlanjut, kemajuan ditampilkan sebagai pesan dalam dialog Impor Database . Ketika impor selesai, objek yang diimpor terlihat di Solution Explorer dan log disimpan dalam file di direktori proyek di bawah Import Schema Logs. Pilih Selesai untuk kembali ke proyek.

Gunakan SqlPackage CLI untuk mengimpor objek dari database yang sudah ada ke proyek database SQL baru yang Anda buat di Visual Studio di langkah 1. Perintah SqlPackage berikut mengimpor skema database ke folder MyDatabaseProject yang diatur oleh skema berlapis dan folder jenis objek.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

Saat Anda menempatkan folder ini di folder proyek database SQL bergaya SDK, folder tersebut secara otomatis disertakan dalam proyek tanpa perlu mengimpornya atau memodifikasi file proyek SQL.

Dalam ekstensi Proyek SQL Database di Visual Studio Code, buka tampilan Database Projects. Klik kanan simpul proyek dan pilih Perbarui proyek dari database.

Screenshot dari dialog Update Database di Visual Studio Code.

Dalam dialog Perbarui Database, pilih koneksi ke database yang ingin Anda impor objeknya. Jika Anda tersambung ke database dalam tampilan Koneksi , database akan muncul di daftar riwayat .

Pilih Lihat perubahan dalam perbandingan skema untuk meninjau dan memilih subset objek untuk diimpor, atau Terapkan semua perubahan untuk mengimpor semua objek.

Di Solution Explorer, klik kanan simpul proyek dan pilih Impor Dari Database... .

Dalam dialog Impor Database, pilih koneksi ke database tempat Anda ingin mengimpor objek.

Cuplikan layar dialog Impor Database di SSMS.

Pengaturan impor default mengimpor semua objek dari database ke dalam proyek dan mengaturnya dalam folder menurut skema dan jenis objek, tetapi membatalkan impor jika ada objek dalam proyek yang ditimpa. Anda dapat mengubah impor untuk memperbarui proyek dengan objek dari database dengan memilih Timpa objek yang ada dalam proyek. Pilih Impor untuk memulai impor.

Setelah impor selesai, Solution Explorer diperbarui dengan objek yang diimpor.

Gunakan SqlPackage CLI untuk mengekstrak skema database yang ada ke .dacpac file atau file individual .sql . Perintah SqlPackage berikut mengekstrak skema database ke .sql file yang diatur oleh skema berlapis dan folder jenis objek.

sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType

Saat Anda menempatkan folder ini di folder proyek database SQL bergaya SDK, folder tersebut secara otomatis disertakan dalam proyek tanpa perlu mengimpornya atau memodifikasi file proyek SQL.

Langkah 3: Bangun proyek SQL

Proses build memvalidasi hubungan antara objek dan sintaks terhadap platform target yang ditentukan dalam file proyek. Artefak output dari proses build adalah berkas .dacpac, yang dapat Anda gunakan untuk mendepoloy proyek ke database target. File ini berisi model skema database yang dikompilasi.

Di Solution Explorer, klik kanan simpul proyek dan pilih Build.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, jendela output akan menampilkannya. Pada build yang berhasil, artefak build (.dacpac file) dibuat dan lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac).

Di Solution Explorer, klik kanan simpul proyek dan pilih Build.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, jendela output akan menampilkannya. Pada build yang berhasil, artefak build (.dacpac file) dibuat dan lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac).

Dalam tampilan Database Projects Visual Studio Code, klik kanan simpul proyek dan pilih Build.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, jendela output akan menampilkannya. Pada build yang berhasil, artefak build (.dacpac file) dibuat dan lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac).

Di Solution Explorer, klik kanan simpul proyek dan pilih Build.

Cuplikan layar dari Solution Explorer di SQL Server Management Studio dengan opsi Build tersedia.

Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, jendela output akan menampilkannya. Pada build yang berhasil, artefak build (.dacpac file) dibuat dan lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac).

Anda dapat membangun proyek database SQL dari baris perintah menggunakan dotnet build perintah .

dotnet build

# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj

Hasil build mencakup kesalahan atau peringatan apa pun dan file serta nomor baris tertentu tempat hal tersebut terjadi. Pada build yang berhasil, artefak build (.dacpac file) dibuat dan lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac).