场景说明

  现在有一台A电脑和一台B电脑,两台电脑都安装了Sql Server数据库,两台电脑不在一个局域网(我们考虑的是不同网络的两台数据库连接),比如A电脑在公司,B电脑在家里,现在我要在家里用B电脑连接到公司的A电脑里的数据库。我们需要进行如下操作

  首先,我们要将设置A电脑的Sql Server端口,使用路由器的端口转发功能,能够外部访问的到

  其次,B电脑使用花生壳绑定的域名进行远程访问,具体步骤如下:

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

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

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

  3、设置防火墙允许数据库端口开放

  4、路由器配置端口转发功能

第一步:开启数据库的远程连接功能

  1、这里我们以Sql Server 2008 R2为例,打开Sql Server 2008 R2使用windows身份登录

2、登录后,右键选择【属性】。左侧选择【安全性】,选中右侧的【SQL Server 和 Windows 身份验证模式】以启用混合登录模式,如果已经是就跳过这步。

打开Sql Serve

3、选择【连接】,勾选【允许远程连接此服务器】,然后点【确定】

4、展开【安全性】—>【登录名】—>【sa】,右键选择【属性】

5、左侧选择【常规】,右侧选择【SQL Server 身份验证】,并设置密码,如果已经设置了,跳过这步

6、右击数据库选择【方面】

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

第二步:SQL Server 配置管理器配置

1、打开sql server配置管理器

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

3、在左则选择sql server网络配置节点下的sqlexpress的协议,在右侧的TCP/IP当中,右键启用或者双击打开设置面板将其修改为“是”,如果已经为“是”就不用修改了。

4、选择【IP 地址】选项卡,设置TCP的端口为【1433】,如果已经为【1433】,跳过这步

5、将"客户端协议"的【TCP/IP】也修改为启用

第三步:防火墙设置Sql Server端口允许外部访问

1、打开防火墙,选择【高级设置】

2、【入站规则】当中点击【新建规则】

3、我们选择【端口】

4、我们选择规则应用于【TCP】,在【特定本地端口】输入sql server的默认端口号1433,点击下一步

5、选择允许连接

6、给该规则任意取一个名字

第四步:路由器配置端口转发功能

  进入A电脑的网关端口,进行端口转发配置,以TL-WVR308路由器为例,在【转发规则】当中的【虚拟服务器】新增转发端口,其中外部端口可以改成其他端口,也可以和内部端口号一致,而内部端口一定为1433(sql server的默认端口),内部服务器IP地址就是A电脑的内网IP地址。

  我们还需要绑定在路由器花生壳,这样就确保A电脑的外部地址一直能够通过花生壳解析的到。

至此,A电脑的Sql Server允许访问的配置全部完成,接下来是,B电脑连接A电脑的数据库了。最后,我们使用B电脑的Sql Server连接A电脑的Sql Server。如图所示

这样就可以使用B电脑外部远程访问到A电脑的Sql server了~~

PS:转载请注明地址~

http://www.cnblogs.com/xuliangxing/p/6005154.html

Sql Server 数据库之间如何进行跨网远程连接访问的更多相关文章

  1. 不同SQL Server数据库之间的跨数据库查询

    --不同SQL Server数据库之间的跨数据库查询 EXEC sp_addlinkedserver @server=N'OldDatabase', --自己定义别名 @srvproduct=N'', ...

  2. SQL SERVER 2008/2012/2012R2/2014 设置开启远程连接(sa配置)

    本文方案适用于Microsoft Sql Server 2008/2012/2012 r2/2014版本,以下简称MSSQLSERVER. MSSQL默认是不允许远程连接,并且禁用sa账户的.如果想要 ...

  3. SQL Server 2008设置sa用户并开启远程连接

    1.打开SQL Server Management Studio,以windows身份登录数据库

  4. SQL Server数据库附加失败错误:5123,拒绝访问

    发生错误的图片如下 我们需要更改数据库文件的权限(mdf和ldf两个文件) 右键数据库文件,点击属性 选择安全,点击高级,把每一个角色的访问权限都变成完全控制 如图所示 然后确定确定确定保存等等, l ...

  5. Activiti系列:如何让Activiti-Explorer使用sql server数据库

    从官网下载的Activiti-explorer的war文件内部默认是使用h2内存数据库的,如果想改用其他的数据库来做持久化,比如sql server,需要做如下配置. 1)修改db.propertie ...

  6. 如何让Activiti-Explorer使用sql server数据库

    从官网下载的Activiti-explorer的war文件内部默认是使用h2内存数据库的,如果想改用其他的数据库来做持久化,比如sql server,需要做如下配置. 1)修改db.propertie ...

  7. 轻松学SQL Server数据库

    轻松学SQL Server数据库pdf   下载地址:网盘下载 目录:  第1章 数据库与SQL Server 2008 11.1 数据库基础 21.1.1 数据库的概念 21.1.2 数据库模型 2 ...

  8. JDBC连接sql server数据库的详细步骤和代码

    JDBC连接sql server数据库的详细步骤和代码 JDBC连接sql server数据库的步骤如下: 1.加载JDBC驱动程序: 在连接数据库之前,首先要加载想要连接的数据库的驱动到JVM(Ja ...

  9. Excel VBA 连接各种数据库(三) VBA连接SQL Server数据库

    本文主要涉及: VBA中的SQL Server环境配置 VBA连接SQL Server数据库 VBA读写SQL Server数据 如何安装SQL Client 系统环境: Windows 7 64bi ...

随机推荐

  1. C++学习笔记之函数指针

    与数据项类似,函数也有地址.函数的地址是存储其机器语言代码的内存开始的地方. 一.函数指针的基础知识 假设要设计一个名为estimate()的函数,估算编写指定行数代码所需时间,并且希望不同的程序员都 ...

  2. 【剑指offer】递归循环两种方式反转链表

    转载请注明出处:http://blog.csdn.net/ns_code/article/details/25737023 本文分别用非递归和递归两种方式实现了链表的反转,在九度OJ上AC. 题目描写 ...

  3. PHP 自动生成导航网址的最佳方法 v20130826

    经常制作开发不同的网站的后台,写过很多种不同的后台导航写法. 最终积累了这种最写法,算是最好的吧.附上截图和代码如下(PHP+HTML) <?php $linkArr = array( 'ind ...

  4. apache2.2 虚拟主机配置

    一.改动httpd.conf 打开appserv的安装文件夹,找到httpd.conf文件,分别去掉以下两行文字前面的#号. #LoadModule vhost_alias_module module ...

  5. iOS开发——实战OC篇&环境搭建之StoryBoard(玩转UINavigationController与UITabBarController)

      环境搭建之StoryBoard(玩转UINavigationController与UITabBarController)   研究了这么就IOS开发,都没有所处一个像样或者自己忙一点的项目.最近自 ...

  6. Device Pixel Ratio & Media Queries

    一些重要的名词解释: CSS pixels(CSS 像素):详见http://www.w3.org/TR/css3-values/#reference-pixe CSS声明的像素值,可随着放大缩小而放 ...

  7. innodb_io_capacity >=innodb_lru_scan_depth*inoodb_buffer_pool_instances。与 checkpoint

    innodb_lru_scan_depth:每个缓冲池刷脏页的能力 innodb_io_capacity:  iops inoodb_buffer_pool_instances=8 :缓冲池的个数 . ...

  8. errno多线程安全(转载)

    一.errno的由来     在C编程中,errno是个不可缺少的变量,特别是在网络编程中.如果你没有用过errno,那只能说明你的程序不够健壮.当然,如果你是WIN32平台的GetLastError ...

  9. ubuntu13.04装配oracle11gR2

    http://jingyan.baidu.com/album/bea41d435bc695b4c41be648.html?picindex=2 http://www.360doc.com/conten ...

  10. 学了这四招,你在Linux上观看Netflix视频不发愁

    导读 一份崭新的Linux发行版已经安装到你的电脑上,你完全准备好使用免费开源办公软件处理长时间的工作.但是你可能会问自己:"难道除了工作,就没有乐趣可言?我就是想观看Netflix视频!& ...