Azure SQL Veritabanı V12'de bulunan veritabanı kullanıcıları özelliğini denemek istedim , ancak kimlik doğrulamasının bana garip geldiği bir sorun yaşıyorum.
Adlı bir veritabanı oluşturdum Classifier
. IP adresimi güvenlik duvarı kurallarına ekledim, böylece iş istasyonumdaki SSMS'den Azure db sunucusuna bağlanabildim. Yönetim için SSMS ile bağlanabildiğimde, veritabanına şifre olan bir kullanıcıyı aşağıdaki gibi eklemeyi denedim:
CREATE USER classifier WITH PASSWORD='thepassword'
Bu kullanıcıyı veri yazarı ve okuyucu rollerine de ekledim:
exec sp_addrolemember 'db_datawriter', 'classifier'
exec sp_addrolemember 'db_datareader', 'classifier'
Bundan sonra, veritabanına SSMS'den bu kimlik bilgileriyle bağlanabiliyorum:
Ama işlerin ters gittiği yer: Birkaç farklı bağlantı dizisi büyüsünü denedim ve üzerinde çalıştığım bir web uygulamasına bağlanamıyorum. Azure ortamında çalışmadı, bu yüzden Azure veritabanına bir bağlantı dizesi ile localhost üzerinde çalışıyorum ve sadece bağlanmayacak. İşte şu anda kullandığım bağlantı dizesi:
<add name="Classifier" connectionString="Data Source=xxxxxxx.database.secure.windows.net;Initial Catalog=Classifier;User ID=classifier;Password=xxxxxxxxxxxxx;Encrypt=True;TrustServerCertificate=False;Connection Timeout=30;" providerName="System.Data.SqlClient"/>
Kullanıcı için parolayı (SSMS aracılığıyla) sıfırlamayı ve bağlantı dizesini güncellemeyi denedim; Ayrıca, bu bağlantı dizesinden ve SSMS'deki bağlantı iletişim kutusuna kopyalayarak parolayı iki kez kontrol ettim, orada bir tür yazım olmadığından emin olmak için.
Neden başarısız olduğuna ilişkin bazı ayrıntılar almayı umarak Azure db sunucusunda denetimi etkinleştirdim, ancak tüm aldığım bu:
Ve burada sıkışıp kaldım. Belgeler veya bloglar aracılığıyla bulabildiğim şeylerin çoğu, hatanın doğasını daha dar bir şekilde gösterecek olan gerçek hata durumunun ne olduğunu görmek için SQL Server günlüklerine bakmak olduğunu gösteriyor, ancak ben Azure ile uğraşıyorum, bunu yapmanın bir yolu yok (bildiğim kadarıyla).
SSMS'nin (ve bu arada LinqPad ve Visual Studio Server Explorer'ın) başarılı olduğu durumlarda uygulamanın başarısız olmasına ne neden olabilir?