Friday, October 26, 2007

Perl Monitor State SQL server On Window

### Check Proccess Database ###################################
$state_agent = `sc \\\\acer-31cca9d11c. query sqlserveragent find /C "STOPPED"`;
$state_sql = `sc \\\\acer-31cca9d11c. query mssqlserver find /C "STOPPED"`;

### Check if SQL ServerAgent or MSsqlserver down order start ###
if (($state_agen == 1) ($state_sql == 1)) {
### Check state of SQL ServerAgent ############################
if ($state_agent == 1) { ## Shutdown SQL ServerAgent##

system('net stop sqlserveragent');
$stop_agent = `sc \\\\acer-31cca9d11c. query sqlserveragent find /C "STOPPED"`;
## Check Result of Stop SQL SeverAgent ##
if ($stop_agent == 1) { ## Stop Success ##

$agentrun = "Shutdown[STOPPED] SQL ServerAgent have Completed.\n";
print $agentrun;

}else{

$agentrun = "Shutdown[STOPPED] SQL ServerAgent have Failure.\n";
print $agentrun;

}

}else{

$agentrun = "SQL ServerAgent Not STOPPED.\n";
print $agentrun;

}
### End Check state of SQL ServerAgent ##########################

### Check State of MSsqlserver ################################
if ($state_sql == 1) { ## Shutdown MSsqlserver ##
system('net stop mssqlserver');
$stop_sql = `sc \\\\acer-31cca9d11c. query mssqlserver find /C "STOPPED"`;

## Check Result of Stop MSSQL Sever ##
if ($stop_sql == 1) { ## Stop Success ##

$sqlrun = "Shutdown[STOPPED] MSSQL Server have Completed.\n";
print $sqlrun;

}else{

$sqlrun = "Shutdown[STOPPED] MSSQL Server have Failure.\n";
print $sqlrun;

}

}else{

$sqlrun = "MSSQL Server Not STOPPED.\n";
print $sqlrun

}
### Check State of MSsqlserver ################################
### Start MSsqlserver and SQL ServerAgent ########################
print "[--Start Service--]\n";
if ($state_sql == 1) { ## Start MSSQL Server if MSSQL Server Shutdown##

system('net start mssqlserver');
$start_sql = `sc \\\\acer-31cca9d11c. query mssqlserver find /C "RUNNING"`;

## Check Result of Start MSSQL Server ##########################
if ($start_sql == 1) { ## Start Success ##
$msgservice .= "\t\tStart MSSQL Server have Completed.\n";
$state_agent = 1;

}else{

$state_agent = 0;
$msgservice .= "\t\tStart MSSQL Server have Failure.\n";

}

}

if ($state_agent == 1) { ## Start SQL ServerAgent if SQL Server Agent Down ##

system('net start sqlserveragent');
$start_agent = `sc \\\\acer-31cca9d11c. query sqlserveragent find /C "RUNNING"`;

## Check Result of Start SQL ServerAgent ########################
if ($start_agent == 1) {## Start Success ##

$msgservice .= "\t\tStart SQL ServerAgent have Completed.\n";

}else{
$msgservice .= "\t\tStart SQL ServerAgent have Failure.\n";
}
}

}

No comments: