Я пишу скрипт perl, в котором Я должен выключить мой сервер mssql, выполнить некоторую операцию, а затем я должен перезапустить его. Я знаю, что один способ - использовать netstat чтобы остановить службу, но я не могу ее использовать. Так что я попытался установить DBI и DBD :: ODBC module.I'm возможность подключения и выполнения запросов на следующий кодЗавершение работы сервера MSSQL из Perl-скрипта DBI
use DBI;
my $data_source = q/dbi:ODBC:AUTOMATION_WOW64/;
my $user = q/pa/;
my $password = q/DCE/;
# Connect to the data source and get a handle for that connection.
my $dbh = DBI->connect($data_source, $user, $password)
or die "Can't connect to $data_source: $DBI::errstr";
my $str=$dbh->prepare("select SERVERPROPERTY('edition')");
$str->execute();
my @row;
while (@row = $str->fetchrow_array) { # retrieve one row
print join(", ", @row), "\n";
}
, но даже после поиска много я не можите найти любой запрос с использованием whch я могу shutdown мой сервер. Просто хотел узнать, возможно ли завершить работу сервера из SQL-запроса. я нашел один для сервера MySQL
$rc = $dbh->func('shutdown', 'admin');
по этой ссылке http://metacpan.org/pod/DBD::mysql пожалуйста, скажите мне, если что-то похожее на это существует для MSSQL сервера.
Вы можете просто остановить службу SQL Server для Windows? Проблема с командой SQL SHUTDOWN заключается в том, что системный администратор SQL Server может закрыть сервер, а затем обнаружить, что он не может перезапустить его, потому что у него нет правильных * разрешений Windows * для запуска службы. Поэтому, вероятно, лучше рассмотреть это как вопрос службы Windows, а не SQL Server. – Pondlife