SQL Server 错误“命名管道提供程序:无法打开与 SQL Server [53] 的连接”
Posted
技术标签:
【中文标题】SQL Server 错误“命名管道提供程序:无法打开与 SQL Server [53] 的连接”【英文标题】:SQL Server Error "Named Pipes Provider: Could not open a connection to SQL Server [53]" 【发布时间】:2015-03-11 18:54:47 【问题描述】:我曾经有一个桌面应用程序通过具有此连接字符串的.ini
文件指向 Sybase 数据库:
CONNECTION_NAME = "DSN="Dna_Name";UID="User";PWD="Password""
效果很好。
几天前,数据库已迁移到 SQL Server 2008 R2,我需要更新 .ini
文件以重定向新的生产服务器。我更新了连接字符串如下:
CONNECTION_NAME = "Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog="CatalogName";Data Source="Production_DNS""
但我收到以下错误:
命名管道提供程序:无法打开与 SQL Server [53] 的连接
补充说明:
生产 DNS 在其他 IT 领域运行良好,其他应用程序可以顺利到达服务器。 我正在尝试从开发盒连接。 该应用程序是一个继承了几年的实现,这就是为什么需要保留*.ini
文件的原因。
我花了几个小时在互联网上浏览错误详细信息,但几乎没有结果。
新的连接字符串是否正确?知道什么会产生错误吗?推荐?
提前致谢,
【问题讨论】:
我以前遇到过这样的错误,只是因为端口号错误,您可能知道,默认SQL实例的默认端口是1433,但可以通过左侧窗格中的Start Menu > SQL Server configuration Manager
更改,选择SQL Server Connections
,从那里您可以访问SQL 实例,选择其中一个,点击其中一个,然后从右窗格中双击TCP/IP
,在名为IP Addresses
的第二个选项卡上,您可以看到TCP port
,在我的情况我把它改成了真实的端口号。
相关帖子 - How do I fix the error 'Named Pipes Provider, error 40 - Could not open a connection to' SQL Server'? & error: 40 - Could not open a connection to SQL Server
【参考方案1】:
幸运的是,在我研究了几个小时后,我被告知有一个生产 DNS 错误导致了我的问题。
我通过在数据源连接属性上提供服务器名称解决了这个问题,如下所示:
CONNECTION_NAME = "Provider=SQLNCLI10.1;Integrated Security=SSPI;Persist Security Info=False;Initial Catalog="CatalogName";Data Source="Production_Server_Name;""
提示:为避免服务器名称出错,您可以通过 SQL Server Management Studio 执行以下 T-SQL 来检查它:
SELECT @@servername
【讨论】:
我遇到了同样的错误,根本原因也是 DNS 问题。连接字符串正确,但错误的服务器位于跨数据库查询中。【参考方案2】:您可能指向了错误的服务器。 我在指向 linux 服务器时遇到了同样的错误。
【讨论】:
我也面临同样的问题,但只有一份特定的报告。我有另一份报告使用完全相同的数据源,它工作得非常好,但对于某些人来说,这个报告特别会引发 53 错误。以上是关于SQL Server 错误“命名管道提供程序:无法打开与 SQL Server [53] 的连接”的主要内容,如果未能解决你的问题,请参考以下文章
[08001] [Microsoft] [SQL Server Native Client 11.0] 命名管道提供程序:无法打开与SQL Server的连接
解决PHP5.4.7 连接 MsSQL Server 2012时出现命名管道提供程序: 无法打开与 SQL Server 的连接
SQL--Navicat Premium 连接其他电脑出错命名管道提供程序;无法打开与SQL Server的连接[1326].(1326)