SQL Server Management Studio和配置文件之间的密码不匹配

时间:2015-02-28 15:50:58

标签: asp.net sql-server ssms

当我使用SQL Server Management Studio连接到我的本地SQL Server Express实例时,我会根据此图像自动填写一个密码的屏幕:

enter image description here

我不记得密码是什么。从这个屏幕看,它似乎有15个字符。

我还有一个使用ADO.Net连接到此数据库的Web应用程序。连接字符串存储在配置文件中。我在这里:

<connectionStrings>
    <add name="DefaultConnection" xdt:Transform="Insert" 
         providerName="System.Data.SqlClient"
         connectionString="Data Source=MY-PC\SQLEXPRESS;Integrated Security=SSPI;Database=Scoreboard;User ID=sa;Password=abc1234" />
</connectionStrings>

此处的密码长度为7个字符(为了显示此处,我已将其切换为abc1234)

我有一个类似的情况,我在我的网站的托管服务器上有一个数据库。即我的网络应用程序显示7个字符的密码,但我的SSMS登录在启动时保存了15个字符的密码。当我尝试使用7位数密码登录该帐户时,它不起作用。

这里发生了什么?我假设一个登录名只能有一个有效密码,如果是这样,为什么配置文件和SSMS登录屏幕之间的字符数不匹配?

对于记录,我可以从Web应用程序和SSMS连接到数据库。

3 个答案:

答案 0 :(得分:3)

这是一些程序使用的安全技巧。你不能依赖星星的数量。它只是意味着有一个被记住的密码。

答案 1 :(得分:1)

您的连接字符串包含以下部分:

Integrated Security=SSPI;

表示使用Windows身份验证进行连接并且忽略用户名/密码。要在SQL Server Management Studio中执行相同操作,请将下拉列表从SQL Server Authentiation更改为Windows Authentication。这样,您就可以使用Windows帐户详细信息而不是SQL Server密码进行连接。

答案 2 :(得分:0)

SSMS掩码保存密码。无论实际密码的长度是多少,它总是显示15颗星。

出于安全原因,不应在连接字符串中使用SA凭据。而是针对每个应用程序进行专用登录。