sql 数据库远程配置(不/安装ssms)

来源:互联网 发布:微博 知乎 编辑:程序博客网 时间:2024/06/05 17:02

如果无法通过IP地址远程连接你的SQL Server 2008服务器,可以参考下面的内容进行设置。
在进行下述设置之前,应该确保你的网络已经安装设置完毕,服务器已经正常连接到网络中。

1、单击Windows的"开始",依次选择"所有程序"、"Microsoft SQL Server 2008",然后单击“SQL Server Management Studio”,在对象资源管理器中,右击你的服务器,从快捷菜单中执行“属性”:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

2、在服务器属性窗口左侧选择“安全性”,右侧选择“SQL Server和Windows 身份验证模式”:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

3、回到对象资源管理器,在节点“安全性 → 登录名”下右击登录名“sa”,从快捷菜单中执行“属性”:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

4、首先在登录属性窗口,左侧选择"常规",右侧输入密码:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

5、然后在登录属性窗口左侧选择"状态",右侧选择"授予"和"启用":

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

6、单击Windows的"开始",依次选择"所有程序"、"Microsoft SQL Server 2008"、"配置工具",然后单击"SQL Server 配置管理器",在窗口左侧选择节点"MSSQLSERVER 的协议",在右侧双击"TCP/IP":

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

7:在TCP/IP属性窗口,选择“IP地址”选项卡,设置好IP地址和端口号,端口号一般是1433:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

8,然后选择窗口左侧的节点“SQL Server服务”,在右侧右击“SQL Server(MSSQLSERVER)”,从快捷菜单中执行“重新启动”:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

9、如果服务器已经启用了Windows的防火墙,那么必须添加例外,才能允许其它电脑连接此服务器的SQL Server服务。

以下内容以Windows XP和Windows Server 2003为例,如果你使用的是Windows 7/Vista或者Windows Server 2008,请参考:设置Windows Vsita/7/2008的防火墙

添加端口例外

在 Windows 防火墙中,选择"例外"选项卡,单击"添加端口",输入端口号1433,然后单击“确定”按钮:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

添加程序例外

在 Windows 防火墙中,选择"例外"选项卡,单击"添加程序",在“添加程序”窗口中,单击“浏览”,选择 “C:\Program Files\Microsoft SQL Server\MSSQL10.MSSQLSERVER\MSSQL\Binn\sqlservr.exe” 可执行文件,然后单击“确定”按钮:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)

提示:上述可执行文件路径可能会根据 SQL Server 2008 的安装位置而不同。

经过上述设置,其它电脑即可通过IP地址连接此服务器,连接方法请参考:连接 SQL Server 2008

需要特别提示的是,通过IP地址连接远程SQL Server服务器的时候,应该选择选项“允许保存密码”:

设置SQL Server 2008 以允许远程连接 - 私は天才です - 私は天才です(Lawrence)


用户在使用SQL Server 2008远程链接时,可能会弹出如下对话框:

在链接SQL服务器时发生网络链接错误或特定实例错误。SQL服务器不存在或者链接不成功。请验证用户名是否正确或SQL服务器是否已经配置远程链接功能。(错误发现方:命名管道供应方。错误代号:40---无法和SQL服务器进行链接)

 

如何处理这一问题?

用户如果发现这个错误提醒,需要检查三个方面的配置,并做出相关修改。(以下所标注的配置措施均以SQL 2008服务器为模板)

用户需要做的第一件事是检查SQL数据库服务器中是否允许远程链接。在SQL 2008服务器中可以通过打开SQL Server 2008管理项目(SQL Server 2008 Management Studio,)来完成这项检查。其具体操作为:

(1)右击SQL Server 2008选项,选择SQL Server 2008 Management Studio:

 

(2)打开“服务器属性(Server Properties)”

 

       选择“允许用户对该服务器进行远程链接”选项后,检查是否问题已经排除。如果远程链接已经成功,该过程已经完成。若用户发现“提醒错误对话框”依然弹出,那么还需要做的是:

2.为微软SQL服务器(MSSQLServer)配置相应协议。

      此时用户要做的是检查SQL网络链接配置。打开“SQL服务器配置管理”选项>打开“该节点的SQL服务器网络配置选项”>选择“微软SQL服务器网络协议”选项(或用户的SQL服务器中为SQL服务器配置网络协议的选项,不同版本的SQL名称可能不同):

 

 

 

       确定“微软SQL服务器网络选项协议”中的TCP/IP协议对服务器来说是有效的。再次检查是否已经可以执行远程链接。若“错误提醒对话框”依然弹出,我们需要进一步检查SQL服务器防火墙选项。

3. 检查SQL服务器防火墙设置

       如果在进行完上两步操作后,用户端计算机仍然无法远程链接到SQL服务器,用户需要做的是对SQL服务器防火墙进行重新配置。在进行这一步操作时,首先找到SQL服务器上那个端口支持TCP/IP协议。用户可以在SQL服务器防火墙已经处于运行状态下,点击“TCP/IP协议”选择“属性”:

 

      从上图中我们可以看出,这台SQL服务器上支持TCP/IP协议的是1433端口。下一步要做的是在防火墙的配置中允许1433端口支持TCP/IP协议即可。如果服务器上运行的是Windows 7操作系统,其配置步骤为(其他微软操作系统的做法类似),打开“控制面板”选择“Windows防火墙”选项:

 

       选择“高级设置”后,在右边菜单栏中找出“具有高级安全选项的Windows防火墙”并将其打开。打开后会发现在左边菜单栏中有“入站规则(Inboud Rules)”选项。将该选项打开,并在右边菜单栏中选择“新建规则(New Rule)”选项:

 

 

      打开“新建规则”选项后,利用“新内置绑定规则向导”为1433端口配置“内部绑定协议”配置为适用于TCP/IP协议即可。(前提是,需要完成该步骤以前所述的所有步骤),根据下面的几幅图为1433端口配置适用于1433端口即可:

 

 

完成上述的三大步骤,并确认每一步都操作正确后,重新启动计算机后,用户的SQL服务器即可支持远程链接.一切万事ok了。


不安装sql  SSMS 时:

公司最近安装了一个服务器版软件,这个软件在安装过程中自带安装了SQL Server 2008 R2的数据库引擎,但没有安装SQL Server Management Studio 客户端[SSMS],因此在管理数据方面只能使用Sqlcmd命令行工具。因为查询结果经常折行,查看很是不便,于是有了安装一个SSMS在服务器上的想法。但是实地考察发现,服务器上还有其他服务在使用,因此不能重启电脑,于是放弃这个做法。

  在远程桌面的帮助下,以Administrator用户登录到这台服务器上,在命令行下使用sqlcmd工具查看一下数据库登录用户的情况。

[c-sharp] view plain copy
  1. sqlcmd -S ./InstanceName  
  2. SELECT name, type, is_disabled FROM sys.server_principals  
  3. GO  

  发现sa账户没有启用,于是从网上搜索了一下,发现修改启用状态和修改密码的方法。

[c-sharp] view plain copy
  1. ALTER LOGIN sa ENABLE  
  2. GO  
  3. ALTER LOGIN sa WITH PASSWORD='xxxxxxxxxxxxxx'  
  4. GO  

  然后使用sqlcmd -S ./InstanceName -U sa测试了一下,结果当然是发生了一堆错误信息。

  平静下来之后,我想到了可能是Windows身份验证模式的问题,于是在网上一顿狂搜,发现一个人写到了不登录修改服务器登录模式 的方法。然后到服务器上的注册表里进行修改,但是按照上面链接里的方法却没找到对应的键值,即[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Microsoft SQL Server/MSSQL10.InstanceName/MSSQLServer/LoginMode]。服务器上的注册表里没有MSSQL10.InstanceName这个项而有一个InstanceName项,它下面的MSSQLServer里也没有LoginMode项。哎呀,真是郁闷。

  就在我准备放弃时,有个想法跳出来了,“在注册表里搜一下LoginMode”,哈哈,还是挺幸运滴,我搜到了。但是路径完全不一样,我什么也没想,就是一顿改,然后重启SQL Server服务。再次使用sqlcmd测试了一下,哈哈,这次登录成功啦。

  下面把步骤说一下,我的注册表路径是[HKEY_LOCAL_MACHINE/SOFTWARE/Wow6432Node/Microsoft/Microsoft SQL Server/MSSQL10_50.InstanceName/MSSQLServer],这个文件夹里有LoginMode键,把它由1[windows身份验证模式]改成2[混合模式]就行啦,呵呵,别忘了重启SQL Server服务。

  我后来想到了一个原因,就是服务器是Windows 2008 64-bit,所以SQL Server 2008 R2的64-bit版本和32-bit版本写入注册表的位置是不同的。哈哈,收工。



0 0
原创粉丝点击