فعال کردن سرویس sql server در ویندوز فرم csharp
سلام خدمت همگی ، گاهی وقتا پیش میاد که سرویس اصلی sql server غیرفعال(stop) میشه و باید در قسمت سرویس های ویندوز دوباره اونو start کرد (MSSQLSERVER) این کار دستی برای یه سری از مشتریان برنامه های ویندوز فرمی کار سختیه ، اکثرا به خاطر همچین چیزی ناراحتن به خصوص مواقعی که برا مشتری مجبور میشی نسخه کامل sql رو نصب کنی ، من کدهام رو به بهترین روش ممکن نوشتم ولی نمیتونم این مورد رو هم چک کنم!! آیا راهی هست که بشه تو برنامه های ویندوز فرمی به زبان سی شارپ اگه برنامه نتونست به sql متصل بشه (بخاطر غیرفعال شدن سرویس MSSQLSERVER) بیاد سرویس رو خودش start کنه؟ در مورد سوال یا جایی که سوال رو پرسیدم یا تکراری بودنش لطفا عفو کنید
2 پاسخ
سلام به شما Itpro ای عزیز.
برای این کار شما از کد زیر استفاده کنید.
public static void StartService(string serviceName, int timeoutMilliseconds)
{
ServiceController service = new ServiceController(serviceName);
try
{
TimeSpan timeout = TimeSpan.FromMilliseconds(timeoutMilliseconds);
service.Start();
service.WaitForStatus(ServiceControllerStatus.Running, timeout);
}
catch
{
// ...
}
}
دقت داشته باشید که برای service name از اسم سرویس مورد نظر مثل MSSQLSERVER بنویسید و timeoutMilliseconds را حدود 5000 میلی ثانیه قرار دهید
آقای عادلی عزیز
متدی که معرفی کردین دقیقا همونی هست که نیاز داشتم
خیلی ممنون
اگه کسی خاست از این کد استفاده کنه باید یه dll رو به صورت دستی به پروژتون اضافه کنین در غیر این صورت جواب نمیده
System.ServiceProcess
و در فرمی که نیاز دارین ازش استفاده کنین