从批处理文件恢复数据库会导致参数错误

问题描述 投票:0回答:1

我正在尝试直接从bat 文件备份和恢复数据库。

set SqlServer=.
set DatabaseName=mydbname
set Username=test
set Password=test
set LocalFolder=C:\backups

chcp 65001
SQLCMD -S %SqlServer% -U %Username% -P %Password% -Q "BACKUP DATABASE [%DatabaseName%] 
TO DISK='%LocalFolder%\test.bak' WITH FORMAT"

现在,为了恢复数据库,我使用相同的大纲,但我不断收到错误。

set SqlServer=.
set DatabaseName=mydbname
set Username=test
set Password=test
set LocalFolder=C:\backups

chcp 65001
SQLCMD -S %SqlServer% -U %Username% -P %Password% –Q "RESTORE DATABASE [%DatabaseName%] 
FROM DISK='%LocalFolder%\test.bak'"

错误

Sqlcmd: '–Q "RESTORE DATABASE [mydbname] FROM DISK='C: ackups est.bak'': 意外参数。输入 '-?'寻求帮助。

有人发现我的做法有错误吗?

sql-server batch-file
1个回答
2
投票

我没有在 Powershell 中执行此操作的经验。

这是学习的好时机。 CMD 的功能比 Powershell 弱得多,也更难使用。

无论如何,第二个命令中的破折号字符是错误的。这是一个十六进制转储

© www.soinside.com 2019 - 2024. All rights reserved.