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

<p>я пытаюсь войти в экземпляр sql server 2005 express, используя следующую команду:</p><pre><code>osql -s .\instance -u sa -p password </code></pre><p>я получаю ошибку: <em>ошибка входа пользователя 'sa'.</em></p><p>я могу просто подключиться с помощью ключа -e. я должен добавить, что это работает в течение нескольких месяцев. я думаю, что кто-то что-то изменил, но я не могу понять, что это такое.</p><p>вот что я попробовал:</p><ul> <li> <p>войдите в систему, используя аутентификацию windows и изменив пароль sa:</p> <p>sp\_password null, новый пароль, 'sa'</p> </li> <li> <p>включение входа 'sa':</p> <p>alter login sa enable; go alter login sa with password = 'новый пароль'; идти</p> </li> <li> <p>проверил реестр windows, чтобы убедиться, что <em>смешанная аутентификация</em> включена. значение было правильным: <em>loginmode = 2</em></p> </li> </ul><p>что еще я должен проверить? заранее спасибо.</p><p>дополнительная информация:</p><p>это windows 2003 server. у них включены некоторые политики паролей, я помню, что мне нужно было изменить пароль по умолчанию 'sa', который мое приложение использует при установке sql server, на другой, более сложный.</p><p>я подключаюсь с помощью vnc, поэтому я не могу использовать ssms</p><p>мое приложение может подключиться с использованием другого имени входа sql server, но без 'sa'</p><p>наконец, если мы не найдем решение, я удалю этот экземпляр и установлю его снова, но мне бы очень хотелось выяснить, в чем проблема. на всякий случай, если это случится снова и просто ради любопытства.</p>

<p>хорошо, я смог выяснить, что происходит (вроде) и получил обходной путь.</p><p>кажется, неделю назад они <em> играли </em> с политикой безопасности windows. они добавляли/удаляли разрешения, но они не могут дать мне именно то, что они сделали, потому что они действительно не знали (ой!).</p><p>во всяком случае, я подключился с использованием проверки подлинности windows (ключ -e) и запустил следующий запрос:</p><pre><code>alter login [sa] with password='newpassword', check\_policy=off go alter login [sa] enable go </code></pre><p>ключ здесь <strong>check\_policy = off</strong>. это сделало трюк. я надеюсь, что это сделает 's' невосприимчивым к будущим изменениям в настройке их домена.</p><p>спасибо за все ваши предложения.</p>

<p>как сказал @spacemanspiff, не забудьте проверить, включен ли смешанный режим. кто-то изменил эту настройку для меня, и у меня возникла та же проблема. вот как это решить:</p><ol> <li>войдите в mssql server management studio с аутентификацией windows.</li> <li>в обозревателе объектов sql server management studio щелкните правой кнопкой мыши сервер и выберите пункт свойства.</li> <li>в разделе "свойства сервера" выберите страницу "безопасность".</li> <li>выберите "проверка подлинности сервера" как "режим проверки подлинности sql server и windows" и нажмите "ок". <img src="https://i.stack.imgur.com/yiyyp.jpg" alt="mssql server management database properties"></li> <li>перезапустите службы sql, а затем попробуйте войти с подробностями 'sa'.</li> </ol><p>источник: <a href="http://forums.eukhost.com/f15/login-failed-user-sa-microsoft-sql-server-error-18456-a-12544/">http://forums.eukhost.com/f15/login-failed-user-sa-microsoft-sql-server-error-18456-a-12544/</a> </p>

<p>вещи, чтобы проверить</p><p>пароль на sa аккаунт</p><p>смешанный режим включен</p><p>аккаунт sa отключен?</p><p>создайте еще одну учетную запись sql и попробуйте ее (поскольку вы можете войти с помощью -e, вы сможете это сделать)</p><p>протестируйте с помощью odbc соединения, вы можете создать это соединение, чтобы увидеть, работает ли sa)</p><p>да, и всегда ловит все в windows, перезагружается (серьезно, это помогает моему тестовому серверу sql после того, как я что-то сделал с ним)</p>

<p>у меня была эта проблема несколько лет назад после установки windows servicepack (без обновления sqlserver, кроме windows), sqlserver отказывался от подключений, пока также не был установлен sqlserver servicepack! я нашел сообщение в журнале событий через несколько часов.</p><p>я думаю, что они сделали это, потому что они знали, что существует большая дыра в безопасности, и хотели заставить всех администраторов установить пакет. однако, так как это было некоторое время назад, я не знаю точных версий и так далее. я бы порекомендовал вам дважды проверить журнал событий и установить все/самые новые сервисные пакеты.</p>

<p>если вы устанавливаете sql express 2014, вам придется сделать несколько вещей, чтобы устранить эту ошибку, если вы попытаетесь войти в систему с учетной записью [sa].</p><ol> <li> <p>учетная запись "sa" станет отключенной. поэтому вам необходимо переключить учетную запись с отключенной на включенную в разделе статуса учетной записи.</p> </li> <li> <p>на сервере должна быть включена аутентификация windows и sql server. по умолчанию включена только проверка подлинности windows.</p> </li> <li> <p>сбросить пароль (см. код ниже; в serverfault есть ошибка, из-за которой код не отображается при использовании упорядоченного списка по состоянию на 8.06.2016)</p> </li> <li> <p>перезапустите службу windows для sql server.</p> </li> </ol><p>=========</p><pre><code>alter login sa with password='password', check\_policy=off; alter login [sa] enable; </code></pre>

<p>я решил это следующим образом войти в систему с вашей аутентификацией windows перейти к свойствам сервера >> безопасность и изменить аутентификацию сервера</p>

<p>иногда вход в систему отключен из-за множества неправильных паролей или любого нарушения политики. итак, что мы можем сделать, это просто войти в систему с аутентификацией окна, изменить пароль и снова включить авторизацию.</p><p>войдите в базу данных с аутентификацией windows</p><p>запустить запрос:</p><pre><code>alter login [sa] with password='newpassword', check\_policy=off go alter login [sa] enable go </code></pre><p>использование check\_policy является обязательным, поскольку оно указывает, что политики паролей windows на компьютере, на котором работает sql server, должны применяться при этом входе в систему. по умолчанию установлено значение "вкл.", когда мы отключаем его, пароль будет изменен без каких-либо затруднений. позже вы можете on</p><p>примечание. что я заметил, когда check\_policy включен в gui ssme, решения по смене пароля не будут работать каждый раз. я не причина, но это я заметил.</p>

<p>если у вас установлена management studio или management studio express, можете ли вы подключить management studio к экземпляру с помощью sa?</p><p>jr</p>

<p>удалось ли вам перезапустить службу sql server после внесения изменений в реестр?</p>

<p>кто-то удалил базу данных, которая была <strong>база данных по умолчанию</strong> для "sa"?</p><p>если это проблема, попробуйте</p><pre><code>exec sp\_defaultdb 'sa', 'new default database' </code></pre>