1

我想连接到一个远程SQL Server 2005数据库从在Vista家庭高级版64位运行的.NET Windows服务。我可以从控制台应用程序访问远程数据库,没有任何问题。我可以从Windows服务连接到本地数据库,没有任何问题。我能够从XP的服务连接,没有问题。没有防火墙或防病毒运行。我如何配置此服务能够连接到远程数据库?无法连接到SQL Server 2005从Windows Vista x64的Windows服务Windows服务

我试图通过运行Windows服务作为本地管理员帐户,LocalSystem,LocalService和NetworkService进行连接。

连接字符串:

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

的错误:与SQL Server建立连接时出现

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

更多信息:

我也曾尝试使用没有成功的SQL Server身份验证连接:

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

此连接字符串也可以从控制台应用程序运行。

更多信息:

我跑进程监视器的Windows服务和控制台应用程序。显示\ SERVER_NAME \ pipe \ sql \ query的Windows服务为ACCESS DENIED,但在将文件读写到\ SERVER_NAME \ pipe \ sql \ query时,控制台应用程序显示为SUCCESS。

回答

0

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

2)“telnet SERVER_NAME 1443”。你有没有看到或拒绝你的连接?这将明确地告诉你是否有人在另一端收听。

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

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

+0

1。Ping工作正常; 2. 1143不起作用,445看起来像起作用; 3:是的; 4:我将VPN连接到网络,并使用Win Explorer转到\\服务器,然后使用我的网络用户ID/pwd登录。之后,控制台应用程序连接到数据库罚款,从XP连接。 – TxDeveloper 2008-12-23 03:33:50

+0

当你进入VPN时,你的*机器*本身是域的成员吗?同时尝试进入SQL Server配置管理器(在您的客户端上)并禁用命名管道。确保TCP/IP已启用。如果您使用SQL Server登录,它会工作吗? – 2008-12-23 05:09:47

1

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

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