2017-01-03 4 views
-1

Ich habe eine Batch-Datei (aus dem Internet kopiert) meine Datenbank ‚WIS‘ für die Sicherung:Was bedeutet die Fehlermeldung?

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 

Allerdings habe ich die folgende Fehlermeldung angezeigt, wenn ich die Batch-Datei ausgeführt wird.

Msg 1038, Ebene 15, Status 4, Server WIN2016, Zeile 1
Ein Objekt oder Spaltenname fehlt oder ist leer. Überprüfen Sie für SELECT INTO Anweisungen, dass jede Spalte einen Namen hat. Suchen Sie bei anderen Anweisungen nach leeren Alias-Namen. Aliase definiert als "" oder [] sind nicht erlaubt. Ändern Sie den Alias ​​in einen gültigen Namen.

Könnte jemand mir sagen, ist falsch mit diesem Code?

+0

Ersetzen Sie 'sqlcmd' durch' echo'. – GSerg

Antwort

0

ändern

set /p DATABASENAME=WIS 

zu

set DATABASENAME=WIS 

, die helfen können.

+0

Ich folge Ihrer Anweisung, um das System zu löschen zeigt: Kann Backup-Gerät 'F: \ Tmp \ neu \ WIS-2017.01.1/.bak' nicht öffnen –

+0

Wie kann ich 2017.01.1/.bak zum 2017-01-04 ändern .bak? –

+0

Ich habe die Lösung selbst gefunden. Es ist festgelegt DATESTAMP =% DATUM: ~ 6,4% -% DATUM: ~ 3,2% -% DATUM: ~ 0,2% –

Verwandte Themen