Исключение SqlException не было обработано: не удалось войти в систему для пользователя 'sa':

Я пытаюсь удаленно подключиться к SQL Server 2008 Express в Visual Studio 2010, но получаю исключение: SqlException was unhandled: Login failed for user 'sa', несмотря на ввод правильного имени пользователя и пароля.

Ниже приведен пример файла app.cofig в форме Windows, который пытается подключиться к экспресс-серверу sql:

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
    <configSections>
 </configSections>
 <connectionStrings>
  <add name="Prod" connectionString="Network Library=DBMSSOCN;Data Source= 192.100.100.199\SQLEXPRESS;Initial Catalog = inventory;User Id=sa;Password = Pass;MultipleActiveResultSets = True"
   providerName="System.Data.SqlClient" />
</connectionStrings>
</configuration>

Может ли кто-нибудь сказать мне, как я могу решить эту проблему?


person Dusk    schedule 27.07.2011    source источник
comment
Вы можете войти в эту базу данных со своего компьютера с помощью Enterprise Manager?   -  person Daniel Hilgarth    schedule 27.07.2011
comment
Я могу успешно удаленно войти в Sql Express, используя студию управления sql   -  person Dusk    schedule 27.07.2011
comment
Какой режим аутентификации используется, различаются ли они, имеет ли значение смешанный режим (потому что для Windows я думаю, что sa будет отключен)   -  person V4Vendetta    schedule 27.07.2011
comment
Я действительно надеюсь, что вы просто проверяете sa, чтобы подтвердить подключение, и не планируете постоянно использовать эту учетную запись в своем приложении.   -  person Damien_The_Unbeliever    schedule 27.07.2011
comment
Он уже был в смешанном режиме аутентификации. Я удаленно подключился к SQL Express в студии Mangement, используя то же имя пользователя и пароль, которые указаны в приведенной выше строке подключения.   -  person Dusk    schedule 27.07.2011
comment
Вы получаете какое-либо состояние ошибки или код? есть что добавить к login failed for user sa ?   -  person V4Vendetta    schedule 27.07.2011


Ответы (3)


«Смешанная проверка подлинности» не включена по умолчанию при установке SQL Server. Проверьте это в SQL Server Management Studio Express — щелкните правой кнопкой мыши узел сервера, откройте свойства, перейдите в раздел «Безопасность», включите «Режим проверки подлинности SQL Server и Windows».

person dkl    schedule 27.07.2011

Создайте логин для пользователя sa с помощью студии управления Sql. Если логин уже создан, то проверяются роли сервера как общедоступные и права системного администратора.

person mehul9595    schedule 27.07.2011
comment
Я подозреваю, что, несмотря на ввод правильного имени пользователя и пароля, мы можем предположить, что учетная запись по крайней мере существует. - person Marc Gravell; 27.07.2011
comment
@Marc Gravell, о да, ты прав, позже проверил комментарии. может быть роли сервера разные. - person mehul9595; 27.07.2011
comment
Роль сервера уже по умолчанию отмечена как sysadmin и public - person Dusk; 27.07.2011

Как упоминалось ранее в dkl, вам необходимо убедиться, что на вашей службе сервера Sql установлен режим смешанной аутентификации.

Когда вы выбираете смешанный режим аутентификации во время установки сервера sql, программа установки предлагает вам ввести пароль. Это пароль, который SS использует для входа в систему sa.

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

person Raghu    schedule 27.07.2011