如何得到sqlserver服务的运行或停止状态?

飞天凤凰601 2004-12-29 04:23:15
可以使用dos命令net stop mssqlserver停止(或启动)sqlserver服务器,但由于程序需要,想得到当时服务的状态,请问如何取得?
还有,可以使用delphi,而不去DOS命令(指SHELL等语句)来开启或停止系统服务吗?
...全文
215 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
「已注销」 2004-12-31
  • 打赏
  • 举报
回复
学习一下 SQL-DMO
Kshape 2004-12-31
  • 打赏
  • 举报
回复
你通过 SQL Server 定时访问一个专用的工作表。访问失败就是宕了。
出于慎重,你可以设一个计数器变量,n 次访问失败则重新启动之。
fanhongbin 2004-12-31
  • 打赏
  • 举报
回复
unit Judge_U;

interface
uses
SysUtils, Classes, IdBaseComponent, IdComponent, IdTCPConnection, IdIcmpClient,
IdTCPClient, IdRawBase, IdRawClient;


function JudgePort(AServerName: PChar; APort: Integer): Boolean;
function JudgePing(AServerName: PChar): Boolean;
implementation

function JudgePing(AServerName: PChar): Boolean;//这个是用来PIN计算机的.
var
ICMP: TIdIcmpClient;
begin
ICMP := TIdIcmpClient.Create(nil);
ICMP.ReceiveTimeout := 1000;
ICMP.Host := AServerName;
try
ICMP.Ping;
Result := True;
except
Result := False;
end;
ICMP.Free;
end;

function JudgePort(AServerName: PChar; APort: Integer): Boolean;
var
IdTCPClient1: TIdTCPClient;
begin
IdTCPClient1 := TIdTCPClient.Create(nil);
IdTCPClient1.Host := AServerName;
IdTCPClient1.Port := APort;
try
IdTCPClient1.Connect;
Result := True;
IdTCPClient1.Disconnect;
except
Result := False;
end;
IdTCPClient1.Free;
end;

end.
//有以下已知的BUG.
//1 如果一台计算机上安装了多个实例.
//2 如果不用TCP/IP协议,而用其它的连接方式,比如典型的命名管道,就无法判断.

//说明:来自http://blog.csdn.net/qiubolecn/archive/2004/12/30/234050.aspx
飞天凤凰601 2004-12-29
  • 打赏
  • 举报
回复
UPPPPPPPPPPPPPPP

16,748

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧