无法从 Vista x64 Windows 服务连接到 SQL Server 2005 Db

Posted

技术标签:

【中文标题】无法从 Vista x64 Windows 服务连接到 SQL Server 2005 Db【英文标题】:Unable to Connect to SQL Server 2005 Db From Vista x64 Windows Service 【发布时间】:2008-12-23 02:00:14 【问题描述】:

我正在尝试从在 Vista Home Premium x64 中运行的 .NET Windows 服务连接到远程 SQL Server 2005 数据库。我可以毫无问题地从控制台应用程序访问远程数据库。我可以毫无问题地从 Windows 服务连接到本地数据库。我能够毫无问题地从 XP 服务连接。没有运行防火墙或防病毒软件。如何配置此服务以能够连接到远程数据库?

我尝试通过以本地管理员帐户、LocalSystem、LocalService 和 NetworkService 身份运行 Windows 服务来进行连接。

连接字符串:

数据源=SERVER_NAME;初始目录=DB_NAME;集成安全=True;

错误:

与 SQL Server 建立连接时出现与网络相关或特定于实例的错误。服务器未找到或无法访问。验证实例名称是否正确以及 SQL Server 是否配置为允许远程连接。 (提供者:命名管道提供者,错误:40 - 无法打开与 SQL Server 的连接)

更多信息:

我也尝试使用 SQL Server 身份验证进行连接,但没有成功:

数据源=SERVER_NAME;用户 ID=USER_ID;密码=PWD;初始目录=DB_NAME

此连接字符串也适用于控制台应用程序。

更多信息:

我为 Windows 服务和控制台应用程序运行了进程监视器。 Windows 服务显示 \SERVER_NAME\pipe\sql\query 被拒绝访问,但控制台应用程序在读取/写入文件到 \SERVER_NAME\pipe\sql\query 时显示成功。

【问题讨论】:

【参考方案1】:

天哪!为什么这个网站上所有的胡言乱语和复杂的反应。创建用户帐户 本地或域,并将服务设置为使用该帐户。然后进入您的 SQL Server 并将您的新帐户添加到数据库并设置权限。瞧!

哦,是的,不要用 SQL 身份验证来困扰自己。集成安全性更易于维护,并且您的 web.config 中没有密码更安全。

【讨论】:

或者只在连接字符串中使用 SQL 身份验证。轻松多了。【参考方案2】:

1) 打开命令提示符。键入“ping SERVER_NAME”。它有反应吗?如果这不起作用,您可能会遇到 DNS 或连接问题。

2) “telnet SERVER_NAME 1443”。您是否看到任何东西,或者它是否拒绝您的连接?这将明确告诉您另一端是否有人在收听。

3) 进入 SQL Server Management Studio。右键单击服务器的属性。从左侧选择“连接”。是否勾选了“允许远程连接”?

4) 由于您使用网络服务/系统运行,因此您需要确保在您的服务器上为机器帐户 DOMAIN\CLIENTSYSTEMNAME$ 配置了登录名。注意 $ 符号。这是您的计算机帐户,这将是 SQL Server 将看到的用户。

【讨论】:

1.平工作正常; 2. 1143不行,445好像行; 3:是的; 4:我通过 *** 进入网络并使用 Win Explorer 转到 \\Server,然后使用我的网络用户 ID/密码登录。之后,控制台应用程序连接到数据库就像从 XP 连接一样。 当你进入 *** 时,你的 机器 本身是域的成员吗?还可以尝试进入 SQL Server 配置管理器(在您的客户端上)并禁用命名管道。确保 TCP/IP 已启用。如果您使用 SQL Server 登录,它是否有效? 我的机器不是域的成员;我禁用了命名管道,并且已经启用了 tcp/ip。然后我使用 SQL Server 登录,它可以在控制台应用程序和 Windows 服务中运行!!! Windows 身份验证无法使用 tcp/ip 进行,但这没问题。非常感谢戴夫!

以上是关于无法从 Vista x64 Windows 服务连接到 SQL Server 2005 Db的主要内容,如果未能解决你的问题,请参考以下文章

Rails 应用程序无法通过命名管道/套接字连接到本地 MySQL 服务器 --- Windows 7 x64

无法在 Vista x64 的 C# 应用程序中加载 C++ DLL

在 Windows 中无法连接到本地主机

vista中MS DTC服务无法开启,该怎么开启

为啥我的 Joomla 模板无法在 Windows 7 / Vista 的 IE9 中正确加载?

无法连接到“127.0.0.1”上的 MySQL 服务器 (10061) (2003)