解决SQL Server管理器无法连接远程数据库的问题

  许多初学者在使用SQL Server时都会遇到使用SQL Server Management Studio无法连接远程数据库实例的问题,大致的错误描述如下:

An error has occurred while establishing a connection to the server.

(provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 5)

An error has occurred while establishing a connection to the server.  When connecting to SQL Server 2005, this failure may be caused by the fact that under the default settings SQL Server does not allow remote connections. (provider: Named Pipes Provider, error: 40 – Could not open a connection to SQL Server) (Microsoft SQL Server, Error: 1326)

  意思是说不能在数据库之间建立一个连接,原因是命名管道提供者出现错误。其实这是一个比较典型的数据库服务器设置问题,在局域网或广域网中都可能会遇到,我们只需要对数据库服务器进行一些配置便可以解决这个问题,来看看具体的步骤。

1.确保服务器端数据库服务已经启动

  开始->所有程序->Microsoft SQL Server 2008->Configutation Tools,打开SQL Server Configuration Manager,点击SQL Server Services,查看数据库服务是否已经启动,如果服务未开启,手动启动它。当然,你还可以通过点击Windows中的开始->控制面板->管理者工具->服务,来查看相应的数据库服务是否启动。或者如果服务器和你的机器在同一网络,你还可以通过命令“sqlcmd -L”(注意L要大写)去查看该网络内所有可用的SQL Server服务器。

2.在SQL Server Configuration中启用TCP/IP

  多个SQL Server服务器之间通过网络相互通信是需要TCP/IP支持的,为使SQL Server服务器能被远程连接必须确保TCP/IP已经启用。按照前面介绍的步骤打开SQL Server Configuration Manager,然后打开SQL Server Network Configuration,选择你要设置的数据库,然后点击TCP/IP,右键启用。如果有必要,你还可以启用Named Pipes。记住,所有的修改都必须在重启SQL Server服务之后才能生效!

3.在Windows防火墙中打开SQL Server的端口号

  很多时候我们在对数据库服务器本身做了很多次设置后仍然无法成功建立远程连接,这时就要考虑是否是防火墙在作怪。默认情况下,许多端口号和服务都会被防火墙所禁止而不能远程访问或执行,SQL Server默认的端口号也不例外。我们应该重新设置Windows防火墙给SQL Server添加例外。除非人为修改,默认情况下SQL Server的端口号是1433,将该端口号添加到Windows防火墙中。如果SQL Server存在命名实例,那么也应该将SQL Server browser添加到Windows防火墙中。(有关SQL Server的命名实例将在后面介绍)

  打开Windows控制面板,选择Windows防火墙->Change Settings->Exceptions->Add Port

  点击Add port...在弹出的对话框中填入:

  Name: SQL

  Port Number: 1433

  Protocol: Select TCP

4.在SQL Server管理器中启用远程连接

  这一步通常会被数据库管理员忽略,如果未启用数据库远程连接,数据库实例只允许在本地进行连接而不能被远程连接,启用远程连接同样非常重要。默认设置中远程连接是被禁止的。如下图,打开SQL Server Management Studio,右键点击数据库实例然后选择属性菜单。

  在打开的窗口中,左侧选择Connections,然后勾选"Allow remote connections to this server"。

启用SQL Server Browser服务

  如果SQL Server在安装时不是用的默认实例名而是自定义的实例名,并且没有配置特定的TCP/IP端口号,那么按照我们前面的描述SQL Server仍然不能支持远程连接。但如果你启用的SQL Server Browser服务,便可以通过动态TCP/IP端口号进行远程SQL Server连接。启用SQL Server Browser服务非常简单,与启用SQL Server类似,在SQL Server Configuration Manager中右键点击SQL Server Browser,然后选择启用。启用该服务将会影响到服务器上所有已安装的SQL Server实例。

在防火墙中为sqlbrowser.exe应用程序创建例外

  我们在前面已经提到了,自定义命名的SQL Server实例要支持远程连接需要启用sqlbrowser服务,Windows防火墙可能会阻止该服务执行。因此,我们必须在Windows防火墙中给sqlbrowser服务添加例外。

  首先找到服务器上安装sqlbrowser.exe程序的路径,如C:\Program Files\Microsoft SQL Server\90\Shared\sqlbrowser.exe。如果不确定SQL Server安装在什么地方,你可以在Windows搜索一下文件名。与我们在前面介绍的在防火墙中添加SQL TCP/IP端口号的方法类似,给sqlbrowser.exe应用程序添加防火墙例外。

重新创建数据库别名

  创建SQL Server别名并在应用程序中使用它很常见。使用数据库别名可以确保一旦数据库的位置发生了变化,如更换了新的服务器,IP地址发生了变化等,应用程序中的数据库连接字符串不用修改。否则你更换了数据库的位置,你还要通知所有使用该数据库的应用程序修改源代码或配置文件中的连接字符串,这恐怕是不可能的。所以,使用数据库别名来配置连接字符串是一个非常明智的选择。另外,你还可以使用相同的别名来指向不同的数据库实例,当修改别名参数时,可以马上实现数据库之间的切换。创建数据库别名非常简单,在SQL Server Configuration Manager中选择Aliases进行创建。

IIS APPPOOL\DefaultAppPool 登录失败的解决方法:(部署)

http://blog.csdn.net/goodshot/article/details/45397757

远程连接SQL Server数据库相关推荐

  1. 【SQL Server】无需公网IP,就可以远程连接SQL Server数据库

    目录 1.前言 2.本地安装和设置SQL Server 2.1 SQL Server下载 2.2 SQL Server本地连接测试 2.3 Cpolar内网穿透的下载和安装 2.3 Cpolar内网穿 ...

  2. 远程连接SQL Server数据库(基于Sequelize / Navicat)

    一.配置SQL Server 这部分网上已有很多详细的教程,挑选了一篇较为详细的供大家参考 [笔记]win10远程连接SQL Server - 简书 (jianshu.com) 为了读者的阅读体验,请 ...

  3. heidisql连接远程数据库_Heidisql如何连接sql server数据库并做增删改操作?

    Heidisql工具是一个功能强大的数据库连接工具,功能齐全.操作简单.用heidisql很容易完成sql server数据库的建表.删除表.更新表操作等等操作.接下来小编就给大家带来Heidisql ...

  4. php sqlstate 08001,php远程连接sql server失败SQLSTATE] = 08001

    php远程连接sql server失败SQLSTATE] => 08001 mip版  关注:283  答案:2  悬赏:60 解决时间 2021-02-23 14:25 已解决 2021-02 ...

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

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

  6. 帆软连接mysql失败_帆软FineReport连接SQL Server数据库不成功:通过端口1433连接到主机localhost的 TCP/IP 连接失败...

    安装FineReport连接SQL Server数据库时,通过端口1433连接到本机一直失败,在FineReport官方网站帮助文档一直没找到解决办法.后在网上搜索了许久,终于找到问题所在" ...

  7. python 使用pymssql连接sql server数据库

    Python连接SQL Server数据库 - pymssql使用基础 ----原文地址:http://www.cnblogs.com/baiyangcao/p/pymssql_basic.html ...

  8. powershell连接数据库_PowerShell 连接SQL Server 数据库

    PowerShell 通过ADO.NET连接SQL Server数据库,并执行SQL脚本.工作中整理的一小段脚本,后来没有用上,先记录在这里: 建立数据库连接 查询返回一个DataTatble对象 执 ...

  9. 如何通过代码连接SQL Server数据库

    我们曾经为南方电网做过几个有关架空线路的科技项目,要趁着假期有整段的空闲时间,把这些代码整理一下,放入团队刚刚重构的代码库中. 由于这些项目使用的数据库为 SQL Server,所以在整理代码之前需要 ...

最新文章

  1. 【知识星球】做作业还能赢奖金,传统图像/机器学习/深度学习尽在不言中
  2. mysql日期加减问题
  3. python 标准差内数据概率怎么求_Python-统计概率
  4. golang mysql大量写入_Golang 实现分片读取http超大文件流和并发控制
  5. Spark _23 _读取parquet文件创建DataFrame(二)
  6. 2020年lumia怎样安装软件_2020年软件行业市场分析
  7. Git 回滚动任意版本
  8. VS2015配置环境支持opencv3库(网络方法总结)
  9. vue-cli 引用elementUI打包后文件过大
  10. python-元组数据类型-0222
  11. docker下的mysql my.ini_docker部署mysql启动失败
  12. pca各个向量之间的相关度_PCA算法原理及实现
  13. 第 3 章 运行时数据区概述及线程
  14. 自考那些事儿(六):计算机网络原理(总述篇)
  15. SQLyog备份数据库
  16. linux系统中查看系统内存或flash使用情况
  17. Linux软链接的创建,删除,修改
  18. 杨辉三角 SDUT
  19. __builtin_ffs 实现原理
  20. arm开发板与windows下的pjsip建立通话

热门文章

  1. 部署System Center App Controller 2012 Service Pack 1 (6)
  2. VC学习笔记:文本图形
  3. TypeScript入门教程 之 for ... of 与 for ... in
  4. 3天2100万!周杰伦的说好不哭,20万点评Python来分析
  5. Mac或者Linux安装RabbitMQ
  6. linux5 vnc,CentOS 5 下安装配置VNC
  7. MySQL 配置错误
  8. shell变量$$,$!,$?,$*,$0,$1,$#,$@的含义解释
  9. 【Python】pyinstaller安装失败的解决办法
  10. Upload-Labs(1-5)