1. Этот сайт использует файлы cookie. Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie. Узнать больше.

ASP.NET: Failed to update database because the datababase the database is read-only

Тема в разделе "Программирование", создана пользователем 1777, 28.08.06.

  1. 1777

    1777 Активный участник

    6.532
    12
    При развертывании приложения APS.NET на IIS 5.x, использующее MS SQL, в моем случае Express, при обращении к приложению, а оно соответствено к базе данных *.mdf при попытке записать в базу данные выдает ошибку:

    "Failed to update database "~\APP_DATA\*.MDF" because the database is read-only."

    Чтение происходит нормально (как видно их ошибки :) )

    Доступ из IIS - анонимным пользователем MyComputer\ASPNET, для отладки включена проверка подлинности Windows, без нее в приницпе тоже работает

    компьютер - в домене, но пока разрабатывается приложение - тестируется на локальном ПК, позже будет перенесен на сервер.

    решение ошбики:
    мое приложение лежит в каталоге:
    C:\Inetpub\WebSites\MyApplication
    База данных в:
    C:\Inetpub\WebSites\MyApplication\App_Data

    на папку C:\Inetpub\WebSites\MyApplication => свойства - вкладка безопасность - группы и пользователи => я добавляю нового пользователя MyComputer\ASPNET и даю ему права на чтение и запись всего, что лежит в этой папке, в том числе и базу данных, в приципе можно еще поиграться настройками - чтобы дать разрешения только на базу данных, а не на все подкаталоги и остальные файлы

    Вопросов два:
    1. Насколько такое решение правильно (сейчас кстати проверю доступ с других компов домена)
    2. где почитать про организацию доступа и безопасности к связке IIS/ASP.NET/SQL для вариантов^
    1. доступ только для пользователей домена,
    2 доступ из вне (когда web-сервер открыт для внешних подключений из инета) + доступ для домена одновременно,

    кроме как в MSDN...
     
  2. RadioShark

    RadioShark Активный участник

    651
    0


    Это неправильно. База данных должна лежать вне пределов досягаемости корня веб-сервера, например в c:\inetpub\data

    Права на папку c:\inetpub\data дай Full Control для пользователя Everyone.