Подтвердить что ты не робот

Ошибка подключения SQL Server 2008 "Нет процесса на другом конце трубы"

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

Решения, размещенные там, не относятся к моей проблеме. Я потратил 5 часов, пытаясь решить эту проблему, прежде чем решить вопрос.

Проблема: Когда я пытаюсь войти в SSMS (или подключиться из приложения Java), используя SQL Authentication, я получаю эту ошибку:

Соединение с сервером было успешно установлено, но затем ошибка произошла во время процесса входа в систему. (поставщик: общая память Поставщик, ошибка: 0 - никакой процесс не находится на другом конце трубы.) (Microsoft SQL Server, ошибка: 233)

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

NAMED PIPES ENABLED в моей конфигурации, я перезагрузился, поскольку TCP-IP является более высоким приоритетом, чем именованные каналы в моей конфигурации.

Я даже успел удалить SQL Server и переустановить его, но безрезультатно.

Подробности моего экземпляра SQL Server следующие:

Microsoft SQL Server Management Studio - 10.0.2531.0
Microsoft Analysis Services Client Tools - 10.0.1600.22
Microsoft Data Access Components (MDAC)  - 6.1.7601.17514
Microsoft MSXML - 3.0 5.0 6.0 
Microsoft Internet Explorer - 9.0.8112.16421
Microsoft .NET Framework - 2.0.50727.5466
Operating System     - 6.1.7601

Детали конфигурации: http://i45.tinypic.com/vxdz7c.png http://i45.tinypic.com/vxdz7c.jpg

Я подключаюсь из java, используя этот код.

Class.forName("com.microsoft.sqlserver.jdbc.SQLServerDriver");
String connectionUrl = "jdbc:sqlserver://localhost;database=AdventureWorks;integratedSecurity=false;User=JIMBO; Password=JIMBO;";
Connection con = DriverManager.getConnection(connectionUrl);

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

-Джит

4b9b3361

Ответ 1

Чтобы принудительно использовать TCP/IP, замените localhost на 127.0.0.1 в строке подключения.

Когда вы используете имя пользователя и пароль, убедитесь, что включена проверка подлинности SQL. По умолчанию на сервере sqlserver 2008 включен только встроенный Windows.

При проверке подлинности SqlServer помните, что для обеспечения безопасности используется политика паролей.

Ответ 2

Принудительное соединение TCP/IP (путем предоставления 127.0.0.1 вместо localhost или .) может выявить реальную причину ошибки. В моем случае имя базы данных, указанное в строке подключения, было неверным.

Итак, вот контрольный список:

  • Убедитесь, что в диспетчере конфигурации включена Именованная труба (не забудьте перезапустить сервер).
  • Убедитесь, что включена проверка подлинности SQL Server (или смешанный режим).
  • Убедитесь, что ваше имя пользователя и пароль верны.
  • Убедитесь, что база данных, к которой вы подключаетесь, существует.

Ответ 3

Мое решение состояло в том, чтобы войти в систему с помощью входа в Windows, затем перейдите в систему безопасности > Входные данные найдите неисправный идентификатор и введите использованный пароль. Перезапустите службы...

Ответ 4

Добавление "user instance = False" к строке подключения решило проблему для меня.

<connectionStrings>
  <add name="NorthwindEntities" connectionString="metadata=res://*/Models.Northwind.csdl|res://*/Models.Northwind.ssdl|res://*/Models.Northwind.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.\SQLEXPRESS2008R2;attachdbfilename=|DataDirectory|\Northwind.mdf;integrated security=True;user instance=False;multipleactiveresultsets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
</connectionStrings>

Ответ 5

Эта проблема возникла из-за этой ошибки, которая появилась ранее в журнале ошибок приложения.

"Операция чтения на большом объекте не удалась при отправке данных клиенту. Общей причиной этого является то, что приложение работает на уровне изоляции READ UNCOMMITTED. Это соединение будет прекращено."

Я хранили файлы PDF в таблице SQL и при попытке SELECT из этой таблицы выплевывал эту ошибку, что приводило к ошибке, упомянутой в вашем вопросе.

Решение заключалось в том, чтобы удалить столбцы с большим количеством текста, в моем случае файлы с кодировкой Base64.

Ответ 6

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

Я получил ту же ошибку после экспериментирования и тестирования с помощью служб удаленных рабочих столов на MS Server 2012 с MS SQL Server 2012.

Во время установки служб удаленных рабочих столов запрашивается создание (локального) сертификата, и поэтому я это сделал. После завершения теста/экспериментов я удалил службы удаленного рабочего стола. Что, когда появилась эта ошибка (я не могу сказать, произошла ли ошибка во время теста с RDS, я не помню, использовал ли я/пытался соединение SQL во время теста RDS).

Я не уверен, как это решить, поскольку сертификат по умолчанию для меня не работает, но сертификат "RDS" делает.

BTW, сертификаты находятся в приложении: "Менеджер конфигурации SQL Server" → "Конфигурация сети SQL Server" → Щелкните правой кнопкой мыши: "Протоколы для" → Выберите "Свойства" → Вкладка "Сертификат"

Мой сертификат SQL по умолчанию имеет имя: ConfigMgr Сертификат идентификации SQL Server, имеет срок годности: 2114-06-09.

Надеюсь, что это может дать подсказку другим.

/Kim

Ответ 7

Для меня это было связано с тем, что была включена только проверка подлинности Windows. Чтобы изменить режим проверки подлинности. В проводнике объектов SQL Server Management Studio щелкните правой кнопкой мыши сервер и выберите команду Свойства. На странице "Безопасность" в разделе "Аутентификация сервера" выберите новый режим проверки подлинности сервера и нажмите "ОК". Изменить режим проверки подлинности сервера - MSDN - Microsoft https://msdn.microsoft.com/en-AU/library/ms188670.aspx

Ответ 8

Это может помочь в качестве ссылки

У меня была такая же проблема, после нескольких проб предлагаемого решения на этом сайте и других я нашел решение для моего сценария. Учетная запись заблокирована Как проверить, заблокирована ли учетная запись... Войдите в систему на сервере, используя более высокую привилегированную учетную запись (например, SA или права администратора) Expand security == > выберите имя входа == > откройте окно property логина == > выберите status в окне свойств

Убедитесь, что это 3 Вещи 1, разрешение на подключение базы данных GRANTED 2, Вход в систему включен 3, Статус Проверка подлинности SQL-сервера Вход не заблокирован (Снимите флажок)

Спасибо Tsige

Ответ 9

Я только что выполнил connection.close(), добавив его в качестве первого оператора и был решен. Затем я удалил строку.

Ответ 10

Следуйте за этим. Я установил SQL Server 2014 только с проверкой подлинности Windows. После включения смешанного режима я не смог войти в систему с пользователем SQL и получил то же сообщение об ошибке, что и исходный плакат. Я подтвердил, что именованные каналы были включены, но не смогли войти в систему после нескольких перезапусков. Использование 127.0.0.1 вместо имени хоста позволило мне войти в систему, но интересно, потребовалось ввести пароль reset при первом входе в систему:

Пароль SQL Server  reset Запрос

Как только я reset пароль, с которым работала учетная запись. Что странно, я специально отключил политику паролей и срок действия.

Ответ 11

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

У меня была учетная запись, которая использовалась для резервного копирования двух баз данных. Когда резервная пользовательская база данных по умолчанию была отключена, начинается ошибка "no process at the other end of the pipe".

Ответ 12

Пришел сюда поиск решения аналогичной проблемы, которое я только что представил, изменив настройки Schannel нашего сервера IIS с помощью "IIS Crypto" от Nartac... Отключив хэш SHA-1, локальный SQL Server не был возможно, больше, хотя я не использовал зашифрованное соединение (не полезно для сайта ASP.Net для доступа к локальному экземпляру SQL Express с использованием общей памяти).

Алгоритм 'SHA' должен быть активен для SQL Server для подключения

Спасибо Count Zero за то, что указали мне в правильном направлении: -)

Итак, извлеченный урок: не отключите SHA-1 на сервере IIS, если у вас есть локальный экземпляр SQL Server.

Ответ 13

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