【发布时间】: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 时显示成功。
【问题讨论】:
标签: sql-server-2005 windows-services windows-vista permissions