Windows服务未连接到SQL数据库

时间:2016-08-30 22:31:21

标签: sql sql-server service

我有一个简单的Windows服务,我们已经使用了多年。我们在内部开发它,但多年来没有人接触过它。它更新位于同一服务器上的SQL数据库中的几个表。我将它安装在虚拟服务器上,它似乎正在运行,但没有更新SQL数据库。

我相信它使用CLICONFG中设置的Alias连接到数据库。它使用指向本地SQL EXPRESS数据库的命名管道连接进行设置。

它在安装了SQL EXPRESS默认实例的服务器上正常运行。我能找到的唯一区别是当前服务器有一个命名实例(。\ SQLEXPRESS)。但是,我已经使用Named实例而不是默认实例在其他服务器上成功运行,但我似乎无法使用这个实例。

我搜索过并搜索过,无法弄清楚出了什么问题。 我已经检查了SQL中可能存在的权限问题,并且所有内容似乎都符合我为服务选择的登录信息。

谢谢!

1 个答案:

答案 0 :(得分:0)

感谢大家的建议。我想通了!

原来它是通过cliconfg中的命名管道连接设置连接到SQL。

我已经使用我们的标准别名设置了命名管道连接....以及指定SQL命名实例的管道....这对该服务器不起作用。

该服务期待一个默认实例。在没有修改我们的标准命名管道配置的命名实例之前,该服务已正常工作,但这是一个32位的Windows服务器。这次,在64位Windows服务器上,它无法正常工作。

...所以

我使用ProcMon来确定它正在寻找...然后添加了第二个名为“(local)”的命名管道连接而不是我们的标准别名。我将管道设置为与我们的其他连接完全相同。我将标准的命名管道连接与我们的标准别名一起留下了。

重新启动,它有效!