Сообщение об ошибке: (поставщик: поставщик общей памяти, ошибка: 0 - на другом конце канала нет процесса).
Я пытаюсь развернуть свой сайт на Windows Server 2003. Я что-то упустил или что-то не так в следующем сообщении об ошибке, как я могу это исправить? Поблагодарить
У меня появляется сообщение об ошибке:
Соединение с сервером было успешно установлено, но во время входа в систему произошла ошибка. (провайдер: поставщик общей памяти, ошибка: 0 - на другом конце канала нет процесса.) Описание: во время выполнения текущего веб-запроса произошло необработанное исключение. Пожалуйста, просмотрите трассировку стека для получения дополнительной информации об ошибке и о том, где она возникла в коде.
Сведения об исключении: System.Data.SqlClient.SqlException: соединение с сервером было успешно установлено, но затем произошла ошибка во время процесса входа в систему. (провайдер: поставщик общей памяти, ошибка: 0 - на другом конце канала нет процесса).
Ошибка источника:
Во время выполнения текущего веб-запроса было сгенерировано необработанное исключение. Информация о происхождении и местоположении исключения может быть идентифицирована с помощью трассировки стека исключений ниже.
Трассировки стека:
[SqlException (0x80131904): Соединение было успешно установлено с сервером, но затем произошла ошибка во время процесса входа в систему. (провайдер: поставщик общей памяти, ошибка: 0 - на другом конце канала нет процесса.)]
System.Data.ProviderBase.DbConnectionPool.GetConnection (DbConnection owningObject) +1019
System.Data.ProviderBase.DbConnectionFactory.GetConnection (DbConnection owningConnection) +108
System.Data.ProviderBase.DbConnectionClosed.OpenConnection (DbConnection externalConnection, DbConnectionFactory connectionFactory) +126
System.Data.SqlClient.SqlConnection.Open () +125
NHibernate.Connection.DriverConnectionProvider.GetConnection () +104
NHibernate.Tool.hbm2ddl.SuppliedConnectionProviderConnectionHelper.Prepare () +15 NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.GetReservedWords (диалект диалекта, IConnectionHelper connectionHelper) +89
NHibernate.Tool.hbm2ddl.SchemaMetadataUpdater.Update (ISessionFactory sessionFactory) +80
NHibernate.Impl.SessionFactoryImpl..ctor (Конфигурация cfg, отображение IMapping, настройки параметров, прослушиватели EventListeners) +599
NHibernate.Cfg.Configuration.BuildSessionFactory () +104
MyProject.API.Data.SessionManager..cctor () в C:\Dev\Code\API\Data\SessionManager.cs:27
28 ответов
Как правило, для устранения этой проблемы вы переходите к диспетчеру конфигурации SQL Server (SSCM) и:
- убедитесь, что протокол общей памяти включен
- убедитесь, что протокол Named Pipes включен
- убедитесь, что TCP/IP включен и опережает именованные каналы в настройках
Может быть, это поможет: не удалось открыть соединение с SQL Server
Проверьте, добавлена ли в строку подключения "Trusted_Connection=true".
У меня было то же самое сообщение об ошибке, оказалось, что это было, потому что я не включил смешанный режим аутентификации. Я был только на Windows Auth. Это часто встречается в развертываниях MSSQL по умолчанию для vSphere и становится проблемой при обновлении до vSphere 5.1.
Чтобы перейти в режим смешанной аутентификации, вы можете следовать инструкциям по адресу http://support.webecs.com/kb/a374/how-do-i-configure-sql-server-express-to-enable-mixed-mode-authentication.aspx.
У меня была такая же ошибка в SQL Server Management Studio.
Я обнаружил, что, чтобы посмотреть на более конкретную ошибку, посмотрите на файл журнала, созданный SQL Server. Когда я открыл файл журнала, я обнаружил эту ошибку
Не удалось подключиться, поскольку максимальное число пользовательских подключений "2" уже достигнуто. Системный администратор может использовать sp_configure, чтобы увеличить максимальное значение. Соединение было закрыто
Я провожу довольно много времени, выясняя это. Наконец, выполнение следующего кода решило мою проблему.
sp_configure 'show advanced options', 1;
go
reconfigure
go
sp_configure 'user connections', 0
go
reconfigure
go
редактировать
Для просмотра логов выполните поиск "логов" на кнопке запуска Windows, нажмите "просмотреть логи событий". Оттуда перейдите в Приложения в разделе "Журналы Windows". Вы также можете выбрать "Системные" журналы, чтобы увидеть системные ошибки. Вы можете использовать фильтр для текущих журналов, нажав "Фильтровать текущие журналы" справа, а затем установите флажок "Ошибка".
Просто еще одна возможность. Мне пришлось перезапустить службу сервера sql, чтобы исправить эту проблему для меня.
"Настоящая" ошибка была в журнале ошибок SQL:
C:\Program Files\Microsoft SQL Server\MSSQL14.MSSQLSERVER\MSSQL\log\ERRORLOG
Путь будет зависеть от вашей версии SQL Server
Добавление этого в мою строку подключения сработало для меня:
Trusted_Connection=true
Перейдите на сервер SQL с помощью учетных данных Windows - > Логины - > Выберите Логин - > в Свойствах - > Проверьте, включен ли вход в систему / отключен. Если отключено, включите его, это решение сработало для меня.
Вы должны включить режим проверки подлинности сервера в смешанный режим следующим образом: В SQL Studio выберите YourServer -> Property -> Security -> Select SqlServer и Window Authentication mode.
В C# и SQL SERVER мы можем исправить ошибку, добавив
Integrated Security = true
к строке подключения.
Найдите полную строку подключения:
constr = @"Data Source=<Data-Source-Server-Name>;Initial Catalog=<DB-Name>;Integrated Security=true";
У меня была такая же ошибка, я исправил ее, убедившись, что на SQL-сервере включен режим аутентификации SQL.
см. изображения ниже.
Перейдите на вкладку «Безопасность», выберите режим аутентификации SQL-сервера и оконного сервера и нажмите «ОК».
- Вам нужно будет перезапустить сервер, чтобы изменения отразились, теперь все должно быть в порядке.
Просматривая файл журнала SQL SERVER в "C:\Program Files\Microsoft SQL Server\MSSQL13.MSSQLSERVER\MSSQL\Log\ERRORLOG", он говорит: "Ошибка входа для пользователя" XXXXX ". Причина: попытка входа с использованием проверки подлинности SQL не удалось. Сервер настроен только для проверки подлинности Windows. [КЛИЕНТ: ]"
Метод исправления заключается в том, чтобы открыть "Microsoft SQL Server Management Studio" -> щелкните правой кнопкой мыши SQL-сервер и выберите "Свойства" -> "Безопасность" -> Изменить аутентификацию на смешанный режим. -> Перезагрузите сервер SQL.
В моем случае это была орфографическая ошибка в имени базы данных в строке подключения.
Я получил эту ошибку сегодня. В моем случае, просмотр файла ERRORLOG на сервере SQL дал мне эту ошибку:
Не удалось войти в систему для пользователя ''. Причина: не удалось открыть базу данных, указанную в свойствах входа в систему.
Это произошло потому, что я удалил "Базу данных по умолчанию" этого пользователя несколько дней назад. Установка базы данных по умолчанию для моей новой базы данных устранила проблему.
Надеюсь, это поможет кому-то еще.
Я забыл добавить "Пароль = ххх;" в строке подключения в моем случае.
Все хорошие и действительные курсы расследования, особенно журналы для получения дополнительной информации.
Для тех, кто ударил это, это может быть простая ошибка, когда, когда вы создали пользователя БД, вы, возможно, применили политику паролей и оставили пользователю изменять пароль при первом входе в систему (т.е. оставили флажки вокруг поля пароля с их значениями по умолчанию).
Это очень легко сделать в SQL Management Studio и, конечно же, может вызвать проблемы с аутентификацией сразу же, которые замаскированы, если вы не заглянете в журналы.
Привет Просто включите оба для аутентификации сервера, как показано на скриншоте ниже.
В моем случае мой проект
Asp.net Core 3.1
и это моя строка подключения
"ConnectionString": "Data Source=.; Initial Catalog=WebDB; user Id=sa; Password=123"
И имя базы данных на сервере sql (нижний регистр на сервере sql). Через много времени измените имя базы данных
webdb
в связке строка и работала нормально.
Для тех, кто сначала делает код entityframework, также проверьте, выполнили ли вы миграцию. Лучшее место для поиска основной причины — журнал ошибок сервера sql.
У меня такая же проблема. Я попробовал все предложенные ответы на этой странице, но безрезультатно! Наконец, я попробовал следующие шаги, и у меня это сработало:
В обозревателе объектов SQL Server Management Studio щелкните сервер правой кнопкой мыши и выберите команду Свойства.
- На странице «Безопасность» в разделе «Проверка подлинности сервера» выберите новый режим проверки подлинности сервера и нажмите кнопку «ОК».
- В диалоговом окне SQL Server Management Studio нажмите OK, чтобы подтвердить требование перезапуска SQL Server.
- В обозревателе объектов щелкните сервер правой кнопкой мыши и выберите "Перезагрузить". Если агент SQL Server запущен, его также необходимо перезапустить.
Затем попробуйте это в консоли диспетчера пакетов:
Scaffold-DbContext "Server=OC-005;Database=TDM_DB;Persist Security Info=False;User=YourUserName; Password=YourPassword; MultipleActiveResultSets=False;Encrypt=False; TrustServerCertificate=False; Connection Timeout=30;" Microsoft.EntityFrameworkCore.SqlServer -OutputDir Models -Context DatabaseContext -f
Включите режим смешанной аутентификации при установке сервера MSSQL. Также предоставьте пароль для пользователя sa.
В моем случае Мой диск был заполнен на 99%, Это сработало после того, как я освободил до 80% диска.
Убедитесь, что имя сервера, на который вы входите с помощью SQL Management Studio, соответствует строке подключения.
Я получил эту ошибку сегодня. Оказалось, что я не осознавал, что на машине с установленным SQL Server работает несколько серверов. Фактически я разместил свою базу данных на совершенно другом сервере, нежели тот, который, как я думал, использовал. (Итак, моя строка подключения указывала на сервер без базы данных)
Следовательно, когда.net попытался получить доступ к базе данных, он ничего не смог найти и выдал только вводящее в заблуждение сообщение об ошибке о каналах.
Я открыл правильный сервер в SQL Management Studio, добавил свою базу данных, и все работало нормально. (Если нужный сервер недоступен в раскрывающемся списке, попробуйте найти его.)
Я знаю, что я, вероятно, единственный, у кого возникнет эта проблема. но если вы удалили файлы mdf в каталоге C:/{user}/, вы тоже получите эту ошибку. восстанови это и ты золотой
Я столкнулся с этим в приложении с первым кодом, которое ожидало, что база данных будет там:
Убедитесь, что база данных создана / имя в строке подключения правильное.
В моем случае ситуация была немного другой.
1. Моя ошибка: мне не хватало символа ";" в stringConnection. Я знаю, что это ошибка новичка, но я новичок в C # и SQL Server. У меня один день :)
3. Примечание. Измените «FundamentalsCSharp» на свой исходный каталог.
Надеюсь, это может быть кому-то полезно. Спасибо!
Это старый, но у меня была проблема в диалоговом окне подключения, что он по-прежнему по умолчанию для базы данных, которую я удалил. При запуске этих команд база данных по умолчанию в командной строке не менялась. Я читал где-то, что сейчас не могу найти, что если вы откроете диалоговое окно "Подключение к серверу", а затем выберите "Параметры" и перейдите на вкладку "Свойства подключения", введя базу данных по умолчанию (нет, выбрав из выпадающего списка), Затем база данных останется на этом новом введенном значении. Это звучит как недостаток для меня, но в случае, если кто-то задавался вопросом об этом, это должно решить проблему, по крайней мере, на SQL Server 2012
После включения SQL Server и режима проверки подлинности Windows я забыл перезапустить службу.