Разрешение CREATE DATABASE отклонено в базе данных «master». База данных с таким именем существует

Я запускал свое приложение в Visual Studio 2010 Application Server, но теперь я изменил его на использование локального сервера IIS, после чего все разбилось. Я получаю следующую ошибку:

System.Data.SqlClient.SqlException: разрешение CREATE DATABASE отклонено в базе данных «master».
Попытка присоединить базу данных с автоматическим именем для файла D:\Code\EMSApplication\EMSApplication.Web\App_Data\ASPNETDB.mdf не удалась. База данных с таким именем существует, или указанный файл не может быть открыт, или он находится в общей папке UNC.

Я изменил настройку пула приложений веб-сайта IIS по умолчанию на классический .NET AppPool.

введите здесь описание изображения

Также изменена идентификация классического пула приложений .NET на LocalSystem.

введите здесь описание изображения

Я также установил разрешение NETWORK SERVICE на Full

введите здесь описание изображения

Строка подключения:

Data Source=.\SQLEXPRESS;AttachDbFilename=|DataDirectory|\ASPNETDB.mdf;Integrated Security=True

Но ни один из них не работал. Я все еще получаю эту ошибку. Любое предложение будет очень полезно для меня.

Спасибо.


Я использую SQL Server 2008 Express, который поставляется с установкой Visual Studio 2010.


person Tapas Bose    schedule 21.03.2012    source источник
comment
Я не уверен, рассматривать ли это не по теме или нет... На самом деле это не вопрос программирования (скорее вопрос системного администратора), но, вероятно, это то, что каждый разработчик, работающий с базой данных, должен знать, как делать.   -  person M.Babcock    schedule 21.03.2012
comment
Вы знаете, что вы не включили сюда? Любая информация о сервере SQL или существующих базах данных. Вам не кажется, что это было бы уместно, особенно учитывая формулировку сообщения об ошибке?   -  person cHao    schedule 21.03.2012
comment
@cHao Я обновил свой ответ. База данных — это Sql Server 2008, который поставляется с Visual Studio 2010.   -  person Tapas Bose    schedule 21.03.2012
comment
А как насчет существующих баз данных?   -  person cHao    schedule 21.03.2012
comment
Пробовали ли вы использовать имя БД, отличное от ASPNETDB? Что-то более конкретное, вероятно, было бы лучше в любом случае.   -  person M.Babcock    schedule 21.03.2012
comment
Ого, это бесполезное количество картинок вместо того, чтобы просто предоставить информацию, соответствующую сообщению об ошибке - список подключенных баз данных с именем.   -  person TomTom    schedule 21.03.2012
comment
... или просто остановить сервер отладки VS? Это маленькая иконка на панели задач рядом с часами.   -  person Chris Shain    schedule 21.03.2012
comment
Учитывая, что в сообщении об ошибке говорится, что база данных с таким именем существует, не могли бы вы показать нам базы данных, которые находятся на вашем SQL Server? Скорее всего, вы пытаетесь добавить что-то, что уже было добавлено. Ответ Криса Шейна был бы хорошим чтением для вас.   -  person Jeremy Pridemore    schedule 21.03.2012


Ответы (1)


Проблема в том, что у вас уже есть база данных с именем ASPNETDB, подключенная к этому экземпляру SQL Server. Я предполагаю, что веб-сервер разработки VS все еще работает, и именно к нему подключена база данных. Если это так, просто выключите его и попробуйте перезапустить IIS, и все будет хорошо. Если это не поможет, перейдите и загрузите SSMS Express. , подключитесь к локальному экземпляру SQLExpress и попробуйте отсоединить оттуда существующую базу данных.

person Chris Shain    schedule 21.03.2012