У меня на моей рабочей станции запущена служба Windows, которая является частью инструмента, поставляемого поставщиком, который подключается к базе данных. Ошибка не запускается. Я получаю 4 ошибки в журнале событий со следующим внутренним исключением:
Inner Exception
---------------
Type : System.Data.SqlClient.SqlException, System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
Message : 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)
Source : .Net SqlClient Data Provider
Help link :
Errors : System.Data.SqlClient.SqlErrorCollection
Class : 20
LineNumber : 0
Number : 53
Procedure :
Server :
State : 0
ErrorCode : -2146232060
Data : System.Collections.ListDictionaryInternal
TargetSite : Void OnError(System.Data.SqlClient.SqlException, Boolean)
Stack Trace : 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.Data.EntityClient.EntityConnection.OpenStoreConnectionIf(Boolean openCondition, DbConnection storeConnectionToOpen, DbConnection originalConnection, String exceptionCode, String attemptedOperation, Boolean& closeStoreConnectionOnFailure)
Конечно, главное примечание: (поставщик: поставщик именованных каналов, ошибка: 40 - не удалось открыть соединение с SQL Server)
Однако, если я сделаю runas /user:serviceuser cmd
Я могу подключиться к серверу через именованные каналы:
C:\Windows\system32>sqlcmd -S np:\\%%SERVER_NAME%%\pipe\sql\query
1> SELECT @@servername, db_name()
2> go
--------------------------------------------------------------------------------
------------------------------------------------ -------------------------------
--------------------------------------------------------------------------------
-----------------
SERVER_NAME
master
(1 rows affected)
Какие еще шаги по устранению неполадок я могу предпринять?
Проверьте вывод кольцевых буферов на наличие ошибок подключения, а также проверьте журнал ошибок, если вы видите сообщение об ошибке входа в систему. Проверьте логин, который использует инструмент, и посмотрите, можете ли вы войти в экземпляр SQL, используя тот же логин. Также узнайте имя сервера, которое они предоставляют, чтобы узнать, используют ли они псевдоним.