O problema com suas tentativas originais é que você tinha -S '. \ SQLEXPRESS', onde o SQLCMD não gosta das aspas simples. Se você usasse aspas duplas, como -S ". \ SQLEXPRESS", provavelmente funcionaria.
Eu quero agendar um backup para meu banco de dados para o SQL 2008 express. Eu encontrei um bom procedimento armazenado para este trabalho. Eu fiz um arquivo bat para ele e quero executá-lo, mas a seguinte instrução sqlcmd falha:
sqlcmd -S '.\SQLEXPRESS' -Q "EXEC sp_BackupDatabases @databaseName='BonusPoint', @backupLocation='C:\DBBackup\', @backupType='F'"
Eu também tentei com o nome de usuário e a senha:
sqlcmd -S '.\SQLEXPRESS' -U 'sa' -P '*******' -Q "EXEC sp_BackupDatabases @databaseName='BonusPoint', @backupLocation='C:\DBBackup\', @backupType='F'"
Mas estou recebendo o seguinte erro:
O banco de dados está na mesma máquina e eu posso conectar ao banco de dados via SSMS.
EDITAR:
Finalmente conectei-me com sucesso ao banco de dados via sqlcmd com a seguinte declaração:
sqlcmd -Snp:\.\pipe\MSSQL$SQLEXPRESS\sql\query
Tags sql-server