SQLserverの簡易的なバックアップ(tsvにエクスポート)
メモ
同じディレクトリにtables.txtを作ってバックアップとりたいテーブル名を1行ずつ書く。
環境に合わせてdbServer dbUser dbPassword dbSchema savePathを設定。
backup.bat
@echo off
rem 日付時間のフォルダを作成しtables.txtに書いてあるテーブルのバックアップ(tsv形式)で取得
set date_tmp=%date:/=%
set time_tmp=%time: =0%
set yyyy=%date_tmp:~0,4%
set mm=%date_tmp:~4,2%
set dd=%date_tmp:~6,2%
set hh=%time_tmp:~0,2%
set mi=%time_tmp:~3,2%
set datetime=%yyyy%%mm%%dd%%hh%%mi%
set time_tmp=
set date_tmp=
set dbServer=
set dbUser=
set dbPassword=
set dbSchema=
set savePath=D:\%datetime%
mkdir %savePath%
for /f "delims=" %%a in (tables.txt) do (
echo %%a
bcp %dbSchema%.dbo.%%a out %savePath%\%%a.tsv -w -t \t -S %dbServer% -U %dbUser% -P %dbPassword%
)
pause