Я хочу запланировать резервное копирование моей базы данных для SQL 2008 Express. Я нашел хорошую хранимую процедуру для этого задания. Я создал для нее bat-файл и хочу запустить его, но следующий оператор sqlcmd не выполняется:
sqlcmd -S '.\SQLEXPRESS' -Q "EXEC sp_BackupDatabases @databaseName='BonusPoint', @backupLocation='C:\DBBackup\', @backupType='F'"
Я также попробовал с именем пользователя и паролем:
sqlcmd -S '.\SQLEXPRESS' -U 'sa' -P '*******' -Q "EXEC sp_BackupDatabases @databaseName='BonusPoint', @backupLocation='C:\DBBackup\', @backupType='F'"
Но я получаю следующую ошибку:
http://tinypic.com/view.php?pic=29za3gn&s=5
База данных находится на том же компьютере, и я могу подключиться к ней через SSMS.
РЕДАКТИРОВАТЬ:
Наконец я успешно подключился к базе данных через sqlcmd с помощью следующего оператора:
sqlcmd -Snp:\\.\pipe\MSSQL$SQLEXPRESS\sql\query
решение1
Проблема с вашими первоначальными попытками заключается в том, что у вас было -S '.\SQLEXPRESS', тогда как SQLCMD не любит одинарные кавычки. Если бы вы использовали двойные кавычки, например -S ".\SQLEXPRESS", это, скорее всего, сработало бы.