SQL Server 2005 不允许远程连接解决方法
成都创新互联公司是一家专注网站建设、网络营销策划、微信小程序定制开发、电子商务建设、网络推广、移动互联开发、研究、服务为一体的技术型公司。公司成立十年以来,已经为成百上千木制凉亭各业的企业公司提供互联网服务。现在,服务的成百上千客户与我们一路同行,见证我们的成长;未来,我们一起分享成功的喜悦。
做课程设计时,很多学生都遇到这个问题。把解决方法写在这儿,供参考。
刚刚安装的数据库系统,按照默认安装的话,很可能在进行远程连接时报错,通常是错误:"在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。 (provider: 命名管道提供程序, error: 40 - 无法打开到 SQL Server 的连接) "搜MSDN,上面有一片机器翻译的文章,是在让人难以明白,现在总结如下:明白了SQL Server是个网络数据库就可迎刃而解了,简单的分为下面的集中情况。
1. 数据库引擎没有启动。
有两种启动方式:
(1)开始-程序-Microsoft SQL Server 2005-SQL Server 2005外围应用配置器,在打开的界面单击"服务的连接的外围应用配置器",在打开的界面中找到Database Engine,单击"服务",在右侧查看是否已启动,如果没有启动可单击"启动",并确保"启动类型"为自动,不要为手动,否则下次开机时又要手动启动;
(2)可打开:开始-程序-Microsoft SQL Server 2005-配置工具-SQL Server Configuration Manager,选中SQL Server 2005服务中SQL Server(MSSQLSERVER) ,并单击工具栏中的"启动服务"按钮把服务状态改为启动;
使用上面两种方式时,有时候在启动的时候可能会出现错误,不能启动,这时就要查看"SQL Server 2005配置管理器"中的SQL Server 2005网络配置-MSSQLSERVER协议中的VIA是否已启用,如果已启用,则把它禁止.然后再执行上述一种方式操作就可以了.
2. 是否已经允许远程连接。
这个部分可以简单的分为4个方面,分别是在 SQL Server上启用远程连接、启用SQL Server 浏览服务、在Windows 防火墙中为SQL Server 2005 创建例外和在Windows 防火墙中为“SQLBrowser”创建例外。下面是几个具体的操作方式,摘自MSDN,个人觉得文章的黑体部分应当特别的一起我们的注意。
在SQLServer 实例上启用远程连接
1.指向“开始-程序-Microsoft SQL Server 2005-配置工具-SQL Server 外围应用配置器”
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
3.然后单击展开“数据库引擎”, 选中“远程连接”,在右边选中“本地连接和远程连接”,
再选择要使用的协议,( 这个地方应当启用TCP/IP 和命名管道服务!)单击“应用”,您会看到下消息:
“直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回
4.展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止,
然后单击“启动”,重新启动MSSQLSERVER 服务。
启用 SQLServer 浏览器服务
1.指向“开始-程序-Microsoft SQL Server 2005-配置工具-SQL Server 外围应用配置器”
2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
3.然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“自动”,
再单击“启动”,单击“确定”按钮返回
在Windows 防火墙中为“SQL Server 2005”创建例外
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”
2.在“添加程序窗口”中单击“浏览”
3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\ MSSQL.1 \MSSQL\Binn\sqlservr.exe”,
单击“确定”返回
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。 MSSQL.1 是占位符,对应数据库实例ID。
4.对每个需要打开远程访问的SQL Server 2005 实例,重复步骤 1 至 3。
在Windows 防火墙中为“SQLBrowser”创建例外
1.在 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击“添加程序”
2.在“添加程序窗口”中单击“浏览”
3.然后找到“C:\ProgramFiles\Microsoft Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe”,
单击“确定”返回
注意 : 路径可能会根据 SQL Server 2005 安装不同而不同。
sqlserver的是客户机连接服务器的一种方法,当它打开时,可以从服务器读取数据,看客户端的权限,有时也能进行写操作,当它关闭时,客户机不能访问服务器中的数据库。关闭方法如下:
方法一:用防火墙,阻止对外服务,主要禁止1433端口的联入,并把它放到防火墙的规则的最前面。
方法二:关闭sql server2005 对外服务:
◆1.指向“开始-程序-Microsoft SQL Server 2005-配置工具-SQL Server 外围应用配置器”
◆2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
◆3.然后单击展开“database engine"(数据库引擎), 选中“远程连接”,在右边选中“仅本地连接”。 单击“应用”,单击“确定”按钮返回。
◆4.展开“数据库引擎”, 选中“服务”,在右边单击“停止。
此外:关闭SQLServer 浏览器服务:
◆1.指向“开始-程序-Microsoft SQL Server 2005-配置工具-SQL Server 外围应用配置器”
◆2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
◆3.然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“禁用”,再单击“停止”,单击“确定”按钮返回。
我们一般在用到sql server+bs模式搭建服务器的时候,当sql server 与程序安装到一台机器上,那么完全没有必要让sql server 对外服务,为了更好的安全性,我们可以把sql server 对远程的服务关闭。
1.用防火墙,阻止对外服务。(这个就不多说了)
2.关闭sql server2005 对外服务:
◆1.指向“开始-程序-Microsoft SQL Server 2005-配置工具-SQL Server 外围应用配置器”
◆2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
◆3.然后单击展开“database engine"(数据库引擎), 选中“远程连接”,在右边选中“仅本地连接”。
单击“应用”,您会看到下消息: “直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。”,单击“确定”按钮返回
◆4.展开“数据库引擎”, 选中“服务”,在右边单击“停止”,等到 MSSQLSERVER 服务停止,然后单击“启动”,重新启动MSSQLSERVER 服务。
3.关闭SQLServer 浏览器服务:
◆1.指向“开始-程序-Microsoft SQL Server 2005-配置工具-SQL Server 外围应用配置器”
◆2.在“SQL Server 2005 外围应用配置器”页, 单击“服务和连接的外围应用配置器”
◆3.然后单击展开“SQL Server Browser”, 选中“服务”,在右边“启动类型”选择“禁用”,再单击“停止”,单击“确定”按钮返回
[Microsoft][ODBC SQL Server Driver][DBNETLIB]SQL Server 不存在或访问被拒绝
这个是关键,也就是说,你在连接字符串中写的SQL server 的名字不存在。