在我们使用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 通过远程连接数据库