Sql2008 配置远程连接及客户端连接不上的解决方法

SQL Server 2008默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远程连接数据库。需要做两个部分的配置:

1,SQL Server Management Studio Express(简写SSMS)

2,SQL Server 配置管理器/SQL Server Configuration Manager(简写SSCM)

工具/原料

  • SQLServer2008

步骤/方法

  1. 1

    打开sql2008,使用windows身份登录

    Sql2008 配置远程连接及客户端连接不上的解决方法_第1张图片
    Sql2008 配置远程连接及客户端连接不上的解决方法_第2张图片
  2. 2

    登录后,右键选择“属性”。左侧选择“安全性”,选中右侧的“SQL Server 和 Windows 身份验证模式”以启用混合登录模式

    Sql2008 配置远程连接及客户端连接不上的解决方法_第3张图片
    Sql2008 配置远程连接及客户端连接不上的解决方法_第4张图片
  3. 3

    选择“连接”,勾选“允许远程连接此服务器”,然后点“确定”

    Sql2008 配置远程连接及客户端连接不上的解决方法_第5张图片
  4. 4

    展开“安全性”,“登录名”;“sa”,右键选择“属性”

    Sql2008 配置远程连接及客户端连接不上的解决方法_第6张图片
  5. 5

    左侧选择“常规”,右侧选择“SQL Server 身份验证”,并设置密码

    Sql2008 配置远程连接及客户端连接不上的解决方法_第7张图片
  6. 6

    右击数据库选择“方面”

    Sql2008 配置远程连接及客户端连接不上的解决方法_第8张图片
  7. 7

    在右侧的方面下拉框中选择“服务器配置”;将“RemoteAccessEnabled”属性设为“True”,点“确定”

    Sql2008 配置远程连接及客户端连接不上的解决方法_第9张图片
  8. 8

    至此SSMS已设置完毕,先退出,再用sa登录,成功即表示sa帐户已经启用

    Sql2008 配置远程连接及客户端连接不上的解决方法_第10张图片
  9. 9

    打开sql server配置管理器

    Sql2008 配置远程连接及客户端连接不上的解决方法_第11张图片
  10. 10

    下面开始配置SSCM,选中左侧的“SQL Server服务”,确保右侧的“SQL Server”以及“SQL Server Browser”正在运行

    Sql2008 配置远程连接及客户端连接不上的解决方法_第12张图片
  11. 11

    在左则选择sql server网络配置节点下的sqlexpress的协议,在右侧的TCP/IP默认是“否”,右键启用或者双击打开设置面板将其修改为“是”

    Sql2008 配置远程连接及客户端连接不上的解决方法_第13张图片
    Sql2008 配置远程连接及客户端连接不上的解决方法_第14张图片
  12. 12

    选择“IP 地址”选项卡,设置TCP的端口为“1433”

    Sql2008 配置远程连接及客户端连接不上的解决方法_第15张图片
  13. 13

    将"客户端协议"的"TCP/IP"也修改为“Enabled”

    配置完成,重新启动SQL Server 2008。此时应该可以使用了,但是还是要确认一下防火墙。打开防火墙设置。将SQLServr.exe(C:\Program Files\Microsoft SQL Server\MSSQL10.SQLEXPRESS\MSSQL\Binn\sqlservr.exe)添加到允许的列表中。

    Sql2008 配置远程连接及客户端连接不上的解决方法_第16张图片
    Sql2008 配置远程连接及客户端连接不上的解决方法_第17张图片
    按理说,服务器端做完这些设置之后,客户端就可以访问了,但是我尝试用客户端的sql2008或者vs2010里面的sql客户端,连接服务器端,都提示连接不上的错误框,我又用telnet 服务器ip 1433,是成功的。折腾了很久,最后还是从网上找到了解决方法,原来用客户端连接服务器时,需要这样设置: "服务器IP,1433/数据库实例名称"  ,然后再连接吧,瞬间连接上。 另外如果用C#连接服务器的话,我试过了,Data Source后面加不加端口号1433,都是可以连接上的。
    Data Source = 190.168.1.100,1433;Network Library = DBMSSOCN;Initial Catalog = myDataBase;User 
    ID = myUsername;Password = myPassword;
    这条语句用TCP/IP地址替代了命名管道。在Data Source字段最后的是使用的端口。SQL Server默认使用的端口是1433。
    


    以下是那位前辈遇到问题,并解决的描述:
    我用Delphi 7 并且是使用ADO等控件做数据库连接,开发的模块。在sql server 2000 和 sql server 2005都能正常使用了很一两年,但最数据库我改安装了SQL SERVER 2008 (实例名:SQL2008)后模块无法在客户端远程连接。在网上找了一大堆相关的设置方法 ,什么 SQL SERVER 配置管理器设置,防火墙开放端口1433等等,都搞了M多次。还是不能连接。但模块在SQL SERVER 2008的服务本机是可以连接使用的。折磨了两天才发现,客户端的要连接服务器数据库,必须要把服务器的Windows防火墙先关掉,客户端就能连接上服务器数据库了(注意:不是因为我没开放1433端口)。然后再开启服务器Windows防火墙。该客户端重新连接也可以正常了,现在问题是所有新加进的PC机要连接服务器数据库,必需先关掉一下服务器的Windows防火墙,让PC有过一次成功的连接记录后。再开启服务器的Windows防火墙。就能正常连接使用。怎么解决?
    补充:服务器和客户端都打了MDAC_TYP_28.EXE补丁。还是不行。
    再补充下:楼下的朋友windows防火墙里面加个列外,意思是不是把D:\Program Files\Microsoft SQL Server\MSSQL10.SQL2008\MSSQL\Binn\sqlservr.exe添加进去?已经试过了 还是不行的。 
    在所有客户端 telnet 服务器IP 1433  是通的。
    
    经过长时间的折腾,终于弄到解决方法了,现帖上来希望能对遇到相同情况的朋友有所帮助。
    在客户端程序的连接地址设置成: “服务器IP,1433\SQL2008” 就可以了。

你可能感兴趣的:(C#,SqlServer)