使用C#3.5重新启动SQL服务实例

时间:2015-10-05 03:09:07

标签: c# sql sql-server process smo

我有一个具有恢复数据库实用程序的C#应用​​程序。恢复过程消耗大约400MB的大量RAM并且不会将其返回给操作系统,这对于具有低内存的机器来说有点问题。现在我不限制我的服务器实例的内存消耗,我正在给它任何想要的东西。

我想使用C#代码重新启动我的服务器实例,它释放了恢复过程使用的内存。我查看了.NET 3.5上没有的ServiceController所以我正在寻找其他选项。目前我想走以下路径之一:

  • SMO
  • 过程

你能告诉我两者的优缺点吗?另外,还有其他选择吗?

1 个答案:

答案 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