应该创建数据库备份的.bat文件只是创建一个没有备份的空文件夹。为什么?

问题描述 投票:0回答:0
@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... 但突然结束而没有显示任何内容。

sql windows shell batch-file batch-processing
© www.soinside.com 2019 - 2024. All rights reserved.