EF 4.1 CF + Azure: в базе данных «master» отказано в разрешении CREATE DATABASE - PullRequest
0 голосов
/ 15 декабря 2011

У меня есть приложение ASP.NET WebForms, которое использует EF 4.1 Codefirst.При первом запуске приложения создается новая база данных, таблицы и т. Д. До сих пор все работало нормально.

Но после добавления моего приложения в качестве веб-роли в проект Azure при первом нажатии на кнопку появляется сообщение об ошибке.база данных (в базе данных «master» отказано в разрешении CREATE DATABASE).

Очевидно, что имеет значение, если я запускаю свое приложение на веб-сервере разработки VS или в эмуляторе Azure.

Вот некоторые дополнительныеинформация, которая, на мой взгляд, может быть актуальной:

  • База данных НЕ существует, когда я запускаю приложение
  • Visual Studio 2010 запускается от имени администратора
  • Уровень доверия моей сетироль: Полное доверие
  • Служба SQL Server (MS SQL 2008 R2 Express) запущена и работает

Строка подключения в моем файле web.config выглядит следующим образом:

<add name="dbContext" connectionString="server=(local)\SQLEXPRESS;database=myDB;Integrated Security=True;MultipleActiveResultSets=True" providerName="System.Data.SqlClient" />

Я также попытался использовать реального пользователя вместо «интегрированной безопасности».И этому пользователю были назначены все возможные роли базы данных, включая sysadmin, serveradmin и т. Д.

Как я могу предоставить необходимые разрешения своему приложению, чтобы разрешить создание базы данных во время работы внутри эмулятора Azure?

Большое спасибо за вашу помощь!

1 Ответ

0 голосов
/ 15 декабря 2011

Эмулятор Azure работает с учетными данными учетной записи «Сетевая служба». Вам необходимо добавить учетные данные для учетной записи «Сетевая служба» в основной базе данных.

...