0

我试图摆脱我的本地PC,在公司连接到本地服务器到第三方专用服务器SQL/Windows的2012年哪个用户帐户应在Windows上的Windows服务运行2012

服务

这就像敲我的脑袋里的钉子一样远,现在服务运行,如果我作为根登录到计算机,并打开服务控制,并给它“本地系统帐户”权限运行(和能力与桌面接口 - 我有一个停止/启动Win Form,它提供了我连接到的第三方API的信息) - 它运行。

这就是它运行,除非它尝试连接到它需要的本地主机数据库,它会弹出一个例外:与建立到SQL Server的连接时发生网络相关或实例特定的错误。服务器未找到或无法访问。验证实例名称是否正确,并将SQL Server配置为允许远程连接。 (提供程序:命名管道提供程序,错误:40 - 无法打开与SQL Server的连接);

但是,如果我运行一个.NET程序,我写了一个给我的关于计算机的详细信息(例如驱动器,用户和登录时间,使用本地主机发送电子邮件的能力,从外部HTTP请求获取服务器IP)和连接到本地主机SQL Server并使用与我的服务相同的连接字符串(数据库,用户,PSW),然后它可以在sys视图和归类差异中连接和提取有关SQL用户的信息。

这是一个控制台应用程序,我在命令提示符下运行,因为当我以root用户身份登录到该框时,我不必像管理员那样打开命令提示符,因为大多数其他应用程序都需要获取这些详细信息并连接到相同的SQL DB。

如果我只是尝试改变服务使用“现有帐户”或输入在根用户/ psw到框中,并尝试服务甚至没有得到尽可能开始与“Windows无法启动在本地计算机上的xx服务“,并在事件查看器中,它只是一个未处理的.NET异常,似乎不能出于某种原因(权限 - 为什么当它是根?)错误记录到我创建的事件日志它。

应用程序:BrainiacV2.exe Framework版本:v4.0.30319说明:由于未处理的异常,进程终止。异常信息:System.Diagnostics.EventLogInternal.WriteEntry(System.String,System.Diagnostics.EventLogEntryType,Int32,Int16,Byte [])System.Diagnostics.EventLog.WriteEntry(System.String,System.Diagnostics。 EventLogEntryType)在BrainiacV2.BrainiacJobs.WriteToEventLog(System.Exception,System.String)

这些错误只发生在组合的Windows 2012/SQL服务器上,而不是我的Win7 PC和远程数据库服务器上。

我读过这篇文章以及其他许多人说,本地用户帐户应该足以让它运行。

what Windows account should a service run under to access network sql servers

在调试这个时候所有的核心代码是一个DLL服务用途,将不胜感激内的任何建议。

回答

0

你的问题很难遵循,但我会尝试。

除非有人使用该名称创建帐户,否则Windows上没有“根”。

I have a stop/start Win Form

您不能在Windows服务中拥有表单。它没有桌面,也不允许。

and give it "local system account" privileges to run . . . I have a stop/start Win Form that gives me info on the 3rd party API it connects to)- it runs.

LocalSystem帐户被限制在正在运行的计算机上。它没有网络权限。如果你的数据库在另一台机器上,你将无法连接到它。解决方案是让该服务以具有正确权限的用户身份运行。

(and ability to interface with desktop -

这在Windows的后续版本中不起作用,甚至当它工作时也是不可靠和不可预测的。

provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server);

这意味着命名管道提供程序未在SQL Server上配置,并且您正在尝试使用它。您可以配置它,或者将连接切换到实际在SQL Server中配置的提供程序。使用您指定的名称无法访问服务器也是可能的。你可以用你指定的名字来ping它吗?

最后一条消息表明您没有顶级try/catch块,这意味着错误是致命的。你需要抓住并处理它们,特别是在服务中。

如果你可以让你的问题更容易理解并缩小你遇到的确切问题,我可以给你更多的帮助。

+0

管理员给了我root作为我的主要用户登录。我所知道的所有错误都不是致命的消息,不需要完整的跟踪来解决。 Mayb将其从Win7复制到Win2012。它运行在我的盒子本地帐户上,可以访问SQL和外部世界。您可以轻松制作坐在desktray中的Win APP表单,并且可以挂接到Servcice。它可以让我停止/开始并告诉我第三方API是否启动并运行,因此它有用的桌面应用程序。因此,在我的电脑上以这种格式正常工作,只是将它传递给OVH是个问题 - 现在我认为它的法语IP(法语IPS)被第三方API阻止。我可以ping通, – MonkeyMagix

相关问题