|
@echo off |
|
|
|
rem --------------------------------------------- |
|
rem - SQL SERVICE HELPER v1.1.20140624 |
|
rem - ADAM PLOCHER / BITCOLLECTORS |
|
rem - https://github.com/aplocher |
|
rem - |
|
rem - Description: |
|
rem - Helper bat file to start / stop SQL server instances. Will require |
|
rem - user intervention (pause) when error occurs. Supports colorized output |
|
rem - if cmdcolor.exe is available in the same dir or in the environment PATH. |
|
rem - |
|
rem - Optional component cmdcolor.exe |
|
rem - This component simplifies colorization and can be downloaded from |
|
rem - https://github.com/jeremejevs/cmdcolor |
|
rem - |
|
rem - Usage: |
|
rem - sqlsrvhelper.bat /start|/stop [instance_name] |
|
rem - |
|
rem - Example: |
|
rem - sqlsrvhelper.bat /start |
|
rem - sqlsrvhelper.bat /stop |
|
rem - or: |
|
rem - sqlsrvhelper.bat /start SQL08R2 |
|
rem - sqlsrvhelper.bat /stop SQL08R2 |
|
rem --------------------------------------------- |
|
|
|
pushd %~dp0 |
|
|
|
rem -- HANDLE PARAMETERS |
|
set action=%1 |
|
set instancename=%2 |
|
set servicename=%3 |
|
|
|
rem -- INIT |
|
set supportscolor=0 |
|
set isservicerunning=0 |
|
|
|
if /i [%instancename%]==[] set instancename=MSSQLSERVER |
|
|
|
if /i [%servicename%]==[] ( |
|
if /i [%instancename%]==[MSSQLSERVER] ( |
|
set servicename=%instancename% |
|
) else ( |
|
set servicename=MSSQL$%instancename% |
|
) |
|
) |
|
|
|
rem -- CHECK IF SQL SERVICE IS RUNNING |
|
net start | find " SQL Server (%instancename%)" >nul 2>&1 |
|
if %ERRORLEVEL% NEQ 1 set isservicerunning=1 |
|
|
|
rem -- CHECK IF COLORIZED TXT SUPPORTED |
|
where cmdcolor.exe >nul 2>&1 |
|
if %ERRORLEVEL% NEQ 1 set supportscolor=1 |
|
|
|
rem -- IS START OR STOP ACTION? -- |
|
if /i [%action%]==[/stop] goto:stopaction |
|
if /i [%action%]==[/start] goto:startaction |
|
goto:errorparameters |
|
|
|
:startaction |
|
echo Attempting to START MSSQL (Instance: %instancename%) |
|
if %isservicerunning% NEQ 1 goto:startservice |
|
call:displayWarning " - Service already running" |
|
goto:success |
|
|
|
:startservice |
|
echo Service NOT already running. Starting now... |
|
net start %servicename% |
|
if %ERRORLEVEL% EQU 0 goto:success |
|
call:displayError " - Error occurred, please review the errors. Pausing ..." |
|
pause |
|
goto:done |
|
|
|
:stopaction |
|
echo Attempting to STOP MSSQL (Instance: %instancename%) |
|
if %isservicerunning% EQU 1 goto:stopservice |
|
call:displayWarning " - Service not running" |
|
goto:success |
|
|
|
:stopservice |
|
echo Service running. Stopping now... |
|
net stop %servicename% |
|
if %ERRORLEVEL% EQU 0 goto:success |
|
call:displayError " - Error occurred, please review the errors. Pausing ..." |
|
pause |
|
goto:done |
|
|
|
:errorparameters |
|
|
|
echo ----------------------------------------------------------- |
|
call:displayInfo "sqlsrvhelper.bat" |
|
call:displayInfo "by Adam Plocher @ Bit Collectors" |
|
echo. |
|
echo USAGE: sqlsrvhelper.bat /start^|/stop [instance_name] |
|
echo. |
|
echo EXAMPLES: |
|
echo. |
|
echo Start the default instance (MSSQLSERVER): |
|
call:displayInfo " sqlsrvhelper.bat /start" |
|
echo. |
|
echo Stop a SQL Server instance called SQL08R2: |
|
call:displayInfo " sqlsrvhelper.bat /stop SQL08R2" |
|
if not [%supportscolor%]==[1] ( |
|
echo. |
|
echo WARNING: cmdcolor.exe not found! |
|
echo Color text output is supported by downloading the light-weight |
|
echo cmdcolor.exe helper from: github.com/jeremejevs/cmdcolor |
|
) |
|
echo ----------------------------------------------------------- |
|
echo. |
|
goto:success |
|
|
|
:success |
|
rem -- CLOSE AFTER 1 SECOND(S) -- |
|
timeout /t 1 /nobreak >nul 2>&1 |
|
goto:done |
|
|
|
:done |
|
popd |
|
|
|
goto:eof |
|
|
|
|
|
:displayError |
|
if [%supportscolor%]==[1] ( |
|
echo \033[91m%~1| cmdcolor |
|
goto:eof |
|
) |
|
echo *ERROR* %~1 |
|
goto:eof |
|
|
|
|
|
:displayWarning |
|
if [%supportscolor%]==[1] ( |
|
echo \033[93m%~1| cmdcolor |
|
goto:eof |
|
) |
|
echo *WARNING* %~1 |
|
goto:eof |
|
|
|
|
|
:displayInfo |
|
setlocal EnableDelayedExpansion |
|
if [%supportscolor%]==[1] ( |
|
echo \033[97m%~1| cmdcolor |
|
goto:eof |
|
) |
|
echo %~1 |
|
goto:eof |