2017-01-03 4 views
-1

Я создал (скопировано из Интернета) пакетный файл для резервного копирования мою базу данных «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 сервера WIN2016, линия 1
Объект или имя столбца отсутствует или пуст. Для операторов SELECT INTO убедитесь, что в каждом столбце указано имя. Для других утверждений найдите пустые псевдонимы. Псевдонимы, определенные как "" или [], не допускаются. Измените псевдоним на допустимое имя.

Может ли кто-нибудь сказать мне, что не так с этим кодом?

+0

Замените 'sqlcmd' на' echo'. – GSerg

ответ

0

Изменить

set /p DATABASENAME=WIS 

в

set DATABASENAME=WIS 

Это может помочь.

+0

Я следую вашей инструкции, чтобы удалить системные показы: не удается открыть устройство резервного копирования 'F: \ Tmp \ new \ WIS-2017.01.1/.bak' –

+0

Как я могу изменить 2017.01.1/.bak на 2017-01-04 .bak? –

+0

Я нашел решение самостоятельно. Он установлен DATESTAMP =% DATE: ~ 6,4% -% DATE: ~ 3,2% -% DATE: ~ 0,2% –

Смежные вопросы