应用程序中的Azure SQL数据库“用户登录失败”,但在SSMS中工作正常
我想尝试Azure SQL Database V12上包含的数据库用户功能,但是在进行身份验证时遇到问题,这对我来说似乎很奇怪。 我创建了一个名为的数据库Classifier。我将IP添加到了防火墙规则中,以便可以从工作站上的SSMS连接到Azure db服务器。一旦能够通过SSMS进行管理连接,我就尝试将具有密码的用户添加到数据库中,如下所示: CREATE USER classifier WITH PASSWORD='thepassword' 我还将此用户添加到数据编写者和读取者角色: exec sp_addrolemember 'db_datawriter', 'classifier' exec sp_addrolemember 'db_datareader', 'classifier' 之后,我可以使用来自SSMS的这些凭据连接到数据库: 但这就是问题的所在:我尝试了几种不同的连接字符串,但似乎无法在我正在开发的Web应用程序中建立连接。它在Azure环境中不起作用,因此我正在localhost上运行,并具有到Azure数据库的连接字符串,并且它将无法连接。这是我目前正在使用的连接字符串: <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"/> 我尝试过为用户重置密码(通过SSMS),然后更新连接字符串。我还通过将密码直接从此连接字符串中复制并复制到SSMS的“连接”对话框中来仔细检查了密码,以确保那里没有错字。 我在Azure数据库服务器中启用了审核,希望获得有关失败原因的详细信息,但我得到的只是以下内容: 这就是我遇到的问题。通过文档或博客可以找到的大多数内容都表明,要做的事情是查看SQL Server日志,以查看真正的错误状态,这将更狭窄地指示失败的性质,但是由于我就Azure而言,没有办法做到这一点(据我所知)。 是什么会导致应用程序在SSMS(以及附带的LinqPad和Visual Studio Server Explorer)成功的地方失败?