客户端连接服务器数据库时报以下异常:“已成功与服务器建立连接,但是在登录前的握手期间发生错误。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 0 - 管道的另一端上无任何进程。”
解决方法:1.启用Database Engine的远程连接和SQL Server Browser 服务:
Database Engine: 提供数据的存储、处理和受控访问,并提供快速的事务处理。
SQL Server Browser: 将 SQL Server 连接信息提供给客户端计算机。
以上通过“SQL Server 外围应用配置器”中的“服务和连接的外围应用配置器”来启用,完成后重启SQL Server服务。
2.在 Windows 防火墙中为SQL Server 2005和SQL Server Browser服务创建例外:在 Windows 防火墙中,单击“例外”选项卡,然后单击“添加程序”,添加SQL Server 2005和SQL Server Browser的两个应用程序路径:
C:/Program Files/Microsoft SQL Server/MSSQL.1/MSSQL/Binn/sqlservr.exe
C:/Program Files/Microsoft SQL Server/90/Shared/sqlbrowser.exe
3.如果完成以上步骤仍然连接不上,请进行远程连接端口设置:
在服务器上打开SQL Server Configuration Manager。选择SQL Server配置管理器 ==> SQL Server 2005网络配置 ==> MSSQLSERVER的协议 ==> TCP/IP,在弹出对话框中选择IP地址 ==> IPALL ==> TCP端 口,设置为可用端口,重启SQL Server服务即可。
注:服务器身份验证使用:SQL Server和Windows身份验证模式