Назад | Перейти на главную страницу

Как просмотреть базу данных SQL Server, созданную веб-приложением ASP.NET MVC?

У меня есть веб-приложение ASP.NET MVC, развернутое в IIS на компьютере с Windows Server 2012. При первом запуске приложение создает необходимую базу данных и таблицы, если это необходимо. Все это работает нормально, и теперь я хочу выполнить некоторое администрирование базы данных с помощью SQL Server Management Studio. Однако когда я открываю этот инструмент, я вижу только системные базы данных. Что мне нужно сделать, чтобы просмотреть базу данных, созданную веб-приложением?

Некоторые детали, которые могут помочь:

Приложение использует следующую строку подключения в Web.config:

<add name="DefaultConnection" connectionString="Data Source=.\SqlExpress; Initial Catalog=Foo.Dashboard;Integrated Security=SSPI;User Instance=true" providerName="System.Data.SqlClient" />

В IIS пул приложений настроен на работу с удостоверением LocalService и Load User Profile настройка True. В Sql Server Express мы добавили логин для Local Service счет и дал ему dbcreator роль. Когда приложение запустилось, оно смогло создать базу данных и таблицы, и, похоже, все работает.

Затем я подключаюсь к серверу с удаленным рабочим столом и открываю SQL Server Management Studio. Для подключения к базе я ввожу .\SQLEXPRESS в качестве имени сервера и аутентифицироваться с помощью Windows Authentication. Затем я подключаюсь и видеть только системные базы данных. Я добавил все возможные роли базы данных в свой логин и вижу, что у меня есть VIEW ANY DATABASE разрешение на вкладке Действующие.

User Instance=true

Это потому, что он работает как пользовательский экземпляр. Возможно, вы сможете подключиться к нему, используя данные Вот

В качестве альтернативы, если вы удалите User Instance=true из строки подключения, если вы сначала используете код EF, это должно привести к созданию новой БД в собственном экземпляре SQL. Имейте в виду, что таблицы будут пустыми, и вам нужно будет переместить любые данные из вашего пользовательского экземпляра, если они есть.