SQL 网络接口: 定位指定的 Server/Instance 时出错

error: 40 – 无法打开到SQL Server的连接

现象:在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误。未 找到或无法访问服务器。请验证实例名称是否正确并且 SQL Server 已配置为允许远程连接。 (provider: 命名管道提供程序, error: 40 – 无法打开到 SQL Server 的连接)

解决思路:

1,本地是否可以连接?
2,确认你的sql server服务是否被停用
3,在sql 配置管理器里面能看见
如果启用了的话 多半是你的连接字符串写的有问题
正确的连接字符串应该是ip\实例名字(本机的话可以写成127.0.0.1\实例名字 local\实例名字)
或主机名字\实例名字(主机名字是指右键你的电脑属性里面可以看到)
4,如果你的主机名字在安装sql server后更改过名字 请执行相应的程序修改sql server 网上资料很多
5,如果还不行的话 就是更改了默认端口  在ip或主机名字后面加  ,端口号  127.0.0.1,3333\实例名字

 

开启SQL的远程连接

操作:

1.登陆改为混合模式:以windows方式连接并进入数据 库,右键点击你的数据服务器->属性->安全性>选中Sql server 和windows 验证方式。

2.开始-Micorsoft Sql Server-配置工具-SQL Server外围应用配置-服务和连接的外围应用配置-MSSQLSERVER(此处注意:如果自己安装了一个SQL Server的版本,在安装vs2005时也安装了默认的Express版的SQL Server在这里会显示两个数据库服务器,如图1


),选择要开启远程连接的数据库-DataBase Engin-远程连接-选择“本地连接和远程连接”-选择“同时使用TCP/IP和Named Pipes”-点应用或确定-提示“必须重启数据库才能生效……”-@@先不管

再选MSSQLSERVER下的Analysis Service-远程连接-本地连接和远程连接-应用或确定-提示-@@先不管

3.开始-Micorsoft Sql Server-配置工具-SQL Server Configuration Manager-打开后如图2


选中SQL Server 2005网络配置-选择要开启远程连接的数据库服务器(如MSSQLSERVER的协议)-在右侧选择Tcp/Ip协议-双击-在协议选项卡下把已启用改 为:是,切换到IP地址选项卡-(IP1设置)把活动和已启用都改为:是,并检查一下TCP端口是否为1433。(IPAll设置)Tcp动态端口和端口 都设为1433,如图3


好,现在重启数据库服务器,方法:

开始-Micorsoft Sql Server-配置工具-SQL Server Configuration Manager-打开后如图2-Sql Server2005服务-找到SQl Server(我的有两个版本)-选中点右键-重新启动-ok

现在是只欠东风了,

 最后就是防火墙的设置了:

打开防火墙-例外-添加程序-浏览-C:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\Binn\sqlservr.exe;C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe;C:\Program Files\Microsoft SQL Server\90\Shared\sqlwriter.exe

大功告成!

在局域网或Internet上的一台电脑上-win+r-cmd-telnet 你的ip 1433-看看是不是能登陆上一个黑色的telnet窗口?。