我们正在从开发Web服务器,SQL Server 2005和SQL Server数据都在同一台机器(Windows XP机器)上的环境中进行升级。我们正在升级到在一台Windows 2008服务器上安装Web服务器,在第二台Windows 2008服务器上安装SQL Server,在服务器上升级到Windows 2008服务器,以及SAN上的数据。
现在我们收到错误消息:
与服务器成功建立了连接,但随后 登录期间发生错误 处理。 (提供者:命名管道 提供程序,错误0,没有进程打开 管道的另一端。)
网络人员认为连接字符串存在问题:
<add name="CNString"
connectionString="Data Source=WEBSERVER;
Initial Catalog=PCIdb;
User ID=sa;Password=pass;"
providerName="System.Data.SqlClient"/>
有人可以帮忙吗?
答案 0 :(得分:3)
您的SQL Server是否真的被称为WEBSERVER
(DataSource="WEBSERVER"
)??
此外,我永远不会使用连接字符串中的sa
帐户 - NEVER ,句号。使用特定于应用程序的用户,但不在任何情况下都使用sa
帐户。
答案 1 :(得分:2)
这可能是由多种原因造成的,但首先要看的是SQL Server本身的配置和设置。
服务器上是否启用了命名管道?您可以通过服务器配置管理器(在SQL Server计算机本身上)进行检查。
用户是否在服务器上设置连接字符串(如果使用SSPI,则为连接池用户)?
注意:强>
我希望您提供的连接字符串是您真正的连接字符串的编辑版本,因为它有几个问题:
sa
登录 - 你应该从不这样做,因为现在任何SQL漏洞都可以造成任何想要的破坏说到连接字符串,请查看connectionstrings.com - 它们为使用不同提供程序的许多数据库保存了一个很好的有效连接字符串列表。
答案 2 :(得分:1)
之前我遇到了这个错误...确保SQL服务器服务已启动
如果不是这样,请将身份验证模式更改为服务器和Windows。
答案 3 :(得分:0)
这可能是一个连接字符串问题。尝试将您的连接字符串与http://www.connectionstrings.com处的连接字符串进行比较,但也可能是远程连接或远程服务器(在本例中为Web服务器)不允许连接到SQL。 检查是否允许远程连接,并在数据库服务器上启用命名管道和/或TCP / IP协议。
但是,基于你所描述的场景,我会说数据库端拒绝连接(因为你已经有了一个可行的解决方案)。