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" />