Не удается подключиться к SQLExpress - PullRequest
0 голосов
/ 22 августа 2018

Моему приложению C # не удается подключиться к моему экземпляру SQLServerExpress.

Запуск приложения с использованием localhost\SQLExpress или <servername>\SQLExpress в строке подключения работает локально на сервере, но не с других хостов в сети.

  • Я уже добавил правило брандмауэра для порта 1433.
  • AllowRemoteConnection установлен на true.

Я все еще получаю SqlException поговорку:

System.Data.SqlClient.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.
System.Data.SqlClient.SqlInternalConnectionTds..ctor(DbConnectionPoolIdentity identity, SqlConnectionString connectionOptions, SqlCredential credential, Object providerInfo, String newPassword, SecureString newSecurePassword, Boolean redirectedUserInstance, SqlConnectionString userConnectionOptions, SessionData reconnectSessionData, DbConnectionPool pool, String accessToken, Boolean applyTransientFaultHandling)
   at System.Data.SqlClient.SqlConnectionFactory.CreateConnection(DbConnectionOptions options, DbConnectionPoolKey poolKey, Object poolGroupProviderInfo, DbConnectionPool pool, DbConnection owningConnection, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionFactory.CreatePooledConnection(DbConnectionPool pool, DbConnection owningObject, DbConnectionOptions options, DbConnectionPoolKey poolKey, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionPool.CreateObject(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at System.Data.ProviderBase.DbConnectionPool.UserCreateRequest(DbConnection owningObject, DbConnectionOptions userOptions, DbConnectionInternal oldConnection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, UInt32 waitForMultipleObjectsTimeout, Boolean allowCreate, Boolean onlyOneCheckConnection, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionPool.TryGetConnection(DbConnection owningObject, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionFactory.TryGetConnection(DbConnection owningConnection, TaskCompletionSource`1 retry, DbConnectionOptions userOptions, DbConnectionInternal oldConnection, DbConnectionInternal& connection)
   at System.Data.ProviderBase.DbConnectionInternal.TryOpenConnectionInternal(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.ProviderBase.DbConnectionClosed.TryOpenConnection(DbConnection outerConnection, DbConnectionFactory connectionFactory, TaskCompletionSource`1 retry, DbConnectionOptions userOptions)
   at System.Data.SqlClient.SqlConnection.TryOpenInner(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.TryOpen(TaskCompletionSource`1 retry)
   at System.Data.SqlClient.SqlConnection.Open()

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

Обновление № 1:

PS C:\Windows\system32> Get-Process -Name sqlservr 
                        | Select-Object -ExpandProperty ID 
                        | ForEach-Object {Get-NetTCPConnection -OwningProcess $_ -state LISTEN 
                        | select LocalAddress, LocalPort, RemoteAddress, RemotePort, State}


LocalAddress  : ::
LocalPort     : 58956
RemoteAddress : ::
RemotePort    : 0
State         : Listen

LocalAddress  : ::
LocalPort     : 1433
RemoteAddress : ::
RemotePort    : 0
State         : Listen

LocalAddress  : 0.0.0.0
LocalPort     : 58956
RemoteAddress : 0.0.0.0
RemotePort    : 0
State         : Listen

LocalAddress  : 0.0.0.0
LocalPort     : 1433
RemoteAddress : 0.0.0.0
RemotePort    : 0
State         : Listen

1 Ответ

0 голосов
/ 29 августа 2018

Попробуйте это:

  1. Перейти к диспетчеру конфигурации сервера SQL (Win + R => SQLServerManager10.msc или SQLServerManager.msc)

  2. Нажмите SQL Network Services и перейдите к соответствующему Серверу.

  3. Включить протокол TCP / IP для IP-адресов Conn (или) Именованные каналы для именованных соединений (с использованием имени сервера)

  4. Перезапустите SQL Server и проверьте

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...