@echo off
REM Check for too few or too many parms and error
IF (%1)==() GOTO ERROR
IF NOT (%9)==() GOTO ERROR
REM Set some default values
SET ggmask=%1
SET ggtimes=1
SET ggwait=NO
SET ggserv=(local)
SET gguser=-E
SET ggwaitparm=/NORMAL
SET ggwin=NORMAL
SET ggout=YES
REM Move parameters to variables
IF NOT (%2)==() SET ggtimes=%2
IF NOT (%3)==() SET ggwait=%3
IF NOT (%4)==() SET ggwin=%4
IF NOT (%5)==() SET ggout=%5
IF NOT (%6)==() SET ggserv=%6
IF NOT (%7)==() SET gguser=%7
REM Set this to empty if not supplied
SET ggpwd=%8
REM Set this to empty
SET ggoutparm=%9
REM Further process some of the parameters
IF NOT (%ggpwd%)==() SET ggpwd=-P%ggpwd%
IF /i %ggwait%==YES SET ggwaitparm=/WAIT
IF NOT %gguser%==-E SET gguser=-U%gguser%
IF /i %ggout%==YES SET ggoutparm=-o%%~nf.OUT
REM Run the script(s) using a nested loop
REM
REM The inner loop iterates through the files matching the mask and runs them
REM The outer loop executes the inner loop the number of times specified
FOR /L %%i in (1,1,%ggtimes%) DO FOR %%f IN (%ggmask%) DO START "%%f" %ggwaitparm% /%ggwin% OSQL.EXE -S%ggserv% %gguser% %ggpwd% -i%%f %ggoutparm%
GOTO NOERROR
:ERROR
echo You must specify a script to run
SET ERRORLEVEL=1
ECHO STRESS.CMD
ECHO .
ECHO Runs specified Transact-SQL script(s) multiple times simultaneously
ECHO .
ECHO Copyright (c) 1992, Ken Henderson. All rights reserved.
ECHO Based on my code in User-to-User, PC Magazine, March 26, 1991.
ECHO .
ECHO USAGE: STRESS script [N] [wait] [windowstyle] [saveoutput] [server] [user] [password]
ECHO .
ECHO where:
ECHO script = the script or mask you want to run
ECHO N = the number of times you want to run it (default 1)
ECHO wait = YES to wait for each script to finish before running next (default NO)
ECHO windowstyle = type of window to create for each script execution:
ECHO .
ECHO /MIN = minimized /MAX = maximized /B = no window /NORMAL = normal window
ECHO .
ECHO saveoutput = YES to save output to file using -o OSQL parameter (default YES)
ECHO server = the server to run it on (default (local) )
ECHO user = your SS user name (default - use trusted connection)
ECHO password = your SS password (default - use trusted connection)
:NOERROR
SCRIPT - 수행하기를 원하는 스크립트 또는 mask
N - 원하는 수행횟수(기본값 1)
WAIT - 다음 스크립트를 수행하기 전에 스크립트가 완료되기를 기다리려면 YES(기본값 NO)
WINDOWSTYLE - 각각의 스크립트 실행을 위해 만들 창의 유형 : MIN - 최소화, MAX - 최대화, B - 창없음, NORMAL - 보통창(기본값 NORMAL)
SAVEOUTPUT - OSQL -o 매개 변수를 사용하여 output을 파일로 저장하려면 YES(기본값 YES)
SERVER - 수행할 서버(기본값 (local))
USER - SS 사용자 이름(기본값 트러스트된 연결을 사용한다)
PASSWORD - SS 암호(기본값 트러스트된 연결을 사용한다)
EX)
stress stress.sql 10 no normal no dragonzlair
stress stress*.sql 100 no min yes dragonzlair monty python
'연구개발 > DBA' 카테고리의 다른 글
데이터베이스 내 테이블 생성 감시 트리거(TRIGGER) (0) | 2011.08.22 |
---|---|
semi join, anti join (0) | 2011.08.22 |
성능고찰 - 조인 순서와 유형 선택 (0) | 2011.08.22 |
통계 (0) | 2011.08.21 |
히스토그램, DBCC SHOW_STATISTICS (0) | 2011.08.21 |