2011-03-03 55 views
0

我已经将应用程序安装为服务,并将“DependOnService”设置为依赖于MSSQL $ SQLEXPRESS。在我的服务的属性 - >依赖关系选项卡中,“SQL Server(SQLEXPRESS)”被列为“此服务取决于以下系统组件:”。一切似乎都很好。但是,如果我停止SQL Server(SQLEXPRESS)服务并启动我的服务,那么它启动就好了(除了无法访问数据库)。依赖项停止时的服务启动

我希望我的服务要么a)不启动,因为SQL Server没有运行,或b)导致SQL Server启动,以便我的服务可以启动。但SQL Server仍然没有运行,我的服务是。

我误解了服务依赖关系的含义和错误阅读文档?我尝试将ErrorControl值设置为x03,并且它仍然启动。任何解释,想法或建议都会有所帮助。

+0

在开始服务时是否启动了MSSQL $ SQLEXPRESS?我添加依赖项时看到的行为是我的服务依赖的服务将尝试首先启动(例如MSSQL $ SQLEXPRESS)。我想知道是否没有足够的时间从SQLEXPRESS“启动”,并且能够在服务启动之前接受连接?如果您的服务是在SQLEXPRESS之后开始的,那么它可能会在启动服务时出错。只是一个想法。 – 2011-03-03 21:46:17

回答

2

不要破解注册表!如果您希望某个服务依赖于另一个服务,请要求服务管理器设置依赖关系。例如:

sc config MyService depend= MSSQL$SQLEXPRESS 
+0

+1参考“sc” – 2011-03-03 21:48:12

+0

一个很好的建议,我猜不出奇怪的是解决了这个问题。尽管它正在做的其他工作隐藏在其他地方,而不是在我的服务或SQL Server的注册表中。 – 2011-03-03 22:52:10