我有一个具有恢复数据库实用程序的C#应用程序。恢复过程消耗大约400MB的大量RAM并且不会将其返回给操作系统,这对于具有低内存的机器来说有点问题。现在我不限制我的服务器实例的内存消耗,我正在给它任何想要的东西。
我想使用C#代码重新启动我的服务器实例,它释放了恢复过程使用的内存。我查看了.NET 3.5上没有的ServiceController
所以我正在寻找其他选项。目前我想走以下路径之一:
你能告诉我两者的优缺点吗?另外,还有其他选择吗?
答案 0 :(得分:0)
您可以使用以下VB代码 我想你可以使用代码转换器自动将它转换为C#
Dim managedComputer As New ManagedComputer()
Dim sqlService As Service
sqlService = managedComputer.Services("MSSQLSERVER")
If sqlService.ServiceState = ServiceState.Stopped Then
sqlService.Start()
End If
您需要添加以下对项目的引用
Microsoft.SqlServer.Smo
Microsoft.SqlServer.SqlWmiManagement
Microsoft.SqlServer.WmiEnum