当前位置:  数据库>sqlserver

SQL Server管理器无法连接远程数据库Error: 1326错误的解决办法

    来源: 互联网  发布时间:2014-08-29

    本文导语:     使用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 S...

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

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

    第二步:在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服务之后才能生效!

    第三步:在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



    第四步:在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 FilesMicrosoft SQL Server90Sharedsqlbrowser.exe。如果不确定SQL Server安装在什么地方,你可以在Windows搜索一下文件名。与我们在前面介绍的在防火墙中添加SQL TCP/IP端口号的方法类似,给sqlbrowser.exe应用程序添加防火墙例外。

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


    
 
 

您可能感兴趣的文章:

  • SQL Server"错误 21002: [SQL-DMO]用户 * 已经存在问题解决
  • 如何处理此错误:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]没有执行可选特性
  • sql2005 create file遇到操作系统错误5拒绝访问 错误1802
  • 请问,这是什么错误!java.sql.SQLException: [Microsoft][ODBC SQL Server Driver][Named Pipes]??????? SQL Server?虽然分少,但一定给,只要您是前5名回复者中最好的以为!
  • 在jsp中做页面登录,出现错误信息“数据库执行错误:No suitable driver”,我怀疑是不是我不能用sql 7.0
  • Java的SQL语句执行错误问题
  • Microsoft SQL Server 2005 错误 29503 的解决方法
  • 清除SQL SERVER错误日志出现操作系统错误的解决方法
  • SQL Server 2005 还原数据库错误解决方法
  • sql="insert into fr0"+"values ('4','name');";怎么老有错误?
  • sql 约束性错误要注意的问题及其它
  • Sql语句的错误(在线给分)
  • SQL Server导入导出数据时最常见的一个错误解决方法
  • 在oracle 数据库中查看一个sql语句的执行时间和SP2-0027错误
  • sql server 2005删除用户时“数据库主体在该数据库中拥有架构,无法删除”错误的解决办法
  • 请问 错误:java.sql.SQLException: Exhausted Resultset
  • 在SQL Server的try...catch语句中获取错误消息代码的的语句
  • sql server 2005 附加数据库出错(错误号:5123)的解决方法
  • 高分求助,出现SQL的错误,是怎么回事?
  • java.sql.SQLException: 内部错误: Unable to construct a Datum from the specified input
  • (X86/X64)安装sql server 2005 过程中提示“无法启动sql server的 启动”的解决方法
  • SQL Server代理服务无法启动的解决方法
  • sql2000挂起无法安装的问题的解决方法
  • sa用户无法登录sql server 2005的解决方法
  • SQL 无法装载DLL Microsoft原因(无法修改sa密码)
  • SQL查询分析工具 SQL Workbench/J iis7站长之家
  • SQL Server提示"选定的用户拥有对象,所以无法除去该用户”
  • sql server 2008:您对无法重新创建的表进行了更改或者启用了“阻止保存重新创建表的更改”
  • SQL Server 2012无法连接到WMI提供程序(Cannot connect to WMI provider)解决方案
  • sql server 2005维护计划无法删除怎么办呢?
  • 64位win7下pl/sql无法连接oracle解决方法
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • 如何实现连接一次数据库,提交多个sql语句。(sql的批处理)
  • Linux下的C++程序怎么连接WIN2000下的SQL Server 2000?或者如何连接MySQL?
  • jsp 连接sql server 2008 连接不上的解决方法
  • JSP连接MySql/MS SQL Server/Oracle数据库连接方法[整理]
  • [ODBC SQL Server Driver]连接占线导致另一个 hstmt--------100
  • 一个方法中,用Connection con变量连接数据库,执行完sql以后,关闭con,返回resultset,报错“关闭的连接: next”
  • jdbc连接sql server 2000 出现
  • 用sql获取SQL Server中连接的客户端IP地址
  • 大虾帮忙,怎样用JDBC-ODBC连接SQL2000并使用呀?
  • tomcat连接sql server如何配置环境?
  • 解决MSSQL2005远程连接sql2000非默认端口数据库的问题
  • 解决:未与信任SQL Server连接相关联的问题
  • 那位大哥给我发份连接sql2000的jdbc驱动,高分!
  • 怎么在jb6里连接sql2000,我怎么搞不定啊
  • java连接SQL SERVER
  • Oracle中SQL语句连接字符串的符号使用介绍
  • 如何连接sql sever2000
  • [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt
  • 在使用中,经常出现提示为:java.sql.SQLException: [Microsoft][ODBC SQL Server Driver]连接占线导致另一个 hstmt,是什么意思,怎样解
  • 如何建立一个连接数据库的应用?例如连接access、和sql sever.
  • java命名空间java.sql接口statement的类成员方法: executeupdate定义及介绍
  • SQL查询分析工具 SQL Workbench/J
  • java命名空间java.sql接口connection的类成员方法: nativesql定义及介绍
  • oracle导出sql语句的结果集和保存执行的sql语句(深入分析)
  • java命名空间java.sql接口preparedstatement的类成员方法: executeupdate定义及介绍
  • SQL Server统计SQL语句执行时间的脚本
  • java命名空间java.sql接口rowid的类成员方法: getbytes定义及介绍
  • SQL客户端软件 PKLite SQL Client
  • java命名空间java.sql接口ref的类成员方法: getbasetypename定义及介绍
  • SQL语句实现SQL Server 2000及Sql Server 2005日志收缩(批量)
  • java命名空间java.sql接口databasemetadata的类成员方法: getsqlkeywords定义及介绍


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3