본문 바로가기
Tech/Database

MS-SQL Command start with admin privilege

by Augustine™ 2018. 6. 4.
반응형

Dev 용도로 MS-SQL Server를 PC에 설치했을 때, 메모리 부하 때문에 보통 서비스를 수동으로 해둔다(그렇지 않은 사람도 있겠지만 개발자 습성상 메모리를 많이 차지하는 것을 자동으로 설치되는 브라우저의 ad-on program 만큼 싫어하는 사람들이 많은 편이다).

뿐만 아니라, MS-SQL의 속성 변경 후, MS-SQL Server의 재시작을 요구하는 경우가 많다. 

서비스 시작 또는 재시작을 할 경우, 아래 그림과 같이 서비스 콘솔(services.msc)을 이용해서 서비스를 시작할 수 있지만, 조금 번거러운 작업이 될 수 있다.


command 창을 이용해서 MS-SQL service를 시작 종료할 수 있는 방법이 있다. 아래 처럼하면, 시작 & 종료를 할 수 있다.


형식은 net start(멈출 경우는 stop) MSSQL$인스턴스명 이다.

command 를 이용해서 할 경우에 좀 더 편하긴 한데, 문제는 관리자 권한이 필요하다는 점이다. command 상에서 관리자 권한을 획득할 수 있는 방법이 없을까 하고 검색을 해봤는데, vb 스크립트를 이용해서 관리자 권한을 획득하는 방법이 있다.

먼저, MSSQL 을 시작하는 bat 파일을 아래와 같이 만든다. 파일명을 sqlstartcommand.bat 라고 

net start MSSQL$SQLEXPRESS


다음은 sqlstart.bat 의 내용이다.

@echo off

echo Set UAC = CreateObject^("Shell.Application"^) > "%temp%\getadmin.vbs"
set params = %*:"=""
echo UAC.ShellExecute "cmd.exe", "/c ""%~dp0\sqlstartcommand.bat"" %params%", "", "runas", 1 >> "%temp%\getadmin.vbs"

"%temp%\getadmin.vbs"
del "%temp%\getadmin.vbs"


위 파일을 저장하고 sqlstart.bat를 실행하면, 별도의 관리자 command 실행 없이 MS-SQL을 시작할 수 있다.


반응형

댓글