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

Password mismatch between SQL Server Management Studio and config file

当我使用 SQL Server Management Studio 连接到 SQL Server Express 的本地实例时,我看到一个屏幕,其中的密码已按照此图片自动填写:

我不记得密码是什么了。从这个屏幕上看,它似乎有 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 连接到数据库。

您的连接字符串包括这部分:

Integrated Security=SSPI;

When 表示它正在使用 Windows 身份验证进行连接,而 username/password 被忽略。要在 SQL Server Management Studio 中执行相同操作,请将下拉列表从 SQL Server Authentiation 更改为 Windows Authentication。这样,您将使用 Windows 帐户详细信息而不是 SQL 服务器密码进行连接。

这是一些程序使用的安全技巧。你不能依赖星星的数量。就是说有一个密码被记住了。

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

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