Я пытаюсь запустить скрипт, похожий на этот ( пример ), но он работает неправильно. Файл txt успешно сгенерирован, с именами баз данных строка за строкой, но при резервном копировании баз данных создается один большой файл вместо одного файла для каждой базы данных. В моем TXT содержится 30 имен, а также 30 баз данных.
@echo off
:: Update variable date environment
set today=%date:~0,2%-%date:~3,2%-%date:~6,4%
:: Set folder root of backup files to send to network and to GDRIVE
set BACKUPPATHROOT=%systemdrive%\TMPSQL
:: Create local folder from date
mkdir %BACKUPPATHROOT%\%today% >nul 2>&1
:: Set local folder to save backup files
set BACKUPPATH=%BACKUPPATHROOT%\%today%
:: Set SQL Server location
set SERVERNAME=localhost
:: Get password of backup file compress
set PSWDZIP=123456
:: Build a list of databases to backup
set DBList=%BACKUPPATH%\SQLDBList.txt
SqlCmd -E -S %SERVERNAME% -h-1 -W -Q "SET NoCount ON; SELECT Name FROM sys.databases WHERE [Name] NOT IN ('master','model','msdb','tempdb')" > "%DBList%"
:: Backing UP
For /f "tokens=*" %%i in (%DBList%) do (
set BACKUPFILENAME=%BACKUPPATH%\%%i.bak
echo Fazendo backup do banco de dados %%i
sqlcmd -E -S %SERVERNAME% -Q "BACKUP DATABASE [%%i] TO DISK=N'%BACKUPFILENAME%' WITH NOFORMAT, NOINIT, NOREWIND, NOUNLOAD"
7za a -r -tzip -bso0 -bsp0 -sdel -p%PSWDZIP% %BACKUPFILENAME%.zip %BACKUPFILENAME%
echo.
)
Может кто-нибудь помочь мне определить ошибку?
Первые строки в текстовом файле:
MYDBTEST
MYDBTEST_ADM
DBTEST
DBTEST_ADM
MYDBZBX
MYDBZBX_OLD
PrintScreen