Назад | Перейти на главную страницу

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

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

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

Я получаю сообщение об ошибке: Не удалось войти в систему для пользователя sa.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Что нужно проверить

Пароль от учетной записи SA

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

Учетная запись SA отключена?

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

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

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

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

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

Если вы устанавливаете 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;

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

JR

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

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

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

EXEC sp_defaultdb 'sa', 'New default database'

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

Войдите в базу данных с проверкой подлинности Windows.

Выполнить запрос:

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

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

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

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