View Full Version : سوال: استارت سرویسهای SQL SERVER
majid.dev
شنبه 06 شهریور 1389, 17:57 عصر
با سلام
من برنامه ای را نوشته ام به زبان #C که از SQL SERVER EXPRESS EDITION استفاده می کند و حالا نیاز دارم که ببینم به چه صورت میشه چک کرد که آیا سرویس آن استارت شده یا ن و چگونه می توان آنرا استارت کرد، در صورت استوپ بودن سرویس؟
با تشکر
ebnsina
یک شنبه 07 شهریور 1389, 10:16 صبح
باید عرض کنم که در صورت جستجو حتما در سایت پیدا میکردید اما باز هم جا داره که راهتون رو کوتاه کنم :
با این دستور میتونید یک کلاس کنترل کننده ی سرویس بسازید (که البته چند جور دیگه هم میشه اون رو ساخت) و بعد با این کلاس کنترل کننده ی سرویس ، به سرویس دسترسی داشته باشید.
System.ServiceProcess.ServiceController sqlService = new ServiceController("SQL Server (SQLEXPRESS)");
یعنوان مثال سرویس رو متوقف یا اجرا کنید یا از وضعیت اون با خبر بشید.
ebnsina
یک شنبه 07 شهریور 1389, 10:24 صبح
یک مثال هم براتون مینویسم که بهتر موضوع براتون باز بشه :
مثلا من در این مثال میخوام اول سرویس رو متوقف و بعد دوباره اجرا کنم.
فقط دقت داشته باشیم که چون دستورات توقف و اجرای این کلاس را از نوع Asyn نوشتن ، پس باید تا زمان به پایان رسیدن اون کار صبر کنیم و بعد کار بعدی راانجام بدیم.
حلقه ی while در واقع برای این منظور بکار گرفته شده است.
// ايجاد کلاس کنترل کننده ي سرويس
System.ServiceProcess.ServiceController sqlService = new ServiceController("SQL Server (SQLEXPRESS)");
// جهت توقف سرويس
sqlService.Stop();
// جهت اطلاع از به انجام رسيدن توقف سرويس
while (sqlService.Status != ServiceControllerStatus.Stopped)
{
Application.DoEvents();
sqlService.Refresh();
}
// جهت شروع بکار سرويس
sqlService.Start();
امیدوارم که کمکی شده باشه.
vBulletin® v4.2.5, Copyright ©2000-1403, Jelsoft Enterprises Ltd.