远程连接到SQL Server 2008 R2

时间:2013-05-16 18:47:04

标签: php sql-server

这个问题可能更适合Serverfault,但我不确定实际问题在哪里,所以我会在这里开始询问。

我刚刚安装了带有SQL Server 2008 R2 SP1的Windows Server 2012。我们通常从测试连接等的PHP脚本监视我们的SQL Server,但我无法连接到这个特定的服务器。错误日志显示“原因:无法找到与提供的名称相匹配的登录信息”,但在本地服务器或远程服务器上将完全相同的用户名/密码复制/粘贴到Management Studio时,一切正常。我认为这是因为2012年的操作系统,但并不完全确定,并希望任何人都可以给我一些指示。

运行SQL的服务器与执行监视的服务器之间没有防火墙,允许远程连接。测试用户都有权连接到数据库引擎,启用登录并禁用任何密码策略。

PHP版本是5.3.3,我使用的是freeTDS和protocolversion 8.0。最后,这是与php.ini

中的mssql相关的所有配置选项
mssql mssql.allow_persistent => On 
mssql.batchsize => 0 
mssql.charset => no value 
mssql.compatability_mode => Off 
mssql.connect_timeout => 5 
mssql.datetimeconvert => On  
mssql.max_links => Unlimited  
mssql.max_persistent => Unlimited 
mssql.max_procs => Unlimited 
mssql.min_error_severity => 10 
mssql.min_message_severity
mssql.secure_connection => Off 
mssql.textlimit => Server default 
mssql.textsize => Server default
mssql.timeout => 60

1 个答案:

答案 0 :(得分:0)

似乎我对TCP连接权限错了,这不是编程/ php特定的错误。以下博客文章描述了问题,如果将来有人在这个问题上遇到同样的错误。

http://dbccpage.wordpress.com/2011/11/19/how-to-solve-error-18456-severity-14-state-12-login-based-server-access-validation-failed-with-an-infrastructure-error-check-for-previous-errors/

我不知道为什么这个问题只出现在我们的Windows Server 2012计算机上,但对我们来说似乎就是这种情况。