最近在做软件工程课程设计,因为是小组作业,懒得每个队友建立一个数据库,于是就想说只有一个人建数据库,其余人连上,这样就算一个人改动了其中的数据,其他人数据库的内容也是可以同步的。
查阅了很多资料,现在做一下总结:

一、场景说明

场景一:我要用A电脑连接B电脑里的数据库,两台电脑是在同一个局域网里。
场景二: 我要用A电脑连接B电脑里的数据库,两台电脑不在同一个局域网里,比如一台在学校,一台在家里。

二、数据库的设置(B电脑)

第一步:开启数据库的远程连接功能
第二步:SQL Server 配置管理器配置
第三步:防火墙设置Sql Server端口允许外部访问

前三步具体点击查看博文,很清晰。

前三步设置完成之后呢,其实就可以实现在同一个局域网里电脑互相连接数据库了。

登录A电脑,打开sql sever
将服务器名称改为B电脑的ip地址,1433;登录名和密码改成B电脑数据库的,即可。

但是如果异地的话,还需要进行另外的操作。这里涉及到一些网络知识,我们这里要通过外网访问数据库,就需要知道安装有数据库电脑的公网IP地址,但如果安装有数据库电脑并没有公网ip地址,比如,这就需要将我们局域网的ip地址转化为公网IP,这样的话其他互联网上的电脑就能访问了,这里有两个方式实现:
1.端口映射-将数据库的1433端口暴露于互联网
如果要用这个办法你需要查看路由器或者光猫的WAN口是否公网IP,但是现在很多运营商分配的Ip都不是公网,需要的话得另外购买。
2.内网穿透技术-相当于通过第三方将你局域网电脑IP转化为公网IP
内网穿透简单来说就是将内网外网通过natapp隧道打通,让内网的数据让外网可以获取。比如常用的办公室软件等,一般在办公室或家里,通过拨号上网,这样办公软件只有在本地的局域网之内才能访问,那么问题来了,如果是手机上,或者公司外地的办公人员,如何访问到办公软件呢?这就需要natapp内网穿透工具了。运行natapp隧道之后,natapp会分配一个专属域名/端口,办公软件就已经在公网上了,在外地的办公人员可以在任何地方愉快的访问办公软件了~~
这里有个软件工具叫NATAPP,附上官网:natapp
点开教程/文档
里面有个新手一分钟手册
注意我们不是web协议,是TCP协议,sql sever端口为1433。
TCP协议的也有个教程 TCP型隧道(SSH,数据库,OA,NAS等基于TCP的应用)使用说明以及使用技巧

这样过后就是可以用其他电脑访问数据库了,但是由于是免费的,这个端口号啊,是一直在变化的,体验很不友好,于是我选择了VIP。隧道协议TCP,远程端口随意(1024-49151都行)

Sql Server数据库之间如何进行异地远程连接相关推荐

  1. [转载]在SQL Server数据库之间进行数据导入导出,OPENDATASOURCE

    需要在c盘下先建立一个data.txt文件,然后在文件的第一行写上你要导出的列,不如说要导出id和name这两列,就在第一行写上 id,name 然后保存,使用下列SQL就可以了,你如果要保持原有的I ...

  2. 在SQL Server数据库之间进行数据导入导出

    来源:http://kb.cnblogs.com/page/94464/ 在SQL Server数据库之间进行数据导入导出 (1).使用SELECT INTO导出数据 在SQL Server中使用最广 ...

  3. SQL Server 2008 R2:error 26 开启远程连接详解

    远程连接sql server 2008 数据库,出现下面的错误: <--在与 SQL Server 建立连接时出现与网络相关的或特定于实例的错误.     未找到或无法访问服务器.请验证实例名称 ...

  4. java连接sql server数据库的代码如何改成连接mysql_Java连接sql server或mysql数据库(代码)...

    Java连接sql server或mysql数据库(代码) package Test; import java.sql.Connection; import java.sql.DriverManage ...

  5. java连接sql server数据库的代码如何改成连接mysql_连接sqlserver数据库代码

    Sql Server的JDBC测试程序与远程连接 参考文献: 1.MySql与oracle的JDBC测试程序 2.查看sqlserver的端口号 代码示例 在我的机器上安装了多个版本的sqlserve ...

  6. 结合批处理功能,配置SQL Server 2005,使其打开远程连接功能

    参考微软这篇 如何配置 SQL Server 2005 以允许远程连接的文章,http://support.microsoft.com/kb/914277#top 我结合批命令,可以实现一站式配置 S ...

  7. 比较和同步两个SQL Server数据库之间的图像

    介绍 (Introduction) Sometimes we lose data by mistake and we want to compare the data with older backu ...

  8. linux数据库1433端口访问不到,sql server 2008 开启1433端口,开启远程连接

    postgreSQL时间.日期函数 一.获取系统时间函数 1.1.获取当前完整时间 select now(); select current_timestamp; 1.2.获取当前日期 select ...

  9. C#操作SQL Server数据库

    C#操作SQL Server数据库 1.概述 2.连接字符串的写法 3.SqlConnection对象 4.SqlCommand对象 5.SqlDataReader对象 6.DataSet对象 7.释 ...

最新文章

  1. 使用Jittor实现Conditional GAN
  2. 独家 | 手把手教你用PyTorch快速准确地建立神经网络(附4个学习用例)
  3. memcached客户端_对比Memcached和Redis,谁才是适合你的缓存?
  4. java在jsp中判断td的值是1还是2_Snap7,Eel与S71200简单组态1
  5. AI公开课:19.03.20吴甘沙-驭势科技联合创始人《AI时代的自动驾驶趋势》课堂笔记以及个人感悟
  6. 利用代码生成right scope数据
  7. 为什么很多小公司虽然熬过了生存期
  8. Python数据分析Numpy库方法简介(一)
  9. 暗中学习的人太坏了,12本书帮你翻车变超车!
  10. matlab——knnsearch用法介绍
  11. TCP通讯知识点总结
  12. Tomcat热部署问题
  13. vue将页面导出pdf,vue导出pdf
  14. 倍福--控制雷赛步进电机
  15. Mac OS系统下kernel_task占用大量CPU资源导致系统卡顿
  16. 程序设计 Week15 字符串作业
  17. std::asio小记
  18. 备份onetab数据
  19. 【夜读】一个人保持年轻的5个好习惯
  20. 微信小程序动态倒计时

热门文章

  1. python飞机大战类_Python版飞机大战
  2. C# ClickOnce不支持请求执行级别"requireAdministrator"
  3. 语音与语言处理技术交流会(深圳)
  4. 订阅mosquitto服务器状态各主题
  5. js中splice和slice方法的用法和区别
  6. linux crypt函数
  7. 聪明的投资者-读书笔记
  8. 简单理解高内聚低耦合-高内聚低耦合通俗理解是什么?
  9. Redis 为什么这么快? Redis 的有序集合 zset 的底层实现原理是什么? —— 跳跃表 skiplist
  10. 深度学习图像数据增广方法总结