远程连接SQL server 2008 R2


Remote connect to SQL server 2008 R2

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

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

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

PHP版本是5.3.3,我使用的是freeTDS和协议版本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

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

http://dbccpage.wordpress.com/2011/11/19/how -解决严重错误- 18456 - 14 -国家- 12 -登录-基础-服务器访问-验证-失败- - -基础架构错误-检查- - - -前- errors/

我不知道为什么这个问题只出现在我们的Windows Server 2012机器上,但这似乎是我们的情况