SQL Server 2008 - Ошибка входа. Логин из ненадежного домена и не может использоваться с аутентификацией Windows - PullRequest
15 голосов
/ 13 мая 2009

Я только что установил SQL Server 2008 Developer Edition и пытаюсь подключиться с помощью SQLCMD.exe, но получаю следующую ошибку:

H:\>sqlcmd.exe -S ".\SQL2008"

Msg 18452, Level 14, State 1, Server DEVBOX\SQL2008, Line 1

Login failed. The login is from an untrusted domain and cannot be used with Windows authentication.

Экземпляр SQL Server настроен на использование SQL Server и режима аутентификации Windows. Если я укажу -U sa, я смогу успешно войти в систему, но я бы хотел использовать аутентификацию Windows. Соединение с использованием SSMS с аутентификацией Windows, кажется, работает нормально.

Ответы [ 8 ]

6 голосов
/ 16 марта 2010

У меня была эта проблема, и это потому, что машина, на которой запущено приложение, не является доверенной для делегирования в домене активным каталогом. Если это приложение .net, работающее под идентификатором пула приложений DOMAIN_application.environment, например ... удостоверение не может выполнять вызовы SQL, если машине не доверяют.

5 голосов
/ 13 мая 2009

Вы не передаете никакие учетные данные в sqlcmd.exe

Итак, он пытается аутентифицировать вас, используя учетные данные для входа в Windows, но у вас не должно быть настройки SQL Server для принятия этих учетных данных ...

Когда вы устанавливали его, вы должны были предоставить пароль администратора сервера (для учетной записи sa)

Try ...

sqlcmd.exe -U sa -P YOUR_PASSWORD -S ".\SQL2008"

для справки, theres более подробная информация здесь ...

3 голосов
/ 16 мая 2012

В моем случае эта ошибка была вызвана переименованием моей клиентской машины. Я использовал новое имя длиной более 13 символов (несмотря на предупреждение), в результате чего имя NETBIOS было усечено и отличалось от полного имени компьютера. Как только я переименовал клиента на более короткое имя, ошибка исчезла.

2 голосов
/ 13 мая 2009

Только что попробовал:

H:> "C: \ Program Files \ Microsoft SQL Server \ 90 \ Tools \ Binn \ sqlcmd.exe" -S ". \ SQL2008" 1>

и это работает .. (У меня есть каталог Microsoft SQL Server \ 100 \ Tools \ Binn в моем пути).

Все еще не уверен, почему версия SQLCMD для SQL Server 2008 не работает, хотя ..

1 голос
/ 13 мая 2009

Ваша ошибка буквально говорит о том, что «вы пытаетесь использовать аутентификацию Windows, но ваш логин не из доверенного домена». Что странно, потому что вы подключаетесь к локальной машине.

Возможно, вы вошли в Windows, используя локальную учетную запись, а не учетную запись домена? Убедитесь, что вы входите в систему с учетной записью домена, которая также является субъектом SQL Server в экземпляре SQL2008.

0 голосов
/ 16 июня 2016

Только что нашел эту тему и разместил альтернативный ответ (скопированный ниже) здесь: https://stackoverflow.com/a/37853766/1948625

В частности, по этому вопросу, если точка ".", используемая в значении -S командной строки, означает то же, что и 127.0.0.1, то это может быть той же проблемой, что и строка подключения другого вопроса. , Вместо этого используйте имя хоста или проверьте файл хостов.


Старый вопрос, и мои симптомы немного отличаются, но та же ошибка. Моя строка подключения была правильной (встроенная защита, и я не предоставляю user и pwd) с data source, установленным на 127.0.0.1. Он работал хорошо в течение многих лет.

Но недавно я добавил строку в файл статического хоста для целей тестирования (C:\Windows\System32\drivers\etc\hosts)

127.0.0.1           www.blablatestsite.com

Удаление этой строки и ошибка исчезла.

Я получил подсказку из этой статьи (https://support.microsoft.com/en-gb/kb/896861), в которой говорится об именах хостов и loopback.

Другое возможное исправление (если вам нужно сохранить эту строку в файле hosts) - это использовать имя хоста (например, MYSERVER01) вместо 127.0.0.1 в data source строки подключения.

0 голосов
/ 11 июня 2014

Я тоже получал эту ошибку, хотя моя проблема заключалась в том, что я продолжал переключаться между двумя корпоративными сетями через виртуальную машину с разными учетными данными доступа. Мне пришлось запустить командную строку:

ipconfig /renew

После этого мои проблемы с сетью были решены, и я снова смог подключиться к SQL.

0 голосов
/ 13 мая 2009

Вы указываете имя пользователя и пароль для входа в систему? Какова ваша полная командная строка?

Если вы работаете в своем собственном ящике, вы можете либо указать имя пользователя / пароль, либо использовать параметр -E для входа в систему с учетными данными Windows (если они разрешены при установке SQL-сервера).

Марк

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...