Я установил экземпляр SQLEXPRESS через установку SQL Server 2008 R2, добавил учетную запись безопасности со всеми ролями сервера, одна из которых называется sqluser.
Аутентификация сервера - это SQL Server и режим аутентификации Windows. Однако, когда я указываю свойство -S, вход в систему не выполняется.
Брандмауэр не включен, и SQL-сервер даже принимает соединения с удаленных хостов.
C:\Users\user>sqlcmd -U sqluser -P qwerty -Q "Select * FROM testdb.dbo.testtable"
Вывод:
integer
-------
1
2
3
4
(4 rows affected)
Однако при указании "localhost" запрос не выполняется ... Вопрос: почему?
C:\Users\user>sqlcmd -S localhost/sqlexpress -U cpt -P 1234 -Q "Select * FROM cpt.dbo.testme"
Вывод:
HResult 0x43, Level 16, State 1
Named Pipes Provider: Could not open a connection to SQL Server [67].
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : A network-related or in stance-specific error .....
Sqlcmd: Error: Microsoft SQL Server Native Client 10.0 : Login timeout expired.
Если кому-то интересно, замена localhost на% COMPUTERNAME - это тот же результат. Сервер работает как экземпляр LocalSystem.
Вам нужно указать ключ -S, чтобы указать имя экземпляра для sqlcmd, к которому нужно подключиться, и оно должно быть в формате «localhost \ sqlexpress» вместо «localhost / sqlexpress».