2014-10-10 2 views
0

Я восстанавливаю свою БД из хранимой процедуры из своего веб-приложения. Для этого я установил БД в один пользовательский режим, а затем восстановил с помощью REPLACE, чтобы он перезаписывал текущую БД. После восстановления я вернусь в режим multi_user. Все работает нормально, пока я не перейду на другую страницу, на которой выполняется запрос, обрабатывающий эту ошибку. Я пробовал все: от this сообщения блога, на которые все ссылаются для этой ошибки. После того, как я перейду на другую страницу, а затем снова вернусь на эту страницу, ошибка исчезнет. Любые идеи, что здесь происходит?На другом конце трубы нет процесса. Ошибка после восстановления DB

При отправке запроса на сервер произошла ошибка транспортного уровня. (поставщик: поставщик общей памяти, ошибка: 0 - никакой процесс не находится на другом конце канала.) Тип: System.Data.SqlClient.SqlException Источник: .Net SqlClient Data Provider Stack: at System.Data.SqlClient.SqlConnection. OnError (исключение SqlException, Boolean breakConnection) в System.Data.SqlClient.TdsParser.ThrowExceptionAndWarning (TdsParserStateObject stateObj) в System.Data.SqlClient.TdsParserStateObject.WriteSni() в System.Data.SqlClient.TdsParserStateObject.ExecuteFlush() в System.Data .SqlClient.TdsParser.TdsExecuteRPC (_SqlRPC [] rpcArray, Int32 тайм-аут, булева inSchema, SqlNotificationRequest notificationRequest, TdsParserStateObject stateObj, булева isCommandProc) при System.Data.SqlClient.SqlCommand.RunExecuteReaderTds (CommandBehavior cmdBehavior, runBehavior runBehavior, Boolean, Boolean returnStream асинхронном) в System.Data.SqlClient.SqlCommand.RunExecuteReader

+0

Вы можете отключить общую память и использовать только TCP/IP или трубки – ErstwhileIII

+0

@ErstwhileIII спасибо за предложение, попробовал, но получил тот же результат – flerngobot

+0

Тот же результат? Жалоба «Общий доступ к памяти»? Не уверен, как вы можете получить жалобу, если разделяемая память отключена. Но тогда я не там, где вы есть. – ErstwhileIII

ответ

1

Я подозреваю, что проблема в том, что объединенное соединение было убито, и ошибка была возвращена, когда была предпринята попытка повторно использовать сломанную. Попробуйте вызвать SqlConnection.ClearPool после восстановления.

+0

спасибо, что это, казалось, делало трюк: SqlConnection.ClearAllPools() – flerngobot

Смежные вопросы