SQL Server SQLCMD 使用方式

2021-02-03

筆記 SQLCMD 的使用方式。

SQL Server Logo

說明

SQLCMD 可以結合排程以 Scripts 自動化工作,向 SQL Server 進行資料查詢、執行作業等工作。

實用參數

-S [ServerName]

指定要存取的資料庫伺服器名稱

-d [db_name]

可以用於指定 database name ,預設不選用的情況是使用登入的 default database

-U [userName] -P [userPassword]

指定登入所使用的使用者名稱與密碼


示範碼

sqlcmd -S SQLServerInstanceName -d DbName -U dbUser -P userPassword

應用範例

取得資料庫伺服器目前的連線 Session 資訊,並以時間戳記的方式保存

script.sql

exec sp_who2
go

peekdb.bat

rem 取得日期與時間資訊
for /f "tokens=2 delims==" %%a in ('wmic OS Get localdatetime /value') do set "dt=%%a"
set "YY=%dt:~2,2%" & set "YYYY=%dt:~0,4%" & set "MM=%dt:~4,2%" & set "DD=%dt:~6,2%"
set "HH=%dt:~8,2%" & set "Min=%dt:~10,2%" & set "Sec=%dt:~12,2%"

set "fullstamp=%YYYY%-%MM%-%DD%_%HH%-%Min%-%Sec%"

cd "C:\OutputFolder"
sqlcmd -S SQLServerInstanceName -i "C:\Scripts\script.sql" -s"," > report_%fullstamp%.csv

參考資料

sqlcmd Utility