一捣炬、概述
應(yīng)用場景:需要批量執(zhí)行很多的mssql文件,逐條執(zhí)行sql文件太費時。
調(diào)試環(huán)境:本地windows10,要執(zhí)行數(shù)據(jù)庫在局域網(wǎng)的window ssever 2012服務(wù)器上贱勃。
本地需要安裝sql sever。
1. 檢查是否windows命令行知否支持sqlcmd指令
在cmd中 先看一下系統(tǒng)是都能識別命令sqlcmd谣拣,正常顯示如圖所示
2.批處理腳本
新建批處理文件募寨,新建一個txt文件并重命名為: mssql_batch.bat,然后把下面的內(nèi)容復(fù)制進去森缠。這個
::echo off
@echo off
:: 數(shù)據(jù)庫主機
@set host=localhost
:: 數(shù)據(jù)庫名稱
@set db=testdb
:: 用戶名
@set userName=sa
:: 密碼
@set password=123456
echo 開始執(zhí)行數(shù)據(jù)庫腳本...
rem 腳本文件所在目錄 等號前后不能有空格
rem 執(zhí)行sqlscripts文件下的所有腳本文件
rem -S 數(shù)據(jù)庫 -d 數(shù)據(jù)庫實例名 -U 登錄用戶名 -P 登錄密碼
for %%i in (sqlscripts\*.sql) do (
echo 正在執(zhí)行 %%i 請稍后...
sqlcmd -S %host% -d %db% -U %userName% -P %password% -i %%i
echo %%i 執(zhí)行完畢。
echo
)
echo 所有腳本執(zhí)行完畢仪缸。
pause
注意:bat文件和sql文件都用ANSI編碼贵涵,否則可能導(dǎo)致執(zhí)行不成功。
執(zhí)行批處理前,需要把要執(zhí)行的文件拷貝到sqlscripts文件夾下宾茂,到時候會依次執(zhí)行瓷马。
結(jié)束!跨晴!