it-swarm-ru.tech

Не могу подключиться к SQL Server, используя учетную запись 'sa', чего мне не хватает?

Я пытаюсь войти в экземпляр SQL Server 2005 Express, используя следующую команду:

osql -S .\INSTANCE -U sa -P password

Я получаю ошибку: Ошибка входа пользователя 'sa'.

Я могу просто подключиться с помощью ключа -E. Я должен добавить, что это работает в течение нескольких месяцев. Я думаю, что кто-то что-то изменил, но я не могу понять, что это такое.

Вот что я попробовал:

  • Войдите в систему, используя аутентификацию Windows и изменив пароль sa:

    sp_password NULL, новый пароль, 'sa'

  • Включение входа 'sa':

    ALTER LOGIN sa ENABLE; GO ALTER LOGIN sa WITH PASSWORD = 'новый пароль'; ИДТИ

  • Проверил реестр Windows, чтобы убедиться, что смешанная аутентификация включена. Значение было правильным: LoginMode = 2

Что еще я должен проверить? Заранее спасибо.

ДОПОЛНИТЕЛЬНАЯ ИНФОРМАЦИЯ:

Это Windows 2003 Server. У них включены некоторые политики паролей, я помню, что мне нужно было изменить пароль по умолчанию 'sa', который мое приложение использует при установке SQL Server, на другой, более сложный.

Я подключаюсь с помощью VNC, поэтому я не могу использовать SSMS

Мое приложение может подключиться с использованием другого имени входа SQL Server, но без 'sa'

Наконец, если мы не найдем решение, я удалю этот экземпляр и установлю его снова, но мне бы очень хотелось выяснить, в чем проблема. На всякий случай, если это случится снова и просто ради любопытства.

20
JAG

Хорошо, я смог выяснить, что происходит (вроде) и получил обходной путь.

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

Во всяком случае, я подключился с использованием проверки подлинности Windows (ключ -E) и запустил следующий запрос:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF
GO
ALTER LOGIN [sa] ENABLE
GO

Ключ здесь CHECK_POLICY = OFF. Это сделало трюк. Я надеюсь, что это сделает 's' невосприимчивым к будущим изменениям в настройке их домена.

Спасибо за все ваши предложения.

12
JAG

Как сказал @SpaceManSpiff, не забудьте проверить, включен ли смешанный режим. Кто-то изменил эту настройку для меня, и у меня возникла та же проблема. Вот как это решить:

  1. Войдите в MSSQL Server Management Studio с аутентификацией Windows.
  2. В обозревателе объектов SQL Server Management Studio щелкните правой кнопкой мыши сервер и выберите пункт Свойства.
  3. В разделе "Свойства сервера" выберите страницу "Безопасность".
  4. Выберите "Проверка подлинности сервера" как "Режим проверки подлинности SQL Server и Windows" и нажмите "ОК". MSSQL Server Management Database properties
  5. Перезапустите службы SQL, а затем попробуйте войти с подробностями 'sa'.

Источник: http://forums.eukhost.com/f15/login-failed-user-sa-Microsoft-sql-server-error-18456-a-12544/

24
emmanuel

Вещи, чтобы проверить

Пароль на SA аккаунт

Смешанный режим включен

Аккаунт SA отключен?

Создайте еще одну учетную запись SQL и попробуйте ее (поскольку вы можете войти с помощью -E, вы сможете это сделать)

Протестируйте с помощью ODBC соединения, вы можете создать это соединение, чтобы увидеть, работает ли SA)

Да, и всегда ловит все в Windows, перезагружается (серьезно, это помогает моему тестовому серверу SQL после того, как я что-то сделал с ним)

6
SpaceManSpiff

У меня была эта проблема несколько лет назад после установки Windows ServicePack (без обновления SQLServer, кроме Windows), SQLServer отказывался от подключений, пока также не был установлен SQLServer ServicePack! Я нашел сообщение в журнале событий через несколько часов.

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

1
Tim Büthe

Если вы устанавливаете SQL Express 2014, вам придется сделать несколько вещей, чтобы устранить эту ошибку, если вы попытаетесь войти в систему с учетной записью [sa].

  1. Учетная запись "sa" станет отключенной. Поэтому вам необходимо переключить учетную запись с отключенной на включенную в разделе статуса учетной записи.

  2. На сервере должна быть включена аутентификация windows и sql server. По умолчанию включена только проверка подлинности Windows.

  3. Сбросить пароль (см. код ниже; в ServerFault есть ошибка, из-за которой код не отображается при использовании упорядоченного списка по состоянию на 8.06.2016)

  4. Перезапустите службу Windows для SQL Server.

=========

ALTER LOGIN sa WITH PASSWORD='password', CHECK_POLICY=OFF;
ALTER LOGIN [sa] ENABLE;
1
MacGyver

я решил это следующим образом войти в систему с вашей аутентификацией Windows Перейти к свойствам сервера >> Безопасность и изменить аутентификацию сервера

0
Preet Inder Singh

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

Войдите в базу данных с аутентификацией Windows

Запустить запрос:

ALTER LOGIN [sa] WITH PASSWORD='newpassword', CHECK_POLICY=OFF 
GO
ALTER LOGIN [sa] ENABLE
GO

Использование CHECK_POLICY является обязательным, поскольку оно указывает, что политики паролей Windows на компьютере, на котором работает SQL Server, должны применяться при этом входе в систему. По умолчанию установлено значение "ВКЛ.", Когда мы отключаем его, пароль будет изменен без каких-либо затруднений. Позже вы можете ON

ПРИМЕЧАНИЕ. Что я заметил, когда CHECK_POLICY включен в GUI SSME, решения по смене пароля не будут работать каждый раз. Я не причина, но это я заметил.

0
jay patel

Если у вас установлена ​​Management Studio или Management Studio Express, можете ли вы подключить Management Studio к экземпляру с помощью sa?

JR

0
John Rennie

Удалось ли вам перезапустить службу SQL Server после внесения изменений в реестр?

0
David Spillett

Кто-то удалил базу данных, которая была база данных по умолчанию для "sa"?

Если это проблема, попробуйте

EXEC sp_defaultdb 'sa', 'New default database'
0
splattne