2010-01-29 3 views
2

Я не могу подключиться к базе данных SQL Server.Не удается подключиться к базе данных SQL Server

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

Когда я запускаю утилиту aspnet.regsql.exe, я получаю следующее сообщение об ошибке:

"Setup failed. 

Exception: 
Unable to connect to SQL Server database. 

---------------------------------------- 
Details of failure 
---------------------------------------- 

System.Web.HttpException: Unable to connect to SQL Server database. ---> System.Data.SqlClient.SqlException: A network-related or instance-specific error occurred while establishing a connection to SQL Server. The server was not found or was not accessible. Verify that the instance name is correct and that SQL Server is configured to allow remote connections. (provider: Named Pipes Provider, error: 40 - Could not open a connection to SQL Server) 
    at System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection) 
    at System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj) 
    at System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, SqlConnection owningObject) 
    at System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, Boolean ignoreSniOpenTimeout, Int64 timerExpire, SqlConnection owningObject) 
    at System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(String host, String newPassword, Boolean redirectedUserInstance, SqlConnection owningObject, SqlConnectionString connectionOptions, Int64 timerStart) 
    at System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(SqlConnection owningObject, SqlConnectionString connectionOptions, String newPassword, Boolean redirectedUserInstance) 
    at System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, Object providerInfo, String newPassword, SqlConnection owningObject, Boolean redirectedUserInstance) 
    at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection) 
    at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnection owningConnection, DbConnectionPool pool, DbConnectionOptions options) 
    at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject) 
    at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject) 
    at System.Data.ProviderBase.DbConnectionPool.GetConnection(DbConnection owningObject) 
    at System.Data.ProviderBase.DbConnectionFactory.GetConnection(DbConnection owningConnection) 
    at System.Data.ProviderBase.DbConnectionClosed.OpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory) 
    at System.Data.SqlClient.SqlConnection.Open() 
    at System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) 
    --- End of inner exception stack trace --- 
    at System.Web.Management.SqlServices.GetSqlConnection(String server, String user, String password, Boolean trusted, String connectionString) 
    at System.Web.Management.SqlServices.SetupApplicationServices(String server, String user, String password, Boolean trusted, String connectionString, String database, String dbFileName, SqlFeatures features, Boolean install) 
    at System.Web.Management.SqlServices.Install(String database, SqlFeatures features, String connectionString) 
    at System.Web.Management.ConfirmPanel.Execute()" 

Кроме того, я не могу использовать ASP.NET веб-сайта Adimistration Tool. Когда я нажимаю на вкладке Безопасность я получаю следующее сообщение об ошибке:

"There is a problem with your selected data store. This can be caused by an invalid server name or credentials, or by insufficient permission. It can also be caused by the role manager feature not being enabled. Click the button below to be redirected to a page where you can choose a new data store. 

The following message may help in diagnosing the problem: Unable to connect to SQL Server database." 

Итак, я нажимаю на «Выбрать Data Store» кнопку в соответствии с инструкциями, что позволяет мне выбрать поставщика. Поставщик называется «AspNetSqlProvider», у него есть тестовая ссылка рядом с ним. Я нажимаю «Тест» и получаю следующее сообщение об ошибке:

"Could not establish a connection to the database. 
If you have not yet created the SQL Server database, exit the Web Site Administration tool, use the aspnet_regsql command-line utility to create and configure the database, and then return to this tool to set the provider." 

Единственный другой вариант на этой странице - нажать «Назад».

Может кто-нибудь, пожалуйста, помогите мне разобраться? Прошло уже больше недели, и я искал ответы на высокие и низкие ответы и получил так много ссылок на сообщения, которые не помогли. Я был бы признателен за любую помощь.

Я попытался запустить инструмент «Конфигурация поверхности» и включить каналы, локальные/удаленные подключения, хотя это не имело никакого значения.

Я даже зашел так далеко, что полностью удалил Visual Web Developer и SQL Server 2005 и 2008 и удалил все следы, оставленные этими приложениями, а затем повторно загрузил их все и снова установил их снова.

Пока не повезло.

Пожалуйста, помогите Спасибо

Бейл

Edit:

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

РЕШЕНИЕ:

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

Удалось устранить все, что было не так, удалив SQL Server 2005 и 2008. И затем зарегистрировавшись, загрузив SQL Server Express Edition 2008 (с помощью средств управления) и установив их.

После установки был завершен, я закрыл Visual Web Developer, снова открыл ее, и нажал на вкладке Безопасность после открытия ASP.NET веб-сайта Administration Tool, и все только что «работал» с тех пор ...

ответ

1

Можете ли вы подключиться с помощью sqlcmd локально? Можете ли вы подключиться с помощью sqlcmd с удаленной машины?

Используете ли вы имя пользователя/пароль SQL или доверенную проверку подлинности Windows? Если последний, запустите CommandPrompt/Powershell как другой пользователь и посмотрите, можете ли вы подключиться.

Я предполагаю, что вы не добавили логины в SQL и что вы используете aspnet.regsql.exe без эскалации привилегий. Если он успешно запускается из командной строки, запускаемой как «Администратор», это полезный знак.

Существует ряд потенциальных проблем, но эскалированные привилегии - это то, что я часто вижу в эти дни. Лучше создать специальную учетную запись, предоставить соответствующий объем доступа к экземпляру SQL, а затем запустить командную строку в качестве этой учетной записи (с помощью щелчка правой кнопкой мыши, чтобы получить старую опцию «Запуск от имени»).

+0

Я не могу подключиться к sqlcmd локально или удаленно. Я использую проверку подлинности Windows. Я не могу изменить этот параметр, потому что он не будет подключен и т. Д. Я запускаю aspnet_regsql с полномочиями администратора. Я просто righr-clicked и выбрал запуск как admin (хотя я уже работал как admin), и выполнил шаги и получил то же самое сообщение об ошибке. –

+0

Можете ли вы подключиться с помощью SQL Server Management Studio (работает под управлением администратора)? Если да, проверьте, что такое имя экземпляра - это ваш сервер или это ваш сервер \ SomeInstanceName? Вам нужно будет убедиться, что вы указали его правильно. –

+0

Теперь я загружаю SQL Server Management Studio. Спасибо за это. –

Смежные вопросы