Ich möchte ein Backup meiner Datenbank für SQL 2008 Express planen. Ich habe eine nette gespeicherte Prozedur für diesen Job gefunden. Ich habe eine Bat-Datei dafür erstellt und möchte sie ausführen, aber die folgende SQLCMD-Anweisung schlägt fehl:
sqlcmd -S '.\SQLEXPRESS' -Q "EXEC sp_BackupDatabases @databaseName='BonusPoint', @backupLocation='C:\DBBackup\', @backupType='F'"
Ich habe es auch mit dem Benutzernamen und dem Passwort versucht:
sqlcmd -S '.\SQLEXPRESS' -U 'sa' -P '*******' -Q "EXEC sp_BackupDatabases @databaseName='BonusPoint', @backupLocation='C:\DBBackup\', @backupType='F'"
Ich erhalte jedoch die folgende Fehlermeldung:
http://tinypic.com/view.php?pic=29za3gn&s=5
Die Datenbank befindet sich auf derselben Maschine und ich kann über SSMS eine Verbindung zur Datenbank herstellen.
BEARBEITEN:
Schließlich habe ich mit der folgenden Anweisung erfolgreich über sqlcmd eine Verbindung zur Datenbank hergestellt:
sqlcmd -Snp:\\.\pipe\MSSQL$SQLEXPRESS\sql\query
Antwort1
Das Problem bei Ihren ursprünglichen Versuchen besteht darin, dass Sie -S '.\SQLEXPRESS' verwendet haben, wo SQLCMD einfache Anführungszeichen nicht mag. Wenn Sie doppelte Anführungszeichen wie -S ".\SQLEXPRESS" verwendet hätten, hätte es wahrscheinlich funktioniert.