PDA

View Full Version : start/stop کردن sqlserver از طریق برنامه



m_zi
سه شنبه 30 بهمن 1386, 08:19 صبح
سلام
خسته نباشید
من با ویژوال بیسک و sqlserver2000 برنامه می نویسم می خوام از طریق برنامه sql server را start /stop کنم . ممنون میشم راهنماییم کنید .

مرسی

reza_rad
سه شنبه 30 بهمن 1386, 08:25 صبح
sql server هم مثل بقیه سرویس های ویندوز است و شما می تونید استارت و استاپش کنید.
Programmatically start and stop SQL Server main service (http://www.devx.com/vb2themax/Tip/18459)
این مثال C# هم برای start , stop کردن سرویس های ویندوز هست:
How to start and stop windows services programmatically (http://www.dotnetspider.com/kb/Article1254.aspx)

m_zi
سه شنبه 30 بهمن 1386, 08:54 صبح
sql server هم مثل بقیه سرویس های ویندوز است و شما می تونید استارت و استاپش کنید.
Programmatically start and stop SQL Server main service (http://www.devx.com/vb2themax/Tip/18459)
این مثال C# هم برای start , stop کردن سرویس های ویندوز هست:
How to start and stop windows services programmatically (http://www.dotnetspider.com/kb/Article1254.aspx)

سلام
مرسی اؤ اینکه سریع جواب دادید . غافلگیر شدم . من کد زیر را از لینکی که گفتید کپی کردخ و اجرا کردم.
Dim SQLServer As New SQLDMO.SQLServer

' starting the service requires that you specify
' the server's name and user credentials
SQLServer.Start False, "MyServer", "sa", "mypwd"

پیغام خطا داد :
the RPC server is unavailable

یعنی چی؟؟؟؟

reza_rad
سه شنبه 30 بهمن 1386, 08:59 صبح
پیغام خطا داد :
the RPC server is unavailable

یعنی چی؟؟؟؟
آیا sql server ای که شما می خواهید start - stop کنید روی همون سیستمی هست که برنامه اجرا میشه یا تحت شبکه و روی سیستم دیگری هست؟

m_zi
سه شنبه 30 بهمن 1386, 09:39 صبح
آیا sql server ای که شما می خواهید start - stop کنید روی همون سیستمی هست که برنامه اجرا میشه یا تحت شبکه و روی سیستم دیگری هست؟

سلام

روی همین کامپیوتر است .

reza_rad
سه شنبه 30 بهمن 1386, 09:47 صبح
SQLServer.Start False, "MyServer", "sa", "mypwd
شما به جای MyServer باید نام Instace ای از sql server که روی سیستم نصب است رو بنویسید در صورت Default Instace بودن می تونید اسم کامپیوتر خودتون رو بنویسید.

m_zi
سه شنبه 30 بهمن 1386, 10:21 صبح
SQLServer.Start False, "MyServer", "sa", "mypwd
شما به جای MyServer باید نام Instace ای از sql server که روی سیستم نصب است رو بنویسید در صورت Default Instace بودن می تونید اسم کامپیوتر خودتون رو بنویسید.


مرسی درست شد . ولی یک مشکل دیگه پیش اومد . اولین بار که برنامه بالا میاد سرور ستارت میشه. دفعه دوم که بالا می یاد سرور استارت هست درنتیجه کد مربوط به استارت نباید ران بشه بهش میگم اگه staus=running است stop کن دون نیاز دارم حتما stop بشه ولی خطای قبلی را میدهد.rpc
چه جوری بگم اگر استارت بود stop کن اونکه نام سرور را نمی داند ؟؟؟

AminSobati
سه شنبه 30 بهمن 1386, 13:38 عصر
از دستور net استفاده کنین (در Command Prompt):


net stop "mssqlserver"

net start "mssqlserver"


در صورتیکه Named Instance داشته باشید، باید نام صحیح رو جای mssqlserver قرار بدین