[Ошибка ADO.NET]: разрешение CREATE DATABASE запрещено в базе данных «master». Не удалось подключить базу данных с автоматическим именем для файла HelloWorld.mdf.

В базе данных master отказано в разрешении CREATE DATABASE. Попытка присоединить базу данных с автоматическим именем для файла C: \ Documents and Settings \ .. \ App_Data \ HelloWorld.mdf не удалась. База данных с таким же именем существует, или указанный файл не может быть открыт, или он находится на общем ресурсе UNC.

Я нашел эти ссылки:

Ответов (7)

Решение

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

Мой друг исправил это, просто используя другой каталог, а именно C: \ TEMP. Я думаю, это просто вопрос разрешений.

для некоторых парней вроде меня добавьте «User Instance = true» в строку подключения

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

Мне очень помогло установить этот тег в теге system.web в файле web.config:

<system.web>
    <identity impersonate="true" userName="admin_user" password="admin_password" />
...

Надеюсь, это поможет кому-нибудь

Я также столкнулся с той же проблемой, наконец, я нашел решение - РЕШЕНИЕ - просто переместите или вырежьте вашу базу данных из папки App_Data в любое место (например, на рабочий стол), затем переместите или сократите базу данных в папку App_Data. Вот и все ..........

Надеюсь, это сработает!

Сегодня я застрял на этом из-за сложной проблемы в коде mvc3 и entity framework.

Моя установка SqlExpress испорчена (проблемы с разрешениями), поэтому я переключился на SqlCE.

Мой атрибут ConnectionString.Name не соответствует имени моего класса ProjectNameContext.

Если строка подключения не найдена, используются соглашения по умолчанию. Соглашения по умолчанию означают мою службу SqlExpress с именем базы данных, например ProjectNameContext. Разрешения испорчены, поэтому у меня возникла ошибка разрешений на SqlExpress, когда я подумал, что использую SqlSE.