有你在真好 的个人博客
SQL2005开启远程连接功能
阅读:2292 添加日期:2021/3/22 16:07:19
"

在连接到 SQL SERVER 2005 时,在默认的设置下 SQL SERVER 不允许进行远程连接可能会导致此失败

问题1:
在建立与服务器的连接时出错。在连接到 SQL Server 2005 时,在默认的设置下 SQL Server 不允许进行远程连接可能会导致此失败。
 (provider: SQL 网络接口, error: 26 - 定位指定的服务器/实例时出错) (.Net SqlClient Data Provider)

解决:
步骤1:在SQLServer 实例上启用远程连接;
1.
指向开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器
2.
“SQL Server 2005 外围应用配置器单击服务和连接的外围应用配置器
3.
然后单击展开数据库引擎 选中远程连接,在右边选中本地连接和远程连接
再选择要使用的协议,这个地方应当启用TCP/IP 和命名管道服务!)单击应用,您会看到下消息:
直到重新启动数据库引擎服务后,对连接设置所做的更改才会生效。,单击确定按钮返回
4.
展开数据库引擎 选中服务,在右边单击停止,等到 MSSQLSERVER 服务停止,
然后单击启动,重新启动MSSQLSERVER 服务(默认的端口为TCP1433)。
步骤2:启用 SQLServer 浏览器服务(默认的服务端口为UDP1434)
1.
指向开始->程序->Microsoft SQL Server 2005->配置工具->SQL Server 外围应用配置器
2.
“SQL Server 2005 外围应用配置器单击服务和连接的外围应用配置器
3.
然后单击展开“SQL Server Browser” 选中服务,在右边启动类型选择自动
再单击启动,单击确定按钮返回
步骤3:在Windows 防火墙中为“SQL Server 2005”创建例外(也可以直接关掉Windows防火墙)
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
步骤4:在Windows 防火墙中为“SQLBrowser”创建例外也可以直接关掉Windows防火墙
1.
 Windows 防火墙设置界面中,选择“ 例外” 选项卡,然后单击添加程序
2.
添加程序窗口中单击浏览
3.
然后找到“C:/ProgramFiles/Microsoft Files/Microsoft SQL Server/90/Shared/sqlbrowser.exe”
单击确定返回 
注意  路径可能会根据 SQL Server 2005 安装不同而不同。

步骤5:检查系统是否有第三方防火墙(也可以直接关掉第三方防火墙),如果有请执行以下步骤

1查看或更改SQL 2005的端口号,“Microsoft SQL Server 2005”——“配置工具”——“SQL Server Configuration Manager”——“SQL Server 2005 网络配置”,点击需要的命名实例,在右边的窗口中可以看到协议名称和状态列表,鼠标右键单击“TCP/IP”选择“属性”,单击“IP地址”选项卡,在“IPALL”列表中,“TCP动态端口”留空,“TCP端口”可以修改成需要的端口号。如下图所示:

 

2.在第三方防火墙设置界面中,允许Sql Server应用程序的出站(TCP任意端口)和入站访问一般为TCP1433端口,如果用户已经更改了默认端口,则需要根据实际情况填写入站访问端口号),在Windows服务管理器中,可以查看到Sql Server应用程序的文件位置。
3. 在第三方防火墙设置界面中,允许Sql Browser应用程序的出站(UDP任意端口)和入站访问一般为UDP1434端口,在Windows服务管理器中,可以查看到Sql Browser应用程序的文件位置。
注意  应用程序的路径可能会根据 SQL Server 2005 安装不同而不同。

 

问题2:现在可能会出现sa不能登陆的问题,解决办法如下:
用用Windows身份验证登陆,在"属性"窗口中,   转到"Security"(安全性),   "服务器身份验证"中设置为"SQL   ServerWindows身份验证模式",   确定,
根据提示,   你应该重新启动sql服务。
  
如果执行    
  EXEC   sp_password   null,null,'sa'    
  ALTER   LOGIN   sa   ENABLE  
  
这句话时报如下的错:       
        Msg   15118,   Level   16,   State   1,   Line   1   
  
密码有效性验证失败。该密码不够复杂,不符合   Windows   策略要求。   
   
  
则说明你的服务器的密码策略有复杂性要求(SQL   2005的密码复杂性与Windows的密码复杂性策略是关联的),则要求你把sa的密码设置为一个复杂的密码,   因此得改为如下语句:   
    
  EXEC   sp_password   null,   'guoqiang1234',   'sa'   
    
  ALTER   LOGIN   sa   ENABLE     
    
   
--  sp_password   
语法如下:   
--  sp_password   [
旧密码],   <新密码>,   [登录名]

还有一种可能,sa在没有访问该数据库的权限;解决方法:使用Windows身份验证模式,给sa赋予访问此数据库的权限。

问题3:IP地址不能连接

在使用.NET开发进行时,会遇到使用连接字符串连接SQL Server 2005数据库使用机器名称和localhost都能连接,但是使用IP地址却不能连接的问题,
解决的办法是在SQL Server实例上启用本地和远程连接,并且在选择协议的时候使用TCP/IP和命名管道服务即可解决。


"
ICP备案号:苏ICP备14035786号-1 苏公网安备 32050502001014号