Tutorial: mulai dari database yang sudah ada
Berlaku untuk: SQL ServerAzure SQL Database Azure SQL Managed Instance
Proyek SQL berisi file deklaratif (pernyataan CREATE) untuk semua objek dalam database, seperti tabel, tampilan, dan prosedur tersimpan. File-file ini dapat digunakan untuk membuat database baru, memperbarui database yang ada, atau bahkan hanya untuk melacak database dalam kontrol sumber. Seringkali kita memulai dengan proyek SQL ketika kita memiliki database yang 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: buat proyek SQL baru dari database yang sudah ada Langkah 2: bangun proyek SQL
Dengan opsi 2 dalam tutorial ini, Anda:
- Langkah 1: buat proyek SQL kosong baru
- Langkah 2: mengimpor objek dari database yang sudah ada
- Langkah 3: bangun proyek SQL
Prasyarat
- .NET 8 SDK
- Komunitas Visual Studio 2022, Profesional, atau Perusahaan
- Alat Data SQL Server, gaya SDK (pratinjau) diinstal di Visual Studio 2022
- SqlPackage CLI
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install SqlPackage CLI
dotnet tool install -g Microsoft.SqlPackage
# install Microsoft.Build.Sql.Templates
dotnet new install Microsoft.Build.Sql.Templates
Catatan
Untuk menyelesaikan tutorial, Anda memerlukan akses ke instans Azure SQL atau SQL Server. Anda dapat mengembangkan secara lokal secara gratis dengan edisi pengembang SQL Server di Windows atau dalam kontainer.
Opsi 1: Membuat proyek SQL baru dari database yang sudah ada
Langkah 1: Buat proyek SQL baru dari database yang sudah ada
Dari penjelajah objek SQL Server di Visual Studio, klik kanan database yang ingin Anda buat proyeknya dan pilih Buat Proyek Baru....
Dalam dialog Buat Proyek Baru, berikan nama proyek, yang 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 impor.
Saat impor berlanjut, kemajuan ditampilkan sebagai pesan dalam dialog Impor Database . Ketika impor selesai, objek yang diimpor terlihat di Penjelajah Solusi dan log disimpan dalam file di direktori proyek di bawah Import Schema Logs
. Pilih Selesai.
Opsi 1 tidak tersedia untuk baris perintah. Gunakan opsi 2 sebagai gantinya.
Dalam tampilan penjelajah objek database di Visual Studio Code atau Azure Data Studio, pilih database tempat Anda ingin membuat proyek. Klik kanan database dan pilih Buat Proyek dari Database.
Di Azure Data Studio, dialog Buat proyek dari database mengharuskan nama dan lokasi proyek dipilih. Pengaturan impor default mengimpor objek ke dalam folder menurut skema, lalu jenis objek. Anda dapat memilih struktur folder yang berbeda atau untuk menyertakan izin dalam objek yang sedang diimpor sebelum memilih Buat.
Di Visual Studio Code, perintah meminta nama dan lokasi proyek. Pengaturan impor default mengimpor objek ke dalam folder menurut skema, lalu jenis objek. Anda dapat memilih struktur folder yang berbeda atau untuk menyertakan izin dalam objek yang sedang diimpor sebelum impor dimulai.
Buka tampilan Proyek Database untuk melihat proyek baru dan definisi objek yang diimpor.
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. Output artefak dari proses build adalah .dacpac
file, yang dapat digunakan untuk menyebarkan proyek ke database target dan berisi model skema database yang dikompilasi.
Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Bangun.
Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac
file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac
).
Opsi 1 tidak tersedia untuk baris perintah. Gunakan opsi 2 sebagai gantinya.
Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, klik kanan simpul proyek dan pilih Bangun.
Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac
file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac
).
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, langkah-langkah pembuatan proyek dan impor objek dapat dilakukan secara terpisah.
Langkah 1: Buat proyek SQL kosong baru
Kami memulai proyek kami dengan membuat proyek database SQL baru sebelum mengimpor objek kami ke dalamnya.
Pilih File, Baru, lalu Proyek.
Dalam kotak dialog Proyek Baru, gunakan istilah SQL Server di kotak pencarian. Hasil teratas harus berupa Proyek Database SQL Server.
Pilih Berikutnya untuk melanjutkan ke langkah berikutnya. Berikan nama proyek, yang tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan.
Pilih Buat untuk membuat proyek. Proyek kosong dibuka dan terlihat di Penjelajah Solusi untuk pengeditan.
Pilih File, Baru, lalu Proyek.
Dalam kotak dialog Proyek Baru, gunakan istilah SQL Server di kotak pencarian. Hasil teratas harus SQL Server Database Project, SDK-style (pratinjau).
Pilih Berikutnya untuk melanjutkan ke langkah berikutnya. Berikan nama proyek, yang tidak perlu cocok dengan nama database. Verifikasi dan ubah lokasi proyek sesuai kebutuhan.
Pilih Buat untuk membuat proyek. Proyek kosong dibuka dan terlihat di Penjelajah Solusi untuk pengeditan.
Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, pilih tombol Proyek Baru.
Perintah pertama menentukan templat proyek mana yang akan digunakan, terutama berdasarkan apakah platform target adalah SQL Server atau Azure SQL. Jika diminta untuk memilih versi SQL tertentu, pilih versi yang cocok dengan database target tetapi jika versi database target tidak diketahui, pilih versi terbaru karena nilai 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.
Saat diminta apakah akan membuat proyek gaya SDK (pratinjau), pilih Ya.
Setelah selesai, proyek kosong dibuka dan terlihat dalam tampilan Proyek Database untuk pengeditan.
Dengan templat .NET untuk proyek Microsoft.Build.Sql terinstal, Anda dapat membuat proyek database SQL baru dari baris perintah. Opsi -n
menentukan nama proyek, dan -tp
opsi menentukan platform target proyek.
Gunakan opsi untuk melihat semua opsi yang -h
tersedia.
# install Microsoft.Build.Sql.Templates
dotnet new sqlproject -n MyDatabaseProject
Langkah 2: Mengimpor objek dari database yang sudah ada
Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Impor -> 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 telah tersambung ke database di penjelajah objek SQL Server, database tersebut ada dalam daftar riwayat .
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 impor.
Saat impor berlanjut, kemajuan ditampilkan sebagai pesan dalam dialog Impor Database . Ketika impor selesai, objek yang diimpor terlihat di Penjelajah Solusi dan log disimpan dalam file di direktori proyek di bawah Import Schema Logs
. Pilih Selesai untuk kembali ke proyek.
Kami akan menggunakan SqlPackage CLI untuk mengimpor objek dari database yang ada ke proyek database SQL baru yang kami 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
Ketika folder ini ditempatkan dalam folder proyek database SQL gaya SDK, folder tersebut secara otomatis disertakan dalam proyek tanpa perlu mengimpor atau memodifikasi file proyek SQL.
Catatan
Ekstensi Proyek SQL Database di Visual Studio Code tidak mendukung impor objek dari database ke dalam proyek. Gunakan ekstensi Proyek SQL Database di Azure Data Studio untuk mengimpor objek dari database atau ikuti opsi 1 untuk membuat proyek baru dari database yang sudah ada di Visual Studio Code.
Di ekstensi Proyek SQL Database di Azure Data Studio, buka tampilan Proyek Database. Klik kanan simpul proyek dan pilih Perbarui proyek dari database.
Dalam dialog Perbarui Database, pilih koneksi ke database yang ingin Anda impor objeknya. Jika Anda telah tersambung ke database dalam tampilan Koneksi , database tersebut ada di daftar riwayat .
Pilih Tampilkan perubahan dalam skema dibandingkan dengan tinjauan dan pilih subset objek untuk diimpor atau Terapkan semua perubahan untuk mengimpor semua objek.
SqlPackage CLI dapat digunakan untuk mengekstrak skema database yang ada ke .dacpac
file atau file individual .sql
. Perintah SqlPackage berikut mengekstrak skema database ke file yang .sql
diatur oleh folder skema berlapis dan jenis objek.
sqlpackage /a:Extract /ssn:localhost /sdn:MyDatabase /tf:MyDatabaseProject /p:ExtractTarget=SchemaObjectType
Ketika folder ini ditempatkan dalam folder proyek database SQL gaya SDK, folder tersebut secara otomatis disertakan dalam proyek tanpa perlu mengimpor 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. Output artefak dari proses build adalah .dacpac
file, yang dapat digunakan untuk menyebarkan proyek ke database target dan berisi model skema database yang dikompilasi.
Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Bangun.
Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac
file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac
).
Di Penjelajah Solusi, klik kanan simpul proyek dan pilih Bangun.
Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac
file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin\Debug\projectname.dacpac
).
Dalam tampilan Proyek Database visual Studio Code atau Azure Data Studio, klik kanan simpul proyek dan pilih Bangun.
Jendela output secara otomatis terbuka untuk menampilkan proses build. Jika ada kesalahan atau peringatan, kesalahan akan ditampilkan di jendela output. Pada build yang berhasil, artefak build (.dacpac
file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac
).
Proyek database SQL dapat dibangun dari baris perintah menggunakan dotnet build
perintah .
dotnet build
# optionally specify the project file
dotnet build MyDatabaseProject.sqlproj
Output build mencakup kesalahan atau peringatan dan file dan nomor baris tertentu tempat terjadinya. Pada build yang berhasil, artefak build (.dacpac
file) dibuat lokasinya disertakan dalam output build (defaultnya adalah bin/Debug/projectname.dacpac
).