Я получаю следующую ошибку, когда я пытаюсь соединиться с TCP/IP от Studio управления SQL Server. Мне нужно пошаговое описание для решения моей проблемы. Что случилось здесь?
Cannot connect to
===================================
A network related or instance specific error when a connection to SQL Server...
(provider: Named pipe-provider, error: 40 - SQL Server)
(.Net SqlClient Data Provider)
------------------------------
For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&EvtSrc=MSSQLServer&EvtID=53&LinkId=20476
------------------------------
Error Number: 53
Severity: 20
State: 0
------------------------------
Program Location:
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.CreateNonPooledConnection(DbConnection owningConnection, DbConnectionPoolGroup poolGroup)
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 Microsoft.SqlServer.Management.UI.VSIntegration.ObjectExplorer.ObjectExplorer.ValidateConnection(UIConnectionInfo ci, IServerType server)
at Microsoft.SqlServer.Management.UI.ConnectionDlg.Connector.ConnectionThreadUser()
Вы на 200% уверены, что ваш сервер настроен на прием соединений через TCP / IP?
. Следуйте этому:
Старт - > Программы -> Microsoft SQL Server 2008 -> Инструменты конфигурации -> Диспетчер конфигурации SQL Server
Конфигурация сети SQL Server -> Протоколы для [ SQLInstanceName]
Щелкните правой кнопкой мыши TCP / IP -> Включить
Что вы видите при проверке конфигурации сети SQL Server ( Меню «Пуск»> Microsoft SQL Server> Инструменты конфигурации> Диспетчер конфигурации SQL Server> Конфигурация сети SQL Server
)?
Является ли TCP / IP-протокол действительно включен на вашем сервере? По умолчанию он выключен и в большинстве случаев остается выключенным (если вы специально не включаете его).
Использование IP-адреса сервера не означает, что вы подключаетесь по протоколу TCP / IP .... проверьте http://www.connectionstrings.com/sql-server-2008 для примера строки подключения, которая будет использовать TCP / IP:
Data Source=190.190.200.100,1433;Network Library=DBMSSOCN;Initial Catalog=myDataBase;User ID=myUsername;Password=myPassword;
Ключ - это Network Library = DBMSSOCN;
, которая сообщает вашему коду подключаться с использованием TCP / IP.
Если TCP / IP уже включен, похоже, ваш брандмауэр блокирует соединение. Откройте соответствующие порты, и он должен работать.
Вы должны проверить брандмауэр на обоих концах соединения.
Посетите www.connectionstrings.com. Сообщение об ошибке выглядит так, будто вы используете именованные каналы, а не tcp / ip. Не забывайте, что вы должны явно включить TCP / IP на серверных машинах для SQL Server.