Такой вопрос.
Если батник, который выполняет копирование бэкапов баз и развертывание их в тестовую базу.
Нужно писать лог ошибок при восстановлении бэкапа, сейчас это реализовано таким образом:
В цикле for /r обхожу директорию с *.bak файлами, дальше использую sqlcmd для восстановления бэкапа, при этом создаю два файла 1. лог ошибки, 2. лог восстановления, но оба файла создаются для каждой восстанавливаемой базы.
А хотелось бы дописывать логи в конец уже ранее созданного файла.
Текст фрагмента скрипта такой:
rem Запускаем цикл по каталогу с бэкапами
for /r E:\temp\backup\ %%i in (*.bak) do (
echo %%i
set TempScriptDir=%temp%\
rem задаем переменную полного пути имени файла
set FullFileName=%%i
Echo !FullFileName!
rem задаем переменную имени файала без пути и расширения
set NameFile=%%~ni
Echo !NameFile!
echo *********************************************************************
Rem надо изменить кодовую страницу для возможности записи логов на кириллице
chcp 65001
rem запускаем скрипт восстановления текущего файла и одновременно записи в лог ошибок и результатов выполнения
SqlCmd -S "SV-02" -U "sa" -P "1111111" -b -V10 -i "E:\RestoreScripts\restore.sql" -r0 2>E:\RestoreLogs\!NameFile!Error.log 1>E:\RestoreLogs\!NameFile!Restore.log -v Backupfile="'!FullFileName!'"
If ERRORLEVEL 16 Set errorrestore=true
rem If ERRORLEVEL 16 Goto ErrorExit
)