sqlcmd를 통해서 update를 bat파일로 만들기
(주의: sqlcmd.bat과 같이 명령어(sqlcmd)를 파일이름으로 사용하면 무한 loop가 발생합니다.)
1) query.sql 만들기
업데이트등 실행할 명령의 파일을 만듭니다. 일반 sql management studio의 쿼리를 주듯이 하면 됩니다.
USE {디비명} update TEST set SYNC_DATE=null, UPDATE_DATE=getdate() where ORDER_ID='1234'; update TEST set SYNC_DATE=null, UPDATE_DATE=getdate() where ORDER_ID='2345'; |
2) runQuery.bat 만들기
@ECHO OFF sqlcmd -E -S localhost -i "c:\unix\query.sql" |
또는
@ECHO OFF
set pcname=%COMPUTERNAME%
sqlcmd -E -S %pcname% -i "c:\unix\query.sql"
- 끝 -
[ 참고 화면 ]
sqlcmd를 cmd에서 실행한 화면)
[ 참고 POST ]
2017/12/09 - [DB관련/SQL Server] - sqlcmd 이용한 쿼리 확인하기 (Management Studio가 없을때)
2017/11/14 - [DB관련/SQL Server] - SQL DB Backup 스케쥴 cmd 배치파일(bat)로 zip 백업 만들기 +7z.exe
참고: sqlcmd
sqlcmd 유틸리티 (한글): https://technet.microsoft.com/ko-kr/library/ms162773(v=sql.105).aspx
sqlcmd
[{ { -U login_id [ -P password ] } | –E trusted connection }]
[ -N encrypt connection ][ -C trust the server certificate ]
[ -z new password ] [ -Z new password and exit]
[ -S [protocol:]server[\instance_name][,port] ] [ -H wksta_name ] [ -d db_name ]
[ -l login time_out ] [ -A dedicated admin connection]
[ -i input_file ] [ -o output_file ]
[ -f < codepage > | i: < codepage > [ < , o: < codepage > ] ]
[ -u unicode output] [ -r [ 0 | 1 ] msgs to stderr ]
[ -R use client regional settings]
[ -q "cmdline query" ] [ -Q "cmdline query" and exit]
[ -e echo input ] [ -t query time_out ]
[ -I enable Quoted Identifiers ]
[ -v var = "value"...] [ -x disable variable substitution ]
[ -h headers ][ -s col_separator ] [ -w column_width ]
[ -W remove trailing spaces ]
[ -k [ 1 | 2 ] remove[replace] control characters ]
[ -y display_width ] [-Y display_width ]
[ -b on error batch abort] [ -V severitylevel ] [ -m error_level ]
[ -a packet_size ][ -c cmd_end ]
[ -L [ c ] list servers[clean output] ]
[ -p [ 1 ] print statistics[colon format]]
[ -X [ 1 ] ] disable commands, startup script, enviroment variables [and exit] [ -? show syntax summary] |
sqlcmd - Run Transact-SQL Script Files:
In the Command Prompt window, type:
sqlcmd -S myServer\instanceName -i C:\myScript.sql
참고2: bat
[팁] 명령러로 Window hostname 알아보기: http://kikook.tistory.com/85
변수 |
유형 |
내용 |
%CD% |
로컬 |
현재 디렉터리 문자열을 반환한다. |
%COMPUTERNAME% | 시스템 | 컴퓨터 이름을 반환합니다. |
%PATH% | 시스템 | 실행 파일의 검색 경로를 지정합니다. |
%TEMP% 또는 %TMP% | 시스템및 사용자 | 현재 로그인한 사용자의 temp 디렉토리 |
[ TIP ]
추가로 윈도우, Task Schedule에 해당 Bat파일을 실행해주면, 특정 시간에 작업도 가능하게 됩니다.
'DB관련 > SQL Server' 카테고리의 다른 글
| MS SQL DB 복원시 Access is denied.오류 발생시 (0) | 2019.03.05 |
|---|---|
| SQL Local DB 2017 (Express버전에서 LocalDB선택해서 설치) + SQL Operation Studio (0) | 2018.08.17 |
| SQL Server2014 Standard 설치 및 삭제 DB Instance 수동 삭제하기 (0) | 2018.08.15 |
| SQL서버에서 paginate 만들기 쿼리 (0) | 2018.05.08 |
| SQLServer ldf 로그 파일 줄이기 - SQL Server Management Studio 사용 (0) | 2018.02.07 |
| sqlcmd 이용한 쿼리 확인하기 (Management Studio가 없을때) (0) | 2017.12.09 |
| MSSQL 컬럼 변경 ( 추가, 삭제, 속성변경, 컬럼명 변경 ) (0) | 2017.10.12 |
| MSSQL 2000~2008 DB 테이블 명세서 작성해주는 출력 쿼리 (0) | 2017.06.30 |
(로그인하지 않으셔도 가능)