none
C# Не могу подключить *.mdf файл к проекту RRS feed

  • Вопрос

  • Здравствуйте!

    Суть проблемы: в проекте в Visual Studio 2008 был файл mdf, добавленный через Проект>Добавить компонент. Все прекрасно работало, пока я не решил открыть этот файл в SQL Server Management Studio, присоединив его к SQL Server 2008. Во время добавления возникла ошибка:

    TITLE: Microsoft SQL Server Management Studio
    ------------------------------
    
    Attach database failed for Server 'NAME\SQLEXPRESS'.  (Microsoft.SqlServer.Smo)
    
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600.1+((KJ_RTM).100402-1540+)&EvtSrc=Microsoft.SqlServer.Management.Smo.ExceptionTemplates.FailedOperationExceptionText&EvtID=Attach+database+Server&LinkId=20476
    
    ------------------------------
    ADDITIONAL INFORMATION:
    
    An exception occurred while executing a Transact-SQL statement or batch. (Microsoft.SqlServer.ConnectionInfo)
    
    ------------------------------
    
    Unable to open the physical file "D:\Database1.mdf". Operating system error 5: "5(Отказано в доступе.)". (Microsoft SQL Server, Error: 5120)
    
    For help, click: http://go.microsoft.com/fwlink?ProdName=Microsoft+SQL+Server&ProdVer=10.50.1600&EvtSrc=MSSQLServer&EvtID=5120&LinkId=20476
    
    ------------------------------
    BUTTONS:
    
    OK
    ------------------------------
    

    "Отказано в доступе"-это, я так понимаю, связано с доступом к файлу? Но права у него обычного пользователя, не администратора. Такая же ошибка возникала и при попытке добавить учебную базу данных Борей.

    Возвращаюсь обратно в Visual Studio. Там кстати, этот файл прекрасно открывается через "Обозреватель серверов". Открываю свой проект с mdf файлом, нажимаю F5  и получаю ошибку:

    Забыл сказать, что в SQL Server Management Studio я хотел открыть не файл из проекта, а его копию, перемещенную в другую папку. И получается, что после первой ошибки, приведенной в посте, не получается подключиться уже и к оригинальному файлу из проекта.

    После всего этого, я удалил mdf файл из проекта и все компоненты которые были с ним связаны, думал, что это поможет. Но нет, при попытке добавить этот файл вновь возникает ошибка:

    При этом, через "Обозреватель серверов" файл открывается без проблем.

    Спасибо за помощь, очень не хотелось бы потерять эту базу данных.

Ответы

  • При перемещении или копировании .mdf файла нужно и файл ...log.ldf тоже перенести. И не копируйте когда база открыта. Так-же попробуйте Management Studio запустить от имени администратора.
    • Помечено в качестве ответа Abolmasov Dmitry 29 мая 2012 г. 5:59
    Модератор
  • Спасибо за ответ. Запустил Management Studio с правами администратора, указал файл базы данных и файл журнала. И получил вот такую ошибку:



    Попробовал в Visual Studio добавить вновь файл базы данных и он... добавился! Мое приложение запустилось, все заработало. Так, что пока не буду экспериментировать с Management Studio, а в будущем воспользуюсь Вашим советом.

    • Помечено в качестве ответа Abolmasov Dmitry 29 мая 2012 г. 5:59

Все ответы

  • При перемещении или копировании .mdf файла нужно и файл ...log.ldf тоже перенести. И не копируйте когда база открыта. Так-же попробуйте Management Studio запустить от имени администратора.
    • Помечено в качестве ответа Abolmasov Dmitry 29 мая 2012 г. 5:59
    Модератор
  • Спасибо за ответ. Запустил Management Studio с правами администратора, указал файл базы данных и файл журнала. И получил вот такую ошибку:



    Попробовал в Visual Studio добавить вновь файл базы данных и он... добавился! Мое приложение запустилось, все заработало. Так, что пока не буду экспериментировать с Management Studio, а в будущем воспользуюсь Вашим советом.

    • Помечено в качестве ответа Abolmasov Dmitry 29 мая 2012 г. 5:59
  • Привет.

    Если проблема решена - не забывайте отмечать ответ или ответы, которые послужили решением проблемы. Если вы сами решили проблему и написали ответ, то отмечайте и свое сообщение. Спасибо.


    Для связи [mail]