TEA BREAK

おいしいお茶とお菓子のショップ

バッチでSQLを実行

SQLをバッチから実行する場合の記述サンプル。

REM //////////////////////////////////////////////////////////////////
REM DBに対してsqlを一括適用します。
REM 本バッチはsqlファイルと同階層に置いて実行してください。
REM //////////////////////////////////////////////////////////////////

echo off
echo 処理を開始しました。

echo %date% %time% 処理開始 > sample.log
echo ★★★sample.sql ★★★ >> sample.log
sqlcmd -S ServerName -E -d DBName -i sample.sql >> sample.log
REM 下記はSqlServer認証の場合
REM sqlcmd -S ServerName -U UserName -P PassWord -d DBName -i sample.sql >> sample.log
echo on

echo 処理が終了しました。
pause

 

■「>」と「>>」の違い

> ファイル上書き
>> ファイルに追記

 

 

 

■sqlcmdオプション

オプション 説明
-S サーバー名
-U ユーザ名
-P パスワード
-E Windows認証の場合に付ける
-d DB名
-i インプットファイル

詳細オプションは下記URL参照

https://docs.microsoft.com/ja-jp/sql/tools/sqlcmd-utility?view=sql-server-2017