Как я могу загрузить базу данных ASPNETDB на сервер? - PullRequest
1 голос
/ 12 июля 2011

Я загрузил резервную копию базы данных, и она работает нормально.но так как я создал нового пользователя из конфигурации ASP.NET, я сохраняю информацию о пользователе в ASPNETDB.

Я уже опубликовал свою базу данных из MVS и открыл ее в M SQL Server Management Studio 2008, чтобы создать резервную копию, но я не нашел в ней ASPNETDB.

мой вопрос:

  1. Разве эта база данных не загружает ее автоматически, когда я загружаю свою базу данных?Потому что когда я публикую свой сайт, он не появляется.

  2. , если нет, как я могу загрузить ASPNETDB, чтобы я мог войти на свой сайт, потому что я использую авторизацию для этого пользователя?

Ответы [ 2 ]

0 голосов
/ 12 июля 2011

Хорошо, я сделаю несколько предположений здесь и объясню их, потому что это может быть много вещей:

Предположение 1 (проблема со строкой соединения).учетные данные пользователя для базы данных, работающей на вашем локальном сервере sql, скорее всего, будут действительны на сервере, на котором вы развертываете (кажется, мировой путь), попробуйте подключиться к удаленной базе данных, используя учетные данные в удаленном «опубликованном»копия файла конфигурации сайтов.(строка подключения)

Предположение 2 (параметры публикации опубликованы неверно).Когда вы используете опцию «Опубликовать» из Visual Studio, вы только развертываете веб-сайт, насколько мне известно, но некоторые говорят, что вы можете настроить его для развертывания базы данных.

Я бы предложил внести изменения (например, добавить таблицу в базу данных aspnet) на вашем компьютере разработчика, а затем использовать публикацию, чтобы увидеть, появляется ли эта новая таблица на удаленном сервере, если она не отправляется на серверИсследуйте в Visual Studio и запустите мастер, щелкнув правой кнопкой мыши по вашей базе данных и нажав «Опубликовать в провайдера». Я склонен помещать всю базу данных в файл сценария, а затем запускать ее вручную на удаленной базе данных (кажется, самый чистый вариант).

Предположение 3 (существует ли база данных даже на сервере).Я могу ошибаться, но то, что вы говорите, звучит так, как будто вы опубликовали приложение, а не базу данных на сервере ... что приводит к некоторым хорошим желтым ошибкам сервера.

Убедитесь, что база данных существует, если нет ... выполните действия, предложенные в предположении 2, и добавьте базу данных вручную.

0 голосов
/ 12 июля 2011

Полагаю, вы используете API членства.

Если вы используете ASP.NET на компьютере с SQL Server Express Edition, то необходимое для членства API базовое хранилище данных создается автоматически при создании первого пользователя. Эта функциональность предоставляется через SqlMembershipProvider. SqlMembershipProvider автоматически создает новую базу данных в специальном каталоге App_Data веб-сайта под названием ASPNETDB.MDB. Эта база данных реализует полную схему, которая необходима для хранения и управления пользовательской информацией, информацией о ролях, назначениями пользовательских ролей и т. Д.

Вы можете легко проверить это. В вашем web.config вы должны увидеть что-то вроде:

<connectionStrings>
    <add name="ApplicationServices" connectionString="data source=.\SQLEXPRESS;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnetdb.mdf;User Instance=true"
      providerName="System.Data.SqlClient" />
 </connectionStrings>

Таким образом, эта база данных должна была быть загружена вместе с вашим веб-сайтом.

Пожалуйста, рассмотрите этот учебник , если вы хотите создать aspnetdb или необходимые таблицы в вашей собственной базе данных (что является хорошим практическим приемом).

Может быть, вас также заинтересует подобное обсуждение здесь . Кроме того, если вы все еще хотите получить эту базу данных .mdf в SQL Server Management Studio, вы можете узнать, как прикрепить базу данных здесь .

...