При установлении соединения с SQL Server произошла ошибка, связанная с сетью или конкретным экземпляром
Я развернул мое веб-приложение asp.net на somee.com, всякий раз, когда я вхожу на этот сайт (ipc.somee.com), он дает мне связанную с сетью ошибку, например:
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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.
Exception Details: 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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)
Source Error:
An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below.
Stack Trace:
[SqlException (0x80131904): 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: SQL Network Interfaces, error: 26 - Error Locating Server/Instance Specified)]
System.Data.SqlClient.SqlInternalConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction) +5296071
System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose) +558
System.Data.SqlClient.TdsParser.Connect(ServerInfo serverInfo, SqlInternalConnectionTds connHandler, Boolean ignoreSniOpenTimeout, Int64 timerExpire, Boolean encrypt, Boolean trustServerCert, Boolean integratedSecurity, Boolean withFailover) +5308555
System.Data.SqlClient.SqlInternalConnectionTds.AttemptOneLogin(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean ignoreSniOpenTimeout, TimeoutTimer timeout, Boolean withFailover) +145
System.Data.SqlClient.SqlInternalConnectionTds.LoginNoFailover(ServerInfo serverInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString connectionOptions, SqlCredential credential, TimeoutTimer timeout) +920
System.Data.SqlClient.SqlInternalConnectionTds.OpenLoginEnlist(TimeoutTimer timeout, SqlConnectionString connectionOptions, SqlCredential credential, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance) +307
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions) +434
System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions) +5311099
System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions) +37
System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnectionOptions userOptions) +558
System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnectionOptions userOptions) +67
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection) +1052
System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +78
System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection) +167
System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions) +143
System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry) +83
System.Data.SqlClient.SqlConnection.Open() +96
Default.log(Object sender, EventArgs e) in c:\users\sreekanth\documents\visual studio 2010\Projects\IPCWebApp\IPCWebApp\Default.aspx.cs:43
System.Web.UI.WebControls.ImageButton.OnClick(ImageClickEventArgs e) +115
System.Web.UI.WebControls.ImageButton.RaisePostBackEvent(String eventArgument) +124
System.Web.UI.WebControls.ImageButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +35
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1724
Ответы
Ответ 1
Сервер Sql запускает эту ошибку, когда ваше приложение не имеет достаточных прав для доступа к базе данных. есть несколько причин об этой ошибке. Чтобы исправить эту ошибку, вы должны следовать следующей инструкции.
-
Попробуйте подключиться к серверу sql с вашего сервера с помощью студии управления. если вы используете аутентификацию Windows для подключения SQL-сервера, то установите идентификатор пула приложений для администратора сервера.
-
если вы используете аутентификацию SQL-сервера, а затем проверьте строку подключения в web.config вашего веб-приложения и задайте идентификатор пользователя и пароль сервера sql, который позволяет вам войти в систему.
-
если ваша база данных на другом сервере (доступ к удаленной базе данных), а затем сначала разрешить удаленный доступ к sql-серверу из свойства sql server из студии управления сервером sql и включить диспетчер конфигурации sql-сервера формы TCP/IP.
-
после выполнения всех этих действий, и вы по-прежнему не можете получить доступ к базе данных, а затем проверить брандмауэр формы сервера, где вы пытаетесь получить доступ к базе данных, и добавить одно правило в брандмауэр, чтобы включить порт сервера sql (по умолчанию sql сервер использовать 1433, чтобы проверить порт сервера sql, вам необходимо проверить TCP/IP-порт конфигурационного менеджера SQL Server.
-
если ваш сервер sql запущен на именованном экземпляре, тогда вам нужно написать номер порта с именем sql serer, например 117.312.21.21/nameofsqlserver,1433.
-
Если вы используете облачный хостинг, такой как amazon aws или microsoft azure, тогда сервер или экземпляр будут работать за облачным брандмауэром, поэтому вам нужно включить порт 1433 в облачный брандмауэр, если у вас есть экземпляр по умолчанию или определенный порт для SQL Server для имени пример.
-
Если вы используете amazon RDS или SQL azure, вам необходимо включить порт из группы безопасности этого экземпляра.
-
Если вы обращаетесь к серверу sql через режим проверки подлинности в SQL Server, убедитесь, что вы включили свойство экземпляра SQL Server и Windows Authentication Mode.
![введите описание изображения здесь]()
- Перезапустите экземпляр сервера sql после внесения каких-либо изменений в свойство, так как некоторые изменения потребуют перезагрузки.
если вы столкнулись с какими-либо трудностями, вам необходимо предоставить дополнительную информацию о вашем веб-сайте и сервере sql.