VB.netで作成したリストアが単独で実行できるのにタスクスケジューラで実行できない
SQLCMD.exeをでもどすようにした。SQL認証を使っている
手順は、1.シングルユーザ化 2.リストア 3.マルチユーザ化
sqlcmd -S 192.168.0.157\sql2022 -U dbid -P dbパスワード -f 932 -b -Q “ALTER DATABASE [DB名] SET SINGLE_USER WITH ROLLBACK IMMEDIATE; RESTORE DATABASE [DB名] FROM DISK = N’C:\user\sta\backup\バックアップ名.BKF’ WITH REPLACE; ALTER DATABASE [DB名] SET MULTI_USER;”
N’は日本語を含むファイル名
タクススケジューラへの登録は
プログラム C:\windows\System32\cmd.exe
引数 /c “C:\USER\STA\BIN\restordb.bat”