Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Dengan Visual Studio Connected Services, Anda dapat terhubung ke Azure SQL Database, emulator lokal (misalnya, selama pengembangan), atau database SQL Server lokal. Untuk SQL Server lokal, lihat Menyambungkan ke database.
Dengan Visual Studio, Anda dapat terhubung dari salah satu jenis proyek berikut dengan menggunakan fitur Connected Services:
- ASP.NET Core
- .NET Core (termasuk aplikasi konsol, WPF, Formulir Windows, pustaka kelas)
- Peran Pekerja .NET Core
- Azure Functions
- Aplikasi konsol .NET Framework
- ASP.NET Model-View-Controller (MVC) (.NET Framework)
- Aplikasi Universal Windows Platform
Fungsionalitas layanan terhubung menambahkan semua referensi dan kode koneksi yang diperlukan ke proyek Anda, dan memodifikasi file konfigurasi Anda dengan tepat.
Prasyarat
- Visual Studio dengan paket kerja Azure terpasang.
- Proyek dari salah satu jenis yang didukung
- Akun Azure. Jika Anda tidak memiliki akun Azure, aktifkan manfaat Azure Anda untuk pelanggan Visual Studio atau mendaftar untuk uji coba gratis.
Menyambungkan ke Azure SQL Database menggunakan Connected Services
Buka proyek Anda di Visual Studio.
Di Penjelajah Solusi, klik kanan pada node Connected Services, dan, dari menu konteks, pilih Tambahkan untuk membuka menu layanan yang tersedia.
Jika Anda tidak melihat simpul Connected Services, pilih Project>Connected Services>Tambah.
Pilih SQL Server Database. Halaman Sambungkan ke dependensi muncul. Anda akan melihat beberapa opsi:
- SQL Server Express LocalDB, penawaran SQL Database bawaan yang diinstal dengan Visual Studio
- Database SQL Server pada kontainer lokal di komputer Anda
- SQL Server Database, SQL Server lokal di jaringan lokal
- Azure SQL Database, untuk SQL Database yang berjalan sebagai layanan Azure
Anda dapat mengurangi biaya dan menyederhanakan pengembangan awal dengan memulai dengan database lokal. Anda dapat bermigrasi ke layanan langsung di Azure nanti dengan mengulangi langkah-langkah ini dan memilih opsi lain. Jika Anda membuat database secara lokal yang ingin Anda buat ulang di Azure, Anda bisa memigrasikan database Anda ke Azure pada saat itu.
Jika Anda ingin menyambungkan ke layanan Azure, lanjutkan ke langkah berikutnya, atau jika Anda belum masuk, masuk ke akun Azure Anda sebelum melanjutkan. Jika Anda tidak memiliki akun Azure, Anda dapat mendaftar untuk uji coba gratis .
Di layar Mengonfigurasi Azure SQL Database, pilih Azure SQL Database yang sudah ada, dan pilih Berikutnya.
Jika Anda perlu membuat komponen baru, buka langkah berikutnya. Jika tidak, lewati ke langkah 7.
Untuk membuat database Azure SQL:
Pilih Buat Baru dengan tanda plus hijau.
Isi layar Azure SQL Database: Buat baru, dan pilih Buat.
Saat halaman Mengonfigurasi Azure SQL Database ditampilkan, database baru muncul dalam daftar. Pilih database baru dalam daftar, dan pilih Berikutnya.
Masukkan nama string koneksi, atau pilih default, lalu pilih Pengaturan Tambahan.
Nota
Dengan Visual Studio 2022 versi 17.12 dan yang lebih baru, prosedur ini menggunakan identitas terkelola Microsoft Entra, metode autentikasi tanpa kata sandi, untuk menyambungkan ke database. Peringatan di layar ini berarti Anda perlu melakukan langkah manual di Portal Microsoft Azure setelah menyelesaikan prosedur ini di Visual Studio. Lihat autentikasi Microsoft Entra .
Pilih apakah Anda ingin string koneksi disimpan dalam file rahasia lokal, atau di Azure Key Vault, lalu pilih Berikutnya.
Layar Ringkasan perubahan menunjukkan semua modifikasi yang akan dilakukan pada proyek Anda jika Anda menyelesaikan proses. Jika perubahan terlihat OK, pilih Selesai.
Jika diminta untuk mengatur aturan firewall, pilih Ya.
Di Penjelajah Solusi, klik dua kali pada simpul Connected Services untuk membuka tab Connected Services. Koneksi muncul di bawah bagian Dependensi Layanan:
Jika Anda mengklik tiga titik di samping dependensi yang Anda tambahkan, Anda dapat melihat berbagai opsi seperti Sambungkan untuk membuka kembali wizard dan mengubah koneksi. Anda juga dapat mengklik tiga titik di kanan atas jendela untuk melihat opsi untuk memulai dependensi lokal, mengubah pengaturan, dan lainnya.
Jika Anda menggunakan identitas terkelola (Visual Studio 17.12 dan yang lebih baru), lihat bagian berikutnya untuk menyiapkan pengguna identitas terkelola di database Azure SQL Anda.
Autentikasi Microsoft Entra
Dengan Visual Studio 2022 versi 17.12 dan yang lebih baru, prosedur layanan terhubung menggunakan autentikasi Microsoft Entra, yang merupakan metode autentikasi yang paling aman. Namun, Visual Studio tidak membuat pengguna admin Microsoft Entra di database Azure SQL untuk Anda secara otomatis. Jika tidak ada pengguna admin Microsoft Entra, koneksi akan gagal diautentikasi dengan sukses.
Anda dapat menggunakan Portal Microsoft Azure, PowerShell, atau Azure CLI untuk membuat pengguna admin Microsoft Entra. Untuk instruksi terperinci untuk setiap metode ini, lihat bagian Mengonfigurasi pengguna admin Microsoft Entra.
Setelah menyelesaikan proses Connected Services, Anda harus membuat pengguna SQL yang sesuai dengan identitas terkelola, dan mengatur izin dengan menjalankan pernyataan SQL dalam database. Masuk ke editor kueri di Portal Microsoft Azure sebagai pengguna admin Microsoft Entra Anda, dan jalankan pernyataan seperti berikut ini:
CREATE USER [<identity-name>] FROM EXTERNAL PROVIDER;
ALTER ROLE db_datareader ADD MEMBER [<identity-name>];
ALTER ROLE db_datawriter ADD MEMBER [<identity-name>];
ALTER ROLE db_ddladmin ADD MEMBER [<identity-name>];
GO
<identity-name>
adalah nama identitas terkelola di ID Microsoft Entra. Jika identitas ditetapkan sistem, nama selalu sama dengan nama aplikasi App Service Anda. Untuk slot penyebaran, nama identitas yang ditetapkan oleh sistemnya adalah <app-name>/slots/<slot-name>
. Untuk memberikan izin untuk grup Microsoft Entra, gunakan nama tampilan grup sebagai gantinya (misalnya, myAzureSQLDBAccessGroup
). Lihat Jenis Identitas Terkelola dan Identitas Terkelola di Microsoft Entra untuk Azure SQL. Peran yang Anda tambahkan bergantung pada kasus penggunaan Anda. Lihat UBAH PERAN.
Jika kode Anda mereferensikan System.Data.SqlClient
, Anda harus meningkatkan ke Microsoft.Data.SqlClient
, karena System.Data.SqlClient
tidak mendukung autentikasi Microsoft Entra. Untuk melakukan upgrade, tambahkan referensi paket NuGet Microsoft.Data.SqlClient , dan perbarui semua direktif using yang mereferensikan System.Data.SqlClient
untuk mereferensikan namespace Microsoft.Data.SqlClient
. Ada beberapa perubahan perilaku; lihat Lembar contekan porting.
Buka proyek Anda di Visual Studio.
Di Penjelajah Solusi, klik kanan pada simpul Connected Services, lalu pilih Tambahkan dari menu konteks untuk membuka menu layanan yang tersedia.
Jika Anda tidak melihat simpul Connected Services, pilih Project>Connected Services>Tambahkan.
Pilih SQL Server Database. Halaman Sambungan ke dependensi muncul. Anda akan melihat beberapa opsi:
- SQL Server Express LocalDB, penawaran SQL Database bawaan yang diinstal dengan Visual Studio
- Database SQL Server pada kontainer lokal di komputer Anda
- Database SQL Server, sebuah SQL Server on-premises di jaringan lokal
- Azure SQL Database, merupakan SQL Database yang dioperasikan sebagai layanan Azure
Anda dapat mengurangi biaya dan menyederhanakan pengembangan awal dengan memulai dengan database lokal. Anda dapat bermigrasi ke layanan langsung di Azure nanti dengan mengulangi langkah-langkah ini dan memilih opsi lain. Jika Anda membuat database secara lokal yang ingin Anda buat ulang di Azure, Anda bisa memigrasikan database Anda ke Azure pada saat itu.
Jika Anda ingin menyambungkan ke layanan Azure, lanjutkan ke langkah berikutnya, atau jika Anda belum masuk, masuk ke akun Azure Anda sebelum melanjutkan. Jika Anda tidak memiliki akun Azure, Anda dapat mendaftar untuk uji coba gratis .
Di layar Mengonfigurasi Azure SQL Database, pilih Azure SQL Database yang sudah ada, dan pilih Berikutnya.
Jika Anda perlu membuat komponen baru, buka langkah berikutnya. Jika tidak, lewati ke langkah 7.
Untuk membuat database Azure SQL:
Pilih Buat Baru dengan tanda plus hijau.
Isi layar Azure SQL Database: Buat layar baru, dan pilih Buat.
Saat layar Mengonfigurasi Azure SQL Database ditampilkan, database baru muncul di dalam daftar. Pilih database baru dalam daftar, dan pilih Berikutnya.
Masukkan nama string koneksi, atau pilih default, dan pilih apakah Anda ingin string koneksi disimpan dalam file rahasia lokal, atau di Azure Key Vault.
Layar Ringkasan perubahan menunjukkan semua modifikasi yang akan dilakukan pada proyek Anda jika Anda menyelesaikan proses. Jika perubahan terlihat OK, pilih Selesai.
Jika diminta untuk mengatur aturan firewall, pilih Ya.
Di Penjelajah Solusi, klik dua kali pada simpul Connected Services untuk membuka tab Connected Services. Koneksi muncul di bawah bagian Dependensi Layanan:
Jika Anda mengklik tiga titik di samping dependensi yang Anda tambahkan, Anda dapat melihat berbagai opsi seperti Sambungkan untuk membuka kembali wizard dan mengubah koneksi. Anda juga dapat mengklik tiga titik di kanan atas jendela untuk melihat opsi untuk memulai dependensi lokal, mengubah pengaturan, dan lainnya.
Mengakses string koneksi
Pelajari cara menyimpan rahasia dengan aman dengan mengikuti panduan penyimpanan aman rahasia aplikasi dalam pengembangan di ASP.NET Core. Secara khusus, untuk membaca string koneksi dari penyimpanan rahasia, Anda dapat menambahkan kode seperti dalam Membaca rahasia melalui API konfigurasi. Lihat juga injeksi ketergantungan di ASP.NET Core .
Migrasi Kerangka Kerja Entitas
Mungkin lebih mudah untuk bekerja dengan penyimpanan data lokal selama pengembangan awal, tetapi dengan Entity Framework Core, ketika Anda siap untuk pindah ke cloud, Anda dapat menggunakan dukungan Visual Studio untuk migrasi Kerangka Kerja Entitas untuk memindahkan database Anda, atau menggabungkan perubahan dengan penyimpanan data jarak jauh. Lihat gambaran umum Migrasi .
Pada tab Connected Services, Anda dapat menemukan perintah migrasi dengan mengklik tiga titik, seperti yang ditunjukkan pada cuplikan layar:
Perintah tersedia di sana untuk membuat migrasi baru, menerapkannya secara langsung, atau menghasilkan skrip SQL yang menerapkan migrasi.
Menambahkan migrasi
Saat perubahan model data diperkenalkan, Anda dapat menggunakan alat Entity Framework Core untuk menambahkan migrasi terkait yang menjelaskan dalam kode pembaruan yang diperlukan untuk menjaga skema database tetap sinkron. Entity Framework Core membandingkan model saat ini dengan rekam jepret model lama untuk menentukan perbedaan, dan menghasilkan file sumber migrasi. File ditambahkan ke proyek Anda, biasanya dalam folder yang disebut Migrasi dan dapat dilacak dalam kontrol sumber proyek Anda seperti file sumber lainnya.
Saat Anda memilih opsi ini, Anda diminta untuk memberikan nama kelas konteks yang mewakili skema database yang ingin Anda migrasikan.
Memperbarui database
Setelah migrasi dibuat, migrasi dapat diterapkan ke database. Entity Framework memperbarui database dan skema Anda dengan perubahan yang ditentukan dalam kode migrasi. Saat Anda memilih opsi ini, Anda diminta untuk memberikan nama kelas konteks yang mewakili skema database yang ingin Anda migrasikan.
Hasilkan skrip SQL
Cara yang disarankan untuk menyebarkan migrasi ke database produksi adalah dengan menghasilkan skrip SQL. Keuntungan dari strategi ini meliputi:
- Skrip SQL dapat ditinjau untuk akurasi; ini penting karena menerapkan perubahan skema pada database produksi adalah operasi yang berpotensi berbahaya yang dapat melibatkan kehilangan data.
- Dalam beberapa kasus, skrip dapat disetel agar sesuai dengan kebutuhan spesifik database produksi.
- Skrip SQL dapat digunakan bersama dengan teknologi penyebaran, dan bahkan dapat dihasilkan sebagai bagian dari proses CI Anda.
- Skrip SQL dapat disediakan untuk DBA, dan dapat dikelola dan diarsipkan secara terpisah.
Saat Anda menggunakan opsi ini, Anda akan dimintai kelas konteks database dan lokasi untuk file skrip.
Buka di SQL Server Object Explorer
Untuk kenyamanan, perintah ini memungkinkan Anda melompat ke SQL Server Object Explorer, sehingga Anda dapat melihat tabel dan entitas database lainnya, dan bekerja langsung dengan data Anda. Lihat Object explorer.
Langkah berikutnya
Anda dapat melanjutkan dengan panduan mulai cepat untuk Azure SQL Database, tanpa harus memulai dari awal, Anda dapat memulai setelah koneksi awal disiapkan. Jika Anda menggunakan Entity Framework, Anda dapat memulai dari Menambahkan kode untuk menyambungkan ke Azure SQL Database. Jika Anda menggunakan kelas data SqlClient
atau ADO.NET, Anda bisa mulai dari Menambahkan kode untuk menyambungkan ke Azure SQL Database.
Kode Anda tidak akan persis sama dengan yang digunakan dalam panduan memulai cepat, yang menggunakan cara berbeda untuk mendapatkan string koneksi. String koneksi adalah rahasia dan disimpan dengan aman, sebagaimana dijelaskan dalam Penyimpanan Aman rahasia aplikasi selama pengembangan di ASP.NET Core. Secara khusus, untuk membaca string koneksi dari penyimpanan rahasia, Anda dapat menambahkan kode seperti dalam Membaca rahasia melalui API konfigurasi.
Dalam proyek ASP.NET Core, pengaturan koneksi atau string koneksi yang dibuat oleh Connected Services tersedia dalam objek konfigurasi. Anda dapat mengaksesnya dengan properti di kelas WebApplicationBuilder
(builder
di banyak templat proyek), seperti dalam contoh berikut:
var connection = builder.Configuration["ConnectionStrings:DatabaseConnection"];
String yang akan disediakan ke properti Konfigurasi harus cocok dengan kunci di secrets.json atau di Azure Key Vault, yang Anda sediakan dalam prosedur Connected Services. Misalnya, dengan Visual Studio 2022 17.12 dan yang lebih baru, pengaturan koneksi disimpan di secrets.json sebagai:
{
"ConnectionStrings:DatabaseConnection": "Server=tcp:webapplication16dbserver.database.windows.net;Authentication=Active Directory Default;Database=WebApplication16_db;",
}
Dalam proyek ASP.NET Core, pengaturan koneksi atau string koneksi yang dibuat oleh Connected Services tersedia dalam objek konfigurasi. Anda dapat mengaksesnya dengan properti di kelas WebApplicationBuilder
(builder
di banyak templat proyek), seperti dalam contoh berikut:
var connection = builder.Configuration["ConnectionStrings:ConnectionString1"];