在我们使用SQL Server数据库的时候很重要的一点就是开启数据库的远程连接,这是因为很多时候数据库部署在远程的服务器上会比较方便,而部署在客户端的话,由于客户端不固定,所以需要经常去部署,这样容易经常去改变数据库,从而造成系统不稳定,但是部署在服务器上我们需要远程连接,而当我们安装好一个数据库之后,默认是不开启数据库远程连接的,那么该怎样一步步去打开远程数据库的连接呢?也参考了很多网上的文章,但是还是想针对自己的情况来思考做些相应的记录。

  默认安装数据库的时候我们会选择使用"Windows和SQL Server混合登录默认",这样我们就可以使用多个账户进行登录了,这样还有个好处就是万一我们忘记了登录密码我们还可以使用Windows账户登录,然后修改密码,从而完成登录过程。

  下面就按照常规的思路来一步步进行说明。

  1 打开SQL Server Management Studio,然后使用sa账户进行登录。

    图1 连接数据库

  2 登录成功后,选择数据库连接,然后右键"属性"

图2 选择数据库连接属性

  3 选择连接,查看是否允许远程连接到此服务器。

图3 连接

  4 选择 安全性--》sa--》属性

图4 设置sa属性

  5  查看sa状态

图5 sa状态

  6 设置方面--》服务器配置--》RemoteAccessEnabled

图6 方面  

图7 服务器配置

  7 打开SQL SERVER 配置管理器(在开始目录Microsoft SQL Server2012--》配置工具中查找)

图8 SQL Server配置管理器

  8 启用TCP/IP连接   

图9 启动 TCP/IP连接

  9 配置SQL Server 服务,确保SQL Server服务和SQL Server Browser服务都处于运行状态。此处需要特别说明,如果在当前的Sql Server Configuration Manager中无法通过右键无法启动的话,请打开本机的Windows服务在那里找到这两个服务,并将其启动类型由“禁用”改为“自动”,然后再开启这两个服务,关于这两个服务,下面再做进一步的说明。

图10 开启相关服务

图11 在Windows服务中开启相关服务

  拓展延伸:SQL Server(SQLEXPRESS)服务这里就不再说明,这个是当前数据库实例SQLEXPRESS对应的服务,不开启的话是无法使用当前数据库的,另外一个服务这里做一些简要的说明。

  SQL Server Broswer服务:查看MSDN后可以得出下面的结论,当 SQL Server Browser 服务不运行时,如果您提供了正确的端口号或命名管道,仍可以连接到 SQL Server。例如,如果 SQL Server 的默认实例在 1433 端口上运行,则可以使用 TCP/IP 连接到此默认实例。但是,如果 SQL Server Browser 服务未运行,则以下连接无效:
  在未完全指定所有参数(例如 TCP/IP 端口或命名管道)的情况下,组件尝试连接到命名实例。
  生成或传递其他组件随后要用来进行重新连接的服务器/实例信息的组件。
  未提供端口号或管道就连接到命名实例。
  在未使用 TCP/IP 1433 端口的情况下,将 DAC 连接到命名实例或默认实例。
  OLAP 重定向程序服务。
  枚举 SQL Server Management Studio、企业管理器或查询分析器中的服务器。
  如果在客户端服务器方案中使用 SQL Server(例如,应用程序通过网络访问 SQL Server),那么,若要停止或禁用 SQL Server Browser 服务,必须为每个实例分配一个特定端口号,并编写客户端应用程序代码以便始终使用该端口号。此方法存在如下问题:
  必须更新和维护客户端应用程序代码才能确保它连接到正确的端口。
  如果服务器上的其他服务或应用程序可以使用您为每个实例选择的端口,则会导致 SQL Server 实例不可用。

  通过阅读上面的解释,如果不启用SQL Server Broswer服务,然后客户端管理工具不能通过远程连接到当前数据库实例的时候,那么有可能是为指定TCP/IP的端口或者命名管道,那么我们可以做一下这样的尝试,通过大量的实践得出下面的结论。

1   要想通过IP地址+数据库命名实例作为服务器地址,然后通过sa账户进行登录时,必须保证一下服务开启。

SQL Server(SQLEXPRESS)服务+ SQL Server Broswer服务+TCP/IP或者Name Pipes协议(这些都是在SQL Server配置管理器中去配置)另外每次做出修改时必须要重启SQL Server服务然后才能生效。

图12 通过远程连接数据库

 

SQL Server2012数据库开启远程连接的更多相关文章

  1. SQL Server2008 R2开启远程连接总结

    ============================== SQL Server2008 R2开启远程连接(最全总结) ============================== 安装过程:适用W ...

  2. SQL Server 2014数据库开启远程连接(Windows Server 2016)

    1.打开SQL SERVER 配置管理器 2. 设置防火墙的入站规则 3.使用Navicat Premium连接SQL Server 

  3. SQL Server 2008 开启远程连接

    除了 IP1.IP2 外,也要把 IPALL 的端口也设置为 1433 参考:SQL Server开启1433端口,彻底解决方案

  4. SQL Server 2008 R2如何开启数据库的远程连接

    SQL Server 2008 R2如何开启数据库的远程连接 SQL Server 2005以上版本默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的SQL Server 2008,远 ...

  5. SQL Server 2008 R2如何开启数据库的远程连接(转)

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

  6. SQLServer 2008(R2)如何开启数据库的远程连接

    SQL Server 2008 R2如何开启数据库的远程连接 by:授客 QQ:1033553122 SQL Server 2008默认是不允许远程连接的,如果想要在本地用SSMS连接远程服务器上的S ...

  7. SQLServer2008设置 开启远程连接

    SQLServer2008设置 开启远程连接 前一段时间,学生分组做项目,使用SVN工具,要求功能使用存储过程,在数据库这块出现这么一个问题: A学生在他的数据库上添加了存储过程,需要其他的B,C,D ...

  8. MySQL开启远程连接权限

    对于我们刚开始安装的mysql或者mariadb来说,默认是不开启远程连接的.所以需要我们手动开启远程连接的权限.如果你是使用docker安装mysql那需要先进入容器中,这里就不讲如何进入容器了,百 ...

  9. 远程连接mysql,mysql如何开启远程连接

    很多时候,mysql只需要开本地连接,也就是本机(服务器本身)连接就可以,默认也是这样,默认也不支持远程连接 但有的时候,我们需要将mysql独立出一台主机或数据库,放到另一台机器的时候,这时,就需要 ...

随机推荐

  1. 【vue】vue +element 搭建项目,vue-cli 如何打包上线

    以自己的项目为例 第一步:手动修改config文件夹中的index.js文件中的build对象,将 assetsPublicPath 中的 “/” ,改为 “你实际的加载路径” 如图: 第二步:执行( ...

  2. 5-servlet简介

    一.servlet1.是什么:java程序来处理页面请求和响应2.实现方式: a.实现Servlet接口 b.继承HttpServlet类 3.步骤: a.创建一个java程序实现Servlet或者继 ...

  3. LeetCode11:Container With Most Water

    public int MaxArea(int[] height) { ; ; ; while(start<end) { max=Math.Max(max,Math.Min(height[star ...

  4. 从零开始搭建django前后端分离项目 系列四(实战之实时进度)

    本项目实现了任务执行的实时进度查询 实现方式 前端websocket + 后端websocket + 后端redis订阅/发布 实现原理 任务执行后,假设用变量num标记任务执行的进度,然后将num发 ...

  5. RichTextbox下Hyperlink的Click无效

    原文:RichTextbox下Hyperlink的Click无效 两种方式解决: 1.<RichTextBox IsReadOnly="True" IsDocumentEna ...

  6. hibernate 解决诡异的mysql存入中文乱码

    使用hibernate查询mysql,通过bean的get方法拿到字符串再写入mysql中的字段会中文乱码,需要String string = xxx.get(),把get方法拿到的值传入到新的str ...

  7. EntityFramework Core并发深挖详解,一纸长文,你准备好看完了吗?

    前言 之前有关EF并发探讨过几次,但是呢,博主感觉还是有问题,为什么会觉得有问题,其实就是理解不够透彻罢了,于是在项目中都是用的存储过程或者SQL语句来实现,利用放假时间好好补补EF Core并发的问 ...

  8. 深入理解[Future模式]原理与技术

    1.Future模式 Future模式和多线程技术密切相关,可以说是利用多线程技术优化程序的一个实例. 在程序设计中,当某一段程序提交了一个请求,期望得到一个答复.但非常不幸的是,服务程序对这个请求的 ...

  9. vue特殊属性 key ref slot

    1.key 当使用key时,必须设置兄弟元素唯一的key,当key排列顺序变化时,兄弟元素会重新排列,而当key的值变化时,这个元素会被重新渲染. 有相同父元素的子元素必须有独特的 key.重复的 k ...

  10. koa文件上传中间件——koa-multer

    koa-multer用法基本和multer一致,npm里koa-multer的用法介绍比较简单,可以参考multer的用法 const Koa = require('koa'); const Rout ...