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

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

8 ответов

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

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

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

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

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

просто попытался это:

ч:>"C:Program файлыпрограммыMicrosoft SQL сервер 90 инструменты\Биннпрограммы sqlcmd.exe "- S".SQL2008" 1>

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

все еще не уверен, почему версия SQL Server 2008 программы SQLCMD не работает..

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

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

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

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

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

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

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

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

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

но недавно я добавил строку в файл хост для тестирования ( C:WindowsSystem32driversetchosts )

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

я получил подсказку из этой статьи (https://support.microsoft.com/en-gb/kb/896861) который говорит о узлов и шлейфовый.

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

Доброго дня!
Возникла проблема при добавлении роли WSUS на Windows Server 2012 R2, в качестве базы данных была выбрана "Внутренняя база данных Windows".
Следуя советам гугла, добавил в "Вход в качестве службы": NT SERVICEALL SERVICES, иначе роль на сервер тупо не добавляется.
Роль установилась успешно, требуется конфигурация после развертывания. И тут возникает ошибка с отсылом к файлу с логом. Содержание ошибки:

System.Data.SqlClient.SqlException (0x80131904): Не удалось выполнить вход. Имя входа принадлежит недоверенному домену и не может использоваться в проверке подлинности Windows.

  • Вопрос задан более трёх лет назад
  • 10198 просмотров

сказано же MS не используйте на DC 2012r2 роль wsus

База WID по умолчанию называется SUSDB.mdf и хранится в каталоге windir%widdata. Эта база поддерживает только Windows аутентификацию (но не SQL). Именем инстанса базы данных WSUS будет server_nameMicrosoft##WID.

В случае, установки роли WSUS и сервера БД на разных серверах, существует ряд ограничений:

Сервер БД WSUS не может быть контроллером домена
Сервер WSUS не может быть одновременно сервером терминалов Remote Desktop Services

На чем хранить БД WSUS?
Проверьте права на базу wsus.

Попробуйте перезапустить службу Windows Internal Database , и убедиться чтобы стартанула служба wsus.

System – Полный доступ;
Network Service – Полный доступ;
Администраторы – Полный доступ;
Пользователи – Чтение и выполнение.

System – Полный доступ;
Network Service – Полный доступ;
Администраторы WSUS – Полный доступ;
Администраторы – Полный доступ;
Пользователи – Чтение и выполнение.

Разрешения SMB:
Network Service – Полный доступ;Администраторы — Полный доступ; Администраторы WSUS — Полный доступ; Все — Чтение.

System – Полный доступ;
Network Service – Полный доступ;
Администраторы WSUS – Полный доступ;
Администраторы – Полный доступ;
Пользователи – Чтение и выполнение.

Разрешения SMB:
Network Service – Полный доступ; Администраторы — Полный доступ; Администраторы WSUS — Полный доступ; Все — Чтение.

Ну и как вариант удалить базу wsus, и накатить заново роль SUS.

при попытке подключиться к экземпляру SQL Server 2008 с помощью среды Management Studio, я получаю следующее сообщение об ошибке:

ошибка входа. Логин от ненадежный домен и не может быть использован с проверкой подлинности Windows. (Microsoft SQL Server, ошибка: 18452)

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

кто-нибудь есть ли опыт работы с этим?

Дополнительная Информация: 64-разрядная версия SQL издание для предприятий На Windows Server 2003 С

30 ответов:

еще одна причина, по которой это может произойти (только что случилось со мной) . срок действия пароля пользователя истекает. Я не понимал этого, пока не попытался удалиться на фактический сервер и не получил запрос на изменение пароля.

для меня это произошло, когда я редактировал пустой drivers/etc/hosts файл, и добавил запись для локального веб-сайта, но забыл добавить 127.0.0.1 localhost

проблема была вызвана неработающим сервером Active Directory, который, конечно же, не смог проверить подлинность учетной записи Windows. Спасибо за вашу помощь.

"проблема была вызвана неработающим сервером Active Directory, который, конечно же, не смог аутентифицировать учетную запись Windows"

Это не "Конечно-потому что если AD не доступен, то проверка подлинности Kerberos возвращается к NTLM (учетные данные учетной записи домена кэшируются локально, можно войти с ним, даже если AD/Kerberos не доступен). Я думаю, что у вас есть, возможно, 2 одновременных условия для этой неудачи:

  • SQL Сервер не является локальным (на другой машине)
  • доверие настроено "только Kerberos"

или другие специфические конфигурации сети/сервера/AD/машины обеспеченностью

для всех, кто сталкивается с этим, у меня было это в моем файле hosts:

и мне нужно, чтобы это было так:

У меня была эта проблема для экземпляра сервера на моей локальной машине и обнаружил, что это было потому, что я указывал на 127.0.0.1 с чем-то другим, чем "localhost" в моем файле hosts. Есть два способа исправить эту проблему в моем случае:

  1. очистите оскорбительную запись, указывающую на 127.0.0.1 в файле hosts
  2. используйте "localhost" вместо другого имени, которое в файле hosts указывает на 127.0.0.1

*Это работает только для меня, когда я бежал экземпляр sql server на моем локальном поле и пытается получить к нему доступ с той же машины.

убедитесь, что вы не подключены к VPN на другом доменеuser. Или, наоборот, убедитесь, что вы are подключен, если это то, что требуется.

попробуйте использовать другой логин С помощью команды RUNAS

для меня это было потому, что я не добавил учетную запись, чтобы иметь роли, которые я хотел использовать в самой базе данных SQL. А также из-за неудачных попыток ввода пароля через copy paste проблема блокировки учетной записи.

хорошо, полностью там ответ от меня. Я получал эту ошибку из среды разработки, размещенной на виртуальной машине VirtualBox. Три сервера; SharePoint, SQL DB и контроллер домена. Серверу SharePoint не удалось подключиться к базе данных конфигурации. Я все еще мог подключиться через ODBC для проверки подлинности Sql с помощью учетной записи SA, но не для проверки подлинности Windows. Но этот пользователь с радостью войдет в SSMS на самом sql server. Я получил лучшее сообщение об ошибке от ODBC тоже, а также проверка сообщений об ошибке входа в систему на sql server:

Не могу взять на себя ответственность за это, потому что я попросил одного из наших корпоративных системных администраторов о помощи, и он диагностировал его примерно за 5 минут, посмотрев на несколько снимков экрана, которые я ему отправил. проблема заключалась в том, что часы контроллера домена были установлены неправильно! не мог в это поверить. Серверы настроены только для хост-сети, поэтому у них нет интернета для синхронизации часов. Это также объясняет, почему откат к более раннему снимку, когда я знаю, что система работает, проблема не решена.

изменить: установка гостевых дополнений на сервере синхронизирует гостевые часы с хостом.

в драйвере jTDS с именем USENTLMV2 есть параметр, который по умолчанию имеет значение false. Установка этого значения в "true" в моем программном обеспечении db (DBVisualizer) решила эту проблему.

другой сценарий, где вы можете увидеть это, когда вы пытаетесь подключиться к другому SQL server из сеанса SSMS, который уже вошел в систему во время изменения пароля. Последовательность событий может идти что-то вроде:

  1. RDP на сервер-A (ваш SQL Server), откройте SSMS и войдите
  2. RDP на сервер-B в том же домене и изменить пароль
  3. возврат к сеансу RDP на сервере-A и через SSMS попытка добавить еще одну БД в существующую группу доступности AlwaysOn. При подключении к репликам вы получаете "ненадежный домен" -login-error

чтобы решить, просто выйти из системы и войти обратно в

Я пытался войти в SQL Server 2008 из учетной записи домена. SQL Server 2008 размещается на другом компьютере рабочей группы, который не является частью домена. Как бы странно это ни звучало, на сервере рабочей группы, где работает SQL Server 2008, мне пришлось перейти в Свойства системы | Имя компьютера (вкладка) | изменить (кнопка) | Изменить имя компьютера | больше. (кнопка) и введите "основной DNS-суффикс этого компьютера "(он был пустым, поэтому введите желаемый суффикс для вашей сети) и проверьте "сменить основной DNS-суффикс при смене членства в домене поле". Это позволило завершить процесс проверки подлинности Windows при входе в SQL Server 2008.

мне пришлось использовать netonly, чтобы заставить это работать на современных окнах:

runas /netonly /user:domainuser "C:Program Files (x86)Microsoft SQL Server0ToolsBinnManagementStudiossms.exe"

еще одна причина> кто-то изменил пароль для пользователя SQL по умолчанию

Это произошло со мной пару минут назад, переключившись на новый контроллер домена .

я исправил эту проблему на машине, отключив настройку проверки замыкания на себя:

  1. редактирование реестра Windows: Пуск — > Выполнить > Regedit
  2. перейдите к: HKLMSystemCurrentControlSetControlLSA
  3. добавить значение DWORD под названием "DisableLoopbackCheck"
  4. установите это значение в 1

может быть ввели в заблуждение об имени пользователя вы использовать локально. Это был мой случай в Windows 10 Home. Когда я смотрю на пользователей в Панели Управления, я вижу имя usrpc01. Однако когда я набираю net config workstation , похоже, что имя пользователя spc01. Похоже, кто-то переименовал пользователя, но внутреннее имя осталось неизменным.

не зная, как исправить имя пользователя Windows (и имя папки, под C:Users , что также относится к оригинальным внутреннее имя), я добавил новую учетную запись пользователя на сервере БД.

чтобы включить проверку подлинности windows, оба компьютера должны находиться в одном домене. для того, чтобы разрешить управление студиях для передачи текущих учетных данных и проверки подлинности в SQL-окне

для меня я должен отключить (изменить рабочую группу/домен) от домена и снова подключиться.

и еще одна возможная причина: В новой созданной локальной учетной записи на сервере БД был установлен флаг: "пользователь должен изменить пароль при следующем входе в систему".

вот что установил его для меня: Свойства сетевого подключения Нажмите на: "Internet Protocol Version 4 (TCT/IPv4)". Нажмите кнопку "Свойства". Нажмите кнопку "Дополнительно". Выберите вкладку "DNS". Удалите текст в разделе "DNS-суффикс для этого соединения".

Я также не смог удаленно подключиться к SQL server. И SQL server, и удаленный сервер, где в одном домене. И мне было предложено изменить пароль несколько дней назад. Перезапуск как SQL server, так и удаленного сервера, с которого я пытался получить доступ к SQL server, сделал для меня трюк.

в нашем случае это был тот факт, что разработчик запускал пул приложений под своей учетной записью и сбросил свой пароль, но забыл изменить его в пуле приложений. Да.

в моем случае, сервер был отключен на контроллере домена. Я вошел в компьютерное подразделение в Active directory, щелкнул правой кнопкой мыши на сервере, включил его, а затем сделал gpupdate /force с SQL server. Это заняло некоторое время, но в конце концов сработало.

в моем случае, в файле хоста, имя машины жестко закодировано с более старым IP. Я заменяю старый IP на новый, проблема решена.

хост расположение файла

модификации 159.ХХ.ХХ.ХХХ Имя_компьютера

ни один из выше работал для меня. Что я должен был сделать: В среде среда SQL Server Management Studio на экране входа в систему выберите функции >> В разделе Сеть измените сетевой протокол на именованные каналы.

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

мое исправление состояло в том, чтобы изменить веб.конфигурационный файл для корреляции с моим новым именем сервера для SQL-соединения (IT Security только что сделал переименование netdom в моем окне разработки.

у меня была неправильная запись в hosts-файл под C:WindowsSystem32driversetc

убедитесь, что запись, как показано ниже

Я использовал псевдоним для экземпляра SQL Server, который указывал на "127.0.0.1". Изменение его на "localhost" вместо этого сделал трюк.

Если ваш Sql Server работает на сервере, который не является частью домена, и в строке подключения вы используете полностью квалифицированное доменное имя (например xyz.mypc.com) при Integrated Security=True может потребоваться переключиться на использование IP-адреса, имени машины (SERVER01) или точки (.) в случае локально.

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