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.
Solusi untuk masalah konektivitas, autentikasi, dan konfigurasi entitas SQL Server umum di penyusun API Data.
Pertanyaan umum
Apa itu dukungan SQL Server di DAB?
Penyusun API Data mendukung Microsoft SQL Server dan Azure SQL sebagai back end database relasional. DAB terhubung menggunakan driver Microsoft.Data.SqlClient dan menerjemahkan permintaan REST dan GraphQL ke dalam kueri T-SQL. Instans SQL Server lokal dan Azure SQL Database didukung.
Format string koneksi apa yang digunakan SQL Server?
DAB menggunakan string koneksi bergaya ADO.NET untuk SQL Server. String umum terlihat seperti Server=localhost,1433;Database=mydb;User Id=sa;Password=yourpassword;TrustServerCertificate=True;. Atur string koneksi di kolom data-source.connection-stringdab-config.json atau teruskan melalui opsi --connection-string di dab init.
Mode autentikasi apa yang didukung?
DAB mendukung autentikasi SQL (nama pengguna dan kata sandi), Autentikasi Terintegrasi Windows, dan autentikasi Microsoft Entra (sebelumnya Azure Active Directory) untuk Azure SQL. Untuk menggunakan autentikasi Entra, atur Authentication=Active Directory Default atau Active Directory Managed Identity dalam string koneksi dan pastikan identitas terkelola atau perwakilan layanan telah diberikan akses database.
Masalah umum
Tidak dapat tersambung ke kontainer SQL Server
Gejala: DAB gagal memulai dengan kesalahan koneksi seperti A network-related or instance-specific error occurred.
Menyebabkan: Port kontainer SQL Server tidak dipetakan dengan benar, nama host salah, atau kontainer belum siap untuk menerima koneksi.
Resolusi: Verifikasi bahwa kontainer berjalan dengan docker ps. Konfirmasi pemetaan port (default 1433) dan gunakan localhost,1433 dalam string koneksi. Tambahkan TrustServerCertificate=True jika menggunakan sertifikat yang ditandatangani sendiri. Jika kontainer baru saja dimulai, tunggu beberapa detik agar SQL Server menginisialisasi sebelum memulai DAB.
Gagal masuk untuk pengguna
Gejala: Log DAB memperlihatkan Login failed for user 'sa' atau kesalahan autentikasi serupa.
Menyebabkan: Nama pengguna, kata sandi, atau mode autentikasi dalam string koneksi tidak cocok dengan konfigurasi SQL Server. SQL Server mungkin juga berjalan dalam mode khusus Autentikasi Windows.
Resolusi: Konfirmasikan kredensial yang cocok dengan yang ditetapkan saat kontainer atau server dibuat. Jika menggunakan kontainer, periksa SA_PASSWORD variabel lingkungan. Untuk mengaktifkan autentikasi SQL pada instans yang ada, atur mode autentikasi server ke mode SQL Server dan Autentikasi Windows di SQL Server Management Studio di bawah Keamanan Properti > Server.
Entitas tidak ditemukan kesalahan
Gejala: Permintaan REST atau GraphQL mengembalikan kesalahan skema 404 yang menunjukkan tabel sumber entitas tidak ada.
Menyebabkan: Nama tabel atau awalan skema source di bidang entitas tidak cocok dengan objek database aktual. Nama tabel SQL Server tidak peka huruf besar/kecil secara default tetapi awalan skema (misalnya, dbo) harus ada jika skema default tidak digunakan.
Resolusi:source Periksa nilai di dab-config.json. Gunakan nama yang sepenuhnya memenuhi syarat seperti dbo.Products. Jalankan SELECT * FROM INFORMATION_SCHEMA.TABLES di database target untuk mengonfirmasi nama tabel dan skema.
Kesalahan firewall atau jaringan saat menghubungkan ke Azure SQL
Gejala: Koneksi ke Azure SQL Database terputus atau mengembalikan kesalahanCannot open server ... requested by the login.
Menyebabkan: Alamat IP klien tidak diizinkan oleh aturan firewall server Azure SQL, atau pengaturan akses layanan Azure dinonaktifkan.
Resolusi: Di portal Microsoft Azure, navigasikan ke sumber daya server SQL dan pilih Jaringan. Tambahkan alamat IP klien ke daftar izin firewall, atau aktifkan Izinkan layanan dan sumber daya Azure untuk mengakses server ini jika DAB berjalan di Azure. Untuk autentikasi manajemen identitas terkelola, pastikan identitas telah ditambahkan sebagai pengguna database dengan CREATE USER [identity-name] FROM EXTERNAL PROVIDER.
Kolom JSON tidak terdeteksi secara otomatis
Gejala: Kolom dengan jenis JSON atau NVARCHAR(MAX) yang menyimpan data JSON tidak diekspos sebagai objek terstruktur dalam skema API.
Menyebabkan: Penyusun API Data belum secara otomatis mendeteksi dan memetakan kolom JSON di Azure SQL. Ini adalah batasan yang diketahui yang dilacak dalam masalah GitHub #444.
Resolusi: Tidak ada solusi untuk saat ini. Kolom akan diekspos sebagai nilai string biasa. Ikuti isu GitHub untuk mendapatkan pembaruan mengenai penambahan dukungan kolom JSON secara asli.