Bagikan melalui


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

# 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....

Cuplikan layar dialog Impor Database di Visual Studio.

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.

Cuplikan layar dialog Buat proyek dari database di Azure Data Studio.

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.

Cuplikan layar dialog Proyek baru.

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).

Cuplikan layar dialog Proyek baru.

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.

Cuplikan layar Viewlet 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 .

Cuplikan layar 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 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.

Cuplikan layar dialog Perbarui Database di Azure Data Studio.

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).