3

我正在尝试使用“sa”用户名及其密码从远程服务器连接到 SQL Server 2008(我可以在自己的计算机上使用此用户名和密码正常登录 - 因此选择了“SQL Server 和 Windows 身份验证模式”)。
在我计算机上的 SQL Server 日志文件中,我看到此错误:

用户“sa”登录失败。原因:尝试使用 SQL 身份验证登录失败。服务器配置为仅用于 Windows 身份验证。

我认为这可能是远程连接问题,所以我检查了属性中的远程连接是否已启用,在配置管理器中我启用了 TCP/IP 和共享管道,然后重新启动了服务,并为端口 1433 创建了防火墙规则。我还尝试关闭防火墙,以防它以某种方式被阻止,但我得到了同样的错误。

仅当从远程服务器访问 SQL Server 时才会出现此错误?
我该如何解决?

4

4 回答 4

7

在 SQL Server management studio 中,在 Object Explorer 窗口中右键单击您的服务器(连接后),然后选择Properties

安全项目上,确保选择了 SQL Server 和 Windows 身份验证模式。

在此处输入图像描述

于 2011-12-09T07:14:52.620 回答
0

对我来说,最明显的解决方案似乎允许在服务器上进行 SQL Server 身份验证,如果确实需要sa用于访问(通常不应该这样做)。

要回答“为什么”,我们需要更多信息。您使用哪个程序来访问服务器。两种访问的连接字符串真的相同吗?

只是猜测:从您的本地计算机上integrated security=true以某种方式使用(这会导致用户和密码被忽略),并且您的本地 Windows 用户被允许访问服务器。从远程使用integrated security=false,因此您无法使用用户/密码登录,因为服务器配置为仅接受 Windows 身份验证。

于 2011-12-09T07:14:52.150 回答
0

我今天遇到了完全相同的问题。我无法使用用户名/密码远程连接到 SQL Server,但它可以使用 Windows 身份验证,并且本地登录也可以。

它在这里不起作用的原因是我使用的密码对 sa 用户来说太短了。显然,如果在本地登录,它会强制执行密码策略,但远程连接被阻止。

您可以将密码更改为更长/更复杂的密码,或者禁用 sa 用户的密码策略实施。

简短的操作方法: 在 SQL Server Management Studio 中,打开安全 -> 登录,找到“sa” -> 属性 -> 更改密码或取消选中此框: 登录属性 - sa - 强制密码策略

于 2012-12-29T00:23:22.303 回答
0

在我的情况下,我安装了 SQL Server 2008 和 SQL Server 2012。因此,在服务器名称字段中,我需要一个具体名称(例如:10.141.133.125\SQLServer2012)。而已!

希望这对你有用!

于 2015-05-12T07:33:55.307 回答