SqlExpress LocalDb не может открыть файл

У меня есть два файла MDF в каталоге по пути AppData/Local. Если я попытаюсь открыть их, используя LocalDb.

Моя строка подключения имеет вид:

Источник данных =(localdb)\v11.0;AttachDbFilename="C:\Users\ Анна \AppData\Local\CaseTrakker Software\CTDynamoDisconnected\CTDynamoDisconnected_Data.mdf"; Интегрированная безопасность =True; Время ожидания подключения =10

У меня есть пример настольного приложения, которое пытается подключиться к этому MDF, и я получаю следующее исключение:

System.Data.SqlClient.SqlException (0x80131904): Невозможно открыть базу данных "C:\USERS\ANNA\APPDATA\LOCAL\CASETRAKKER \CTDYNAMODISCONNECTED\CTDYNAMODISCONNECTED_DATA.MDF", запрошенная регистрацией. Ошибка входа. Не удалось войти в систему для пользователя 'IMA \ Anna'.

Если я переместу этот файл в любое другое место или переименую его (даже на более длинное имя), я смогу подключиться к нему.

Кажется, что-то особенное в этом месте или что-то в этом роде.

Еще одна странная вещь: это сработало на прошлой неделе. Насколько я знаю, на моей машине или в моей безопасности домена ничего не изменилось.

Я в полной растерянности относительно того, что еще можно попробовать. Идеи?

3 ответа

Можете ли вы проверить, есть ли что-нибудь интересное в файле журнала экземпляра LocalDB? Он расположен по умолчанию в %localappdata%\Microsoft\Microsoft SQL Server Local DB\Instances\v11.0 папка.

Одна из причин этой проблемы, если вы идете в C:\Users\[username] папку и удалите файлы MDF и LDF. Если вы делаете это, то это похоже на то же самое, что и полноценный SQL Server. Экземпляр сервера все еще думает, что у него есть базы данных, но они, очевидно, не будут работать.

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

Чтобы действительно решить проблему, откройте SQL Management Studio и подключитесь к серверу. (LocalDb)\v11.0 (вероятно, с проверкой подлинности Windows), и вы можете отключить эти базы данных таким образом.

В моем случае я некоторое время имел эту БД и по ошибке удалил ее файлы MDF и LDF.

Чтобы решить эту проблему, я открыл SQL Management Studio и подключился к (localdb)\MSSQLLocalDB с помощью Windows Authentication затем вручную создал новую пустую БД с таким именем в строке подключения web.config

<add name="DefaultConnection" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Initial Catalog=myDb;Integrated Security=True;" providerName="System.Data.SqlClient" />
Другие вопросы по тегам