2013-05-02 4 views
0

내 mssql 서버를 종료해야합니다. 몇 가지 작업을 한 다음 다시 시작해야합니다. 1 가지 방법은 netstat을 사용하는 것입니다. 서비스를 멈추기 위해 사용하지만 나는 그것을 사용할 수 없다. 그래서 나는 내가 할 수있는 whch 사용하는 쿼리를 찾을 두지 코드를펄 스크립트에서 MSSQL 서버를 종료하십시오

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"; 
} 

하지만 심지어 많은 을 검색 한 후 따라 연결하고 쿼리를 실행하는 DBI와 DBD :: ODBC module.I'm가 수 설치 시도 내 서버를 종료하십시오. SQL 쿼리에서 서버를 종료 할 수 있는지 알고 싶습니다. 나는 이와 비슷한 일이 MSSQL 서버에 대해 존재하는 경우 http://metacpan.org/pod/DBD::mysql 말해주십시오 링크에서 MySQL 서버

$rc = $dbh->func('shutdown', 'admin'); 

하나를 발견했다.

+1

그냥 SQL 서버 Windows 서비스를 중지 할 수 있습니까? SQL SHUTDOWN 명령의 문제점은 SQL Server sysadmin이 서버를 종료 한 다음 서비스를 시작할 올바른 Windows * 사용 권한이 없기 때문에 서버를 다시 시작할 수 없음을 발견 할 수 있다는 것입니다. SQL Server보다 Windows 서비스 질문으로 생각하는 것이 좋습니다. – Pondlife

답변

0

SHUTDOWN라는 SQL 명령이있다 - more info here

+0

나는 이것을 이전에 시도했지만이 명령을 실행할 때이 오류가 발생한다 "$ dbh-> prepare ("SHUTDOWN [WITH NOWAIT] ");" DBD :: ODBC :: st 실행에 실패했습니다. [Microsoft] [SQL Server Native Client 10.0] [SQL Server] 'WITH NOWAIT'근처의 구문이 잘못되었습니다. (SQL-42000) – decoder

+2

@decoder "SHUTDOWN WITH NOWAIT"이지만 SHUTDOWN 권한은 sysadmin 및 serveradmin 고정 서버 역할의 구성원에게 할당되며 양도 할 수 없습니다. 나는 펄 (perl)이이 권리와 함께 달려 있다고 (바라건대) 다르게 생각할 것이다. – bummi

관련 문제