SQL Server服务不是由代码启动的

时间:2015-11-25 13:29:40

标签: c# sql-server service

我需要一个运行自动启动计算机上的SQL实例的服务。到目前为止一切顺利,我可以让它们全部工作,但是当我在使用Windows 7的机器上运行时,我收到错误1053(超时)。但是将超时更改为180000并继续错误。

我在Windows 10中执行相同的过程,并在SQL Express 2005,2008和2012的实例上运行100%。

我无法确定问题是否实际上是Windows 7或Windows 7中的Windows 7,如果我手动启动该过程就会正常启动。

代码:

Select distinct subreddit from reddit
where author = (select distinct author from reddit where link_id = 't3_j56j2');

使用 cmd net start xxxx 命令也可以。

2 个答案:

答案 0 :(得分:0)

mcs将以您的用户身份运行,这与此服务运行的用户不同。导航到服务右键单击>属性并将用户从本地计算机更改为具有访问权限的用户。试试你的用户,看看它是否有效,而不是安全问题。 technet

答案 1 :(得分:0)

我解决了在服务中插入依赖项的问题。

this.serviceInstaller.ServicesDependedOn = SqlServerServiceHelper.GetInstances().Select(x => x.ServiceName).ToArray();


public static ServiceController[] GetInstances()
{
     ServiceController[] services = ServiceController.GetServices().Where(x => x.ServiceName.Contains("SQL")).ToArray();
     var servicesToRemove = services.Where(x => x.DisplayName.Contains("Agent") ||
                                           x.DisplayName.Contains("Browser") ||
                                           x.DisplayName.Contains("VSS") ||
                                           x.DisplayName.Contains("Active")).ToArray();
     return services.Except(servicesToRemove).ToArray();
}