Собственный клиент Microsoft SQL Server 10.0 Истекло время ожидания входа в систему

У меня недавно установлен SQL Server 2008 R2 Express. Я пытаюсь запустить SQLCMD локально (обратите внимание, локально), но получаю сообщение об ошибке:

Поставщик именованных каналов: не удалось открыть соединение с SQL Server [2]
Sqlcmd: Ошибка: собственный клиент Microsoft SQL Serve 10.0: при установке соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром . Сервер не найден или недоступен. Проверьте, правильно ли указано имя экземпляра и настроен ли SQL Server на разрешение удаленных подключений. Дополнительные сведения см. В электронной документации по SQL Server.
Sqlcmd: Ошибка: собственный клиент Microsoft SQL Server 10.0: истекло время ожидания входа в систему.

Почему я не могу заставить его работать? Я уже все перепробовал.


person Xian Garcia    schedule 11.02.2013    source источник
comment
Сказать, что вы все перепробовали, не так уж и полезно. Нам нужно знать некоторые особенности, например: Является ли это экземпляром SQL Server по умолчанию? Как выглядит ваша строка подключения? и т. д. Ваша основная проблема в том, что вы вообще не определяете местонахождение сервера ...   -  person Paul Sasik    schedule 11.02.2013
comment
экземпляр сервера - SQLEXPRESS. Настроил TCPIP. Я проверил, что служба работает. Я запустил SQL BRowser. по-прежнему SQLCMD не работает.   -  person Xian Garcia    schedule 11.02.2013
comment
Как выглядит ваша строка подключения?   -  person Paul Sasik    schedule 11.02.2013
comment
Где я могу найти строку подключения? На данный момент я использую только SQLCMD. SSMS действительно может подключаться к службе sql, а SQLCMD - нет. Спасибо за ответ. Я просто открываю cmd и запускаю SQLCMD -e -s SERVERNAME (который является локальным) \ INSTANCENAME   -  person Xian Garcia    schedule 11.02.2013
comment
Хорошо, тогда. Как выглядит ваша командная строка SQLCMD? У него должны быть параметры подключения ...   -  person Paul Sasik    schedule 11.02.2013
comment
его SQLCMD -e -s ИМЯ СЕРВЕРА (которое является локальным) \ INSTANCENAME. На самом деле, даже если я попробую просто SQLCMD, он не работает, но на другом моем компьютере он работает   -  person Xian Garcia    schedule 11.02.2013
comment
Для вашего параметра -s попробуйте .\SQLEXPRESS, (localhost)\SQLEXPRESS или 127.0.0.1\SQLEXPRESS   -  person Paul Sasik    schedule 11.02.2013
comment
Тем не менее, я тоже пробовал это раньше. Я очень ценю вашу помощь.   -  person Xian Garcia    schedule 11.02.2013
comment
Все три итерации подключения пробовали?   -  person Paul Sasik    schedule 11.02.2013
comment
Да, я пробовал три. :( К сожалению, это действительно не работает   -  person Xian Garcia    schedule 11.02.2013
comment
Взгляните на эту статью очень внимательно. Это может помочь: msdn.microsoft.com/en-us/library/ms188247. aspx   -  person Paul Sasik    schedule 11.02.2013
comment
Мне удалось успешно подключиться с помощью sqlcmd -S tcp: 127.0.0.1,1691. Сейчас попробую подключиться удаленно, что мне с ним делать?   -  person Xian Garcia    schedule 11.02.2013
comment
Просто замените 127.0.0.1 (адрес обратной связи) реальным IP-адресом компьютера. Вы можете получить IP, запустив ipconfig. Вы также должны иметь возможность использовать имя компьютера, если ваш DNS работает правильно.   -  person Paul Sasik    schedule 11.02.2013
comment
И как мне перевести это в свое приложение и SSMS (для подключения к серверу). Прошу прощения, так как я новичок в настройке dbs, но я занимаюсь разработкой приложений несколько лет   -  person Xian Garcia    schedule 11.02.2013
comment
Как это: connectionstrings.com   -  person Paul Sasik    schedule 11.02.2013
comment
Спасибо за это, могу ли я также протестировать его с помощью SSMS?   -  person Xian Garcia    schedule 11.02.2013
comment
Так что он работал на моем другом компьютере, но не работал на другом компьютере   -  person Xian Garcia    schedule 11.02.2013
comment
теперь он снова не работает на том же компьютере, на котором работал раньше. я понятия не имею, что происходит .. :(   -  person Xian Garcia    schedule 11.02.2013
comment
Вам нужно поговорить со своими ИТ-специалистами / сетевиками о DNS, протоколах и прочем. Должно быть что-то меняться, софт не портится.   -  person Paul Sasik    schedule 11.02.2013


Ответы (6)


Я столкнулся с той же проблемой. Я использовал -S вместо -s и удалил "" перед и после имени сервера \ instance. После этого все прошло отлично.

person Mike Arney    schedule 04.03.2016

Возможно, это немного поздно, но для будущих читателей с проблемой: попробуйте запустить командную строку от имени администратора.

person Conor Macarthur    schedule 22.05.2014
comment
Хороший совет. Это должно быть выше. - person Frank Bailey; 15.07.2014

В свойствах именованных каналов просто измените путь на \\.\pipe\sql\query вместо пути по умолчанию.

person Mike.Nettle    schedule 24.09.2014

У меня было то же самое, что и со мной, когда клиент пытался настроить новый сервер SQL.

Откройте диспетчер конфигурации SQL-сервера на машине, на которой фактически УСТАНОВЛЕН SQL.

Посмотрите конфигурацию SQL Native Client 10.0. Под ним находятся клиентские протоколы. У вас, вероятно, ОТКЛЮЧЕНЫ TCP / IP и именованные каналы. Вам нужно ВКЛЮЧИТЬ их.

Образец здесь

person DRapp    schedule 11.02.2013
comment
В моем случае мне пришлось сделать это скорее в дереве конфигурации сети SQL Server, а также изменить путь на \\.\pipe\sql\query, как упоминалось в другом месте - person Savage; 31.03.2020

Кажется, это тоже происходит, когда сервер или экземпляр не могут быть найдены.

В конечном итоге он будет закрыт с указанием причины (первая часть ошибки может быть тем, что вас ввело в заблуждение):

Sqlcmd: Ошибка: ...: Истекло время ожидания входа в систему.

Sqlcmd: Ошибка: ...: при установке соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром. Сервер не найден или недоступен. Проверьте, правильно ли указано имя экземпляра и настроен ли SQL Server на разрешение удаленных подключений.

So:

  • Проверьте правильность имени сервера;
  • Проверьте правильность имени экземпляра (и если вы не хотели использовать экземпляр по умолчанию, попробуйте полностью удалить имя экземпляра);
  • Проверьте, можно ли связаться с сервером с помощью ping и т. Д.
person Patrick Hofman    schedule 22.02.2015

У меня была такая же проблема, причина в том, что sqlcmd при вводе без имени сервера пытается подключиться к серверу по умолчанию. Если вы назвали экземпляр, он не может подключиться к нему без указания имени экземпляра. Решение - сделать именованный экземпляр по умолчанию, изменив порт, как показано в этой ссылке: SQL Server, преобразовать именованный экземпляр в экземпляр по умолчанию?

person Kavitha    schedule 16.09.2016