我创建(从Internet复制)一个批处理文件,用于备份我的数据库'WIS':
echo off
cls
echo -- BACKUP DATABASE --
set /p DATABASENAME=WIS
:: filename format Name-Date (eg MyDatabase-2009.5.19.bak)
set DATESTAMP=%DATE:~-4%.%DATE:~7,2%.%DATE:~4,2%
set BACKUPFILENAME=%CD%\%DATABASENAME%-%DATESTAMP%.bak
set SERVERNAME=WIN2016
echo.
sqlcmd -E -S %SERVERNAME% -d master -Q "BACKUP DATABASE [%DATABASENAME%] TO DISK = N'%BACKUPFILENAME%' WITH INIT , NOUNLOAD , NAME = N'%DATABASENAME% backup', NOSKIP , STATS = 10, NOFORMAT"
echo.
pause
但是,当我运行批处理文件时,我收到以下错误消息。
Msg 1038,Level 15,State 4,Server WIN2016,Line 1
对象或列名称缺失或为空。对于SELECT INTO
语句,请验证每列是否有名称。对于其他语句,请查找空别名。不允许将别名定义为""
或[]
。将别名更改为有效名称。
有人能告诉我这段代码有问题吗?
答案 0 :(得分:0)
更改
set /p DATABASENAME=WIS
到
set DATABASENAME=WIS
这可能会有所帮助。