SQL Server 2016 LocalDB «На другом конце канала нет процессов» - PullRequest
0 голосов
/ 06 мая 2020

Наше приложение использует Microsoft SQL Server 2016 LocalDB . Сегодня утром мне случайно позвонил клиент и сказал, что его приложение не запускается. Проверив это, я вернул его файл базы данных на свою машину и смог воспроизвести его локально.

Сначала я получал это:

System.Data.SqlClient.SqlException 'A connection was successfully established with the server, but then an error occurred during the login process. (provider: Named Pipes Provider, error: 0 - No process is on the other end of the pipe.)

Inner Exception 1:
Win32Exception: No process is on the other end of the pipe

Но теперь я получаю только следующее:

System.Data.SqlClient.SqlException: 'Cannot open database "C:\MURRAY\CONTROLPRO\DATA\DATABASE.MDF" requested by the login. The login failed.
Login failed for user 'MURRAYEQUIPMENT\<my_username>'.'

Я пытался убить "SQL Сервер Windows NT - 64 Bit »в диспетчере задач, но это не помогло. Я могу заменить файл базы данных на «хороший» файл, и приложение сразу же запустится. Проблема только в одном файле базы данных. (На самом деле мне нужно убить SQL серверный процесс после сбоя приложения, прежде чем я смогу поменять файлы, потому что файл базы данных заблокирован, пока я этого не сделаю.)

Я просмотрел несколько сообщений по этому поводу и похоже, это своего рода проблема конфигурации, и ни один из сообщений, которые я прочитал, не указывает c на LocalDB. Однако я не уверен, как его файл базы данных случайно изменил свою конфигурацию за ночь. Я смог регенерировать его файл базы данных с нуля из ежечасного файла резервной копии, и у него больше не было проблем. Я просто пытаюсь найти решение, если это снова произойдет случайно.

Спасибо!

...