如何将sql server配置为允许远程连接
需要别人远程你的数据库,首先需要的是在一个局域网内,或者连接的是同一个路由器,接下来就是具体步骤:
(一)首先是要检查SQLServer数据库服务器中是否允许远程链接。其具体操作为:
(1)打开数据库,用本地帐户登录,右击第一个选项,选择属性:
(2)在打开的属性窗口,在其右边点击“连接”,然后再左侧勾上“允许远程连接到此服务器”:
(二)为微软SQL服务器(MSSQLServer)配置相应协议。
(1)依次选择:开始-〉所有程序-〉Microsoft SQL Server 2008-〉配置工具-〉SQL Server配置管理器,如下图所示:
(2)打开SQL Server配置管理器后,选择SQL Server网络配置下面的MSSQLSERVER,然后看右边里面的TCP/IP是否为“已启用”,如下图所示:
(三)检查SQL服务器防火墙设置 (快捷步骤-直接关闭防火墙(不安全))
(1)在进行完上两步操作后,用户需要做的是对SQL服务器防火墙进行重新配置。在进行这一步操作时,首先找到SQL服务器上那个端口支持TCP/IP协议。用户可以在SQL服务器防火墙已经处于运行状态下,右击“TCP/IP协议”选择“属性”:
从上图中我们可以看出,这台SQL服务器上支持TCP/IP协议的是1433端口。下一步要做的是在防火墙的配置中允许1433端口支持TCP/IP协议即可。如果服务器上运行的是Windows
7操作系统,其配置步骤为(其他微软操作系统的做法类似),打开“控制面板”选择“Windows防火墙”选项,然后点击高级选项,如下图所示:
(2)选择“高级设置”后,在右边菜单栏中找出“具有高级安全选项的Windows防火墙”并将其打开。打开后会发现在左边菜单栏中有“入站规则(Inboud Rules)”选项。将该选项打开,并在右边菜单栏中选择“新建规则(New Rule)”选项:
(3)打开“新建规则”选项后,利用“新内置绑定规则向导”为1433端口配置“内部绑定协议”配置为适用于TCP/IP协议即可。(前提是,需要完成该步骤以前所述的所有步骤),根据下面的几幅图为1433端口配置适用于1433端口即可:
最后点击“完成”即可。测试方法:在局域网内找一台电脑,打开SQLServer数据库,然后输入你的Ip和密码,如果能连接上,就说明已经配置好了
首先,需要打SP4补丁,该补丁包含了以前sp1、2、3的补丁,安装此补丁后一般要重新启动计算机,再进行远程连接就可以了,如再企业管理器可远程注册服务器、查询分析可连接远程服务器、ODBC可连接远程服务器。
要点:
1确认服务器端SQL服务端口号是否为:1433
2如果不是1433,配置客户端
3建立服务器端登录帐号,确保角色及管理数据库
一、查看服务器端情况
1 看ping 服务器IP能否ping通。
这个实际上是看和远程sql server 服务器的物理连接是否存在。如果不行,请检查网络,查看配置,当然得确保远程sql server 服务器的IP拼写正确。
2 在Dos或命令行下输入telnet 服务器IP 端口,看能否连通。
如telnet 202114100100 1433
通常端口值是1433,因为1433是sql server 的对于Tcp/IP的默认侦听端口。如果有问题,通常这一步会出问题。通常的提示是“……无法打开连接,连接失败"。
如果这一步有问题,应该检查以下选项。
1) 检查远程服务器是否启动了sql server 服务。如果没有,则启动。
2) 检查sql server服务器端有没启用Tcp/IP协议,因为远程连接(通过因特网)需要靠这个协议。检查方法是,在服务器上打开 开始菜单->程序->Microsoft SQL Server->服务器网络实用工具,看启用的协议里是否有tcp/ip协议,如果没有,则启用它。
3) 检查服务器的tcp/ip端口是否配置为1433端口。仍然在服务器网络实用工具里查看启用协议里面的tcp/ip的属性,确保默认端口为1433,并且隐藏服务器复选框没有勾上。
事实上,如果默认端口被修改,也是可以的,但是在客户端做telnet测试时,写服务器端口号时必须与服务器配置的端口号保持一致。如果隐藏sql server服务器复选框被勾选,则意味着客户端无法通过枚举服务器来看到这台服务器,起到了保护的作用,但不影响连接,但是Tcp/ip协议的默认端口将被隐式修改为2433,在客户端连接时必须作相应的改变(具体方式见 二:设置客户端网络实用工具)。
4) 如果服务器端操作系统打过sp2补丁,则要对windows防火墙作一定的配置,要对它开放1433端口,通常在测试时可以直接关掉windows防火墙(其他的防火墙也关掉最好)。
(4、5步可能没有做就成功了)
5) 检查服务器是否在1433端口侦听。如果sql server服务器没有在tcp连接的1433端口侦听,则是连接不上的。检查方法是在服务器的dos或命令行下面输入
netstat -a -n 或者是netstat -an,在结果列表里看是否有类似 tcp 127001 1433 listening 的项。如果没有,则通常需要给sql server 2000打上至少sp3的补丁。其实在服务器端启动查询分析器,输入select @@version 执行后可以看到版本号,版本号在802039以下的都需要打补丁。
如果以上都没问题,这时你再做telnet 服务器ip 1433 测试,将会看到屏幕一闪之后光标在左上角不停闪动。恭喜你,你马上可以开始在企业管理器或查询分析器连接了。
注释:在连接本地服务器时,通常使用的是命名管道协议(在服务器网络实用工具里可以看到启用的协议有这个),默认端口是445,因此在本地能连通是不能说明什么问题的,连接远程服务器是完全不同的协议)
二、检查客户端设置
1、设置客户端网络实用工具
点击“开始”-“程序”,在“Microsoft SQL Server”菜单中选择“客户端网络实用工具”。
像在服务器网络实用工具里一样,确保客户端tcp/ip协议启用,并且默认端口为1433(或其他端口,与服务器端保持一致就行)。
2、在“别名”选项中点击“添加”。
在“服务器别名”中,填入您网站域名,在“网络库”区域中点击“TCP/IP”,在“连接参数”区域取消“动态决定端口”,指定“端口号”为2433。填写完毕后,点击“确定”按钮保存配置。
SQL Server 2000默认开放TCP 1433和UDP 1434端口。
三、在企业管理器或查询分析器里连接测试
企业管理器->右键SQlserver组->新建sqlserver注册->下一步->写入远程IP->下一步->选Sqlserver登陆->下一步->写入登陆名与密码(sa,password)->下一步->下一步->完成
查询分析器->文件->连接->写入远程IP->写入登录名和密码(sa,password)->确定
通常建议在查询分析器里做,因为默认情况下,通过企业管理器注册另外一台SQL Server的超时设置是4秒,而查询分析器是15秒。
1企业管理器的使用
点击“开始”-“程序”,在“Microsoft SQL Server”菜单中打开“企业管理器”。在企业管理器中,右键单击“SQL Server组”,选择“新建SQL Server注册”。
此时会出现SQL Server属性窗口,在“服务器”中填入网站的域名或IP,选择“使用SQL Server身份验证”,“登录名”和“密码”
连接成功后,你会看到“SQL Server组”中多了一个名称为您网站域名的服务器。此时,您就可以像操作本地SQL数据库一样管理网站数据库了。
注意事项
1新建登录帐号时,确认服务器的角色(System Administrors)和数据库访问(勾选要远程管理的数据库)
操作步骤:
SQLServer组->本地连接->安全性->登录->新建登录->设置名称及SQLServer登录的密码->设置服务器角色(一般为System Administrors)->设置数据库访问->OK (这里有sa帐户,可以修改其密码)
2如果连接的时候出现超时错误,更改超时时间即可,方法是点击“工具”-“选项”。
在属性窗口中选择“高级”选项卡,将“登录超时”的数值设置为0。
在SQL 2008服务器中可以通过打开SQL Server 2008管理项目(SQL Server 2008 Management Studio,)来完成这项检查。其具体操作为:
(1)右击SQL Server 2008选项,选择SQL Server 2008 Management Studio:
(2)打开“服务器属性(Server Properties)” (右键连接名称-属性)
(3)为微软SQL服务器(MSSQLServer)配置相应协议。
此时用户要做的是检查SQL网络链接配置。打开“SQL服务器配置管理”选项>打开“该节点的SQL服务器网络配置选项”>选择“微软SQL服务器网络协议”选项(或用户的SQL服务器中为SQL服务器配置网络协议的选项,不同版本的SQL名称可能不同):
(4)检查SQL服务器防火墙设置 (快捷步骤-直接关闭防火墙(不安全))
如果在进行完上两步操作后,用户端计算机仍然无法远程链接到SQL服务器,用户需要做的是对SQL服务器防火墙进行重新配置。在进行这一步操作时,首先找到SQL服务器上那个端口支持TCP/IP协议。用户可以在SQL服务器防火墙已经处于运行状态下,点击“TCP/IP协议”选择“属性”:
0条评论