Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Veri API'sini oluşturucusunda yaygın SQL Server bağlantısı, kimlik doğrulaması ve varlık yapılandırma sorunları için çözümler.
Sık sorulan sorular
DAB'de SQL Server desteği nedir?
Veri API oluşturucusu, ilişkisel veritabanı arka uçları olarak Microsoft SQL Server ve Azure SQL'i destekler. DAB, Microsoft.Data.SqlClient sürücüsünü kullanarak bağlanır ve REST ve GraphQL isteklerini T-SQL sorgularına çevirir. Hem şirket içi SQL Server örnekleri hem de Azure SQL Veritabanı desteklenir.
SQL Server hangi bağlantı dizesi biçimini kullanıyor?
DAB, SQL Server için ADO.NET tarzı bağlantı dizeleri kullanır. Tipik bir dize gibi Server=localhost,1433;Database=mydb;User Id=sa;Password=yourpassword;TrustServerCertificate=True; görünür.
data-source.connection-string alanındaki bağlantı dizesini dab-config.json'e ayarlayın veya --connection-string seçeneğiyle dab init'e geçirin.
Hangi kimlik doğrulama modları desteklenir?
DAB, Azure SQL için SQL kimlik doğrulamasını (kullanıcı adı ve parola), Windows Tümleşik Kimlik Doğrulamasını ve Microsoft Entra kimlik doğrulamasını (eski adıYla Azure Active Directory) destekler. Entra kimlik doğrulamasını kullanmak için, bağlantı dizesini ayarlayın Authentication=Active Directory Default veya Active Directory Managed Identity ayarlayın ve yönetilen kimliğe veya hizmet sorumlusuna veritabanı erişimi verildiğinden emin olun.
Yaygın sorunlar
SQL Server kapsayıcısına bağlanılamıyor
Belirti: DAB, gibi A network-related or instance-specific error occurredbir bağlantı hatasıyla başlayamaz.
Neden: SQL Server kapsayıcı bağlantı noktası doğru eşlenmiyor, konak adı yanlış veya kapsayıcı henüz bağlantıları kabul etmeye hazır değil.
Çözüm: Kapsayıcının docker psile çalıştığını doğrulayın. Bağlantı noktası eşlemesini (varsayılan 1433) onaylayın ve bağlantı dizesinde kullanın localhost,1433 . Otomatik olarak imzalanan bir sertifika kullanıyorsanız ekleyin TrustServerCertificate=True . Kapsayıcı yeni başlatıldıysa, DAB'yi başlatmadan önce SQL Server'ın başlatılması için birkaç saniye bekleyin.
Kullanıcı için oturum açılamadı
Belirti: DAB günlükleri Login failed for user 'sa' veya benzer bir kimlik doğrulama hatası gösteriyor.
Neden: Bağlantı dizesindeki kullanıcı adı, parola veya kimlik doğrulama modu SQL Server yapılandırmasıyla eşleşmiyor. SQL Server, Yalnızca Windows Kimlik Doğrulaması modunda da çalışıyor olabilir.
Çözünürlük: Kapsayıcı veya sunucu oluşturulduğunda kimlik bilgilerinin belirlenen bilgilerle eşleştiğinden emin olun. Kapsayıcı kullanıyorsanız ortam değişkenini SA_PASSWORD denetleyin. Var olan bir örnekte SQL kimlik doğrulamasını etkinleştirmek için sunucu kimlik doğrulama modunu SQL Server Management Studio'da > altında SQL Server ve Windows Kimlik Doğrulama modu olarak ayarlayın.
Varlık bulunamadı hatası
Belirti: REST veya GraphQL istekleri varlığın kaynak tablosunun mevcut olmadığını belirten bir 404 veya şema hatası döndürür.
Neden: Varlığın source alanındaki tablo adı veya şema ön eki gerçek veritabanı nesnesiyle eşleşmiyor. SQL Server tablo adları varsayılan olarak büyük/küçük harfe duyarlı değildir, ancak varsayılan şema kullanılmadıysa şema ön eki (örneğin) dbomevcut olmalıdır.
Çözünürlük:source içindeki dab-config.jsondeğerini denetleyin. Tam nitelikli bir ad kullanın, örneğin dbo.Products. Tablo adını ve şemasını onaylamak için hedef veritabanında komutunu çalıştırın SELECT * FROM INFORMATION_SCHEMA.TABLES .
Azure SQL'e bağlanırken güvenlik duvarı veya ağ hatası
Belirti: Azure SQL Veritabanı bağlantıları zaman aşımına uğrar veya Cannot open server ... requested by the login geri döner.
Neden: İstemci IP adresine Azure SQL server güvenlik duvarı kuralları tarafından izin verilmez veya Azure hizmet erişim ayarı devre dışı bırakılır.
Çözüm: Azure portalında SQL sunucusu kaynağına gidin ve Ağ seçin. İstemci IP adresini güvenlik duvarı izin verme listesine ekleyin veya DAB Azure'da çalışıyorsa Azure hizmetlerinin ve kaynaklarının bu sunucuya erişmesine izin ver'i etkinleştirin. Yönetilen kimlik kimlik doğrulaması için, kimliğin veritabanı kullanıcısı olarak CREATE USER [identity-name] FROM EXTERNAL PROVIDER ile eklendiğini doğrulayın.
JSON sütunları otomatik olarak algılanmaz
Belirti: JSON verilerini depolayan JSON veya NVARCHAR(MAX) türüne sahip bir sütun API şemasında yapılandırılmış bir nesne olarak gösterilmez.
Neden: Veri API'si oluşturucusu, Azure SQL'deki JSON sütunlarını henüz otomatik olarak algılamaz ve eşlemez. Bu, GitHub sorunu #444'te izlenen bilinen bir sınırlamadır.
Çözünürlük: Şu anda geçici bir çözüm yoktur. Sütun düz dize değeri olarak gösterilir. Yerel JSON sütun desteği eklendiğinde güncelleştirmeler için GitHub sorununu izleyin.