@ECHO OFF
CLS
REM SET VARIABLES VALUES
SET SqlServer=APP-STAG
SET InstanceName=MSSQLSERVER
SET Username=sa
SET Password=2020@2021
SET Database=PortalDemo
SET BaseFolderPath=c:\backups
SET TodayDate=%DATE:/=%
SET CurrentTime=%TIME::=%
SET SubFolder=%TodayDate:~8,4%%TodayDate:~6,2%%TodayDate:~4,2%
SET LocalFolder=%BaseFolderPath%\%SubFolder%
IF NOT EXIST %LocalFolder% mkdir %LocalFolder%
:: *****************************************************************************
ECHO DB Backup started...
sqlcmd -S %SqlServer%\%InstanceName% -U %Username% -P %Password% -d %Database% -Q "BACKUP DATABASE %Database% TO DISK = '%LocalFolder%\%Database%_%CurrentTime%.bak' WITH NOFORMAT, INIT, SKIP, NOREWIND, NOUNLOAD, STATS = 10;"
ECHO DB Backup finished...
此脚本应将提到的数据库备份到 c: ackups 中,但它会在备份文件夹中创建一个名为 20232804 的空文件夹,其中没有任何文件,即 .bak.
.bat 文件打开时说 DB Backup started... 但突然结束而没有显示任何内容。