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 |
(로그인하지 않으셔도 가능)