Freigeben über


Gewusst wie: Bereitstellen der ASP.NET-Mitgliedschaftsdatenbank ohne Einbeziehung von Benutzerkonten

In diesem Thema wird beschrieben, wie die SQL Server-Datenbank, die standardmäßig für ASP.NET-Mitgliedschaft und Profilinformationen verwendet wird, bereitgestellt wird, ohne Benutzerkontodaten (Testdaten) einzuschließen, die Sie auf dem Entwicklungscomputer eingegeben haben. In den hier beschriebenen Prozeduren wird angenommen, dass Sie Bereitstellungen mit einem Bereitstellungspaket und durch Aktivieren des Kontrollkästchens Daten und/oder Schema aus einer vorhandenen Datenbank extrahieren auf der Registerkarte SQL packen/veröffentlichen der Projektseite Eigenschaften ausführen.

Wenn Sie das Kontrollkästchen Daten und/oder Schema aus einer vorhandenen Datenbank extrahieren aktivieren, können Sie angeben, dass Visual Studio nur Datenbankstrukturen (die Option Nur Schema) oder Strukturen und Daten (die Option Schema und Daten) bereitstellen soll. Wenn Sie jedoch Nur Schema auswählen, funktioniert die bereitgestellte Website nicht, da die ASP.NET-Mitgliedschaft und das Profilsystem Konfigurationsdaten erfordern, die in einer der Mitgliedschaftsdatenbanktabellen gespeichert werden. Wenn Sie andererseits Schema und Daten auswählen, enthält die bereitgestellte Datenbank die Benutzerinformationen (Testdaten), die Sie auf dem Entwicklungscomputer eingegeben haben.

Die einfachste Möglichkeit, eine Mitgliedschaftsdatenbank ohne Benutzerkontodaten bereitzustellen, liegt in der Erstellung einer neuen Datenbank und in der anschließenden Bereitstellung dieser Datenbank anstelle der Datenbank, die die Testdaten enthält. Im ersten Abschnitt dieses Themas wird die entsprechende Vorgehensweise beschrieben.

Eine andere Methode ist, die Option Nur Schema anzugeben und dann ein benutzerdefiniertes Skript hinzuzufügen, mit dem Daten in die Tabelle eingefügt werden, die Konfigurationsdaten erfordert. Diese Methode kann die bessere Wahl sein, wenn Sie die Mitgliedschaftsdatenbank angepasst haben (z. B. durch Hinzufügen von Tabellen zur Datenbank). Im zweiten Abschnitt dieses Themas wird die entsprechende Vorgehensweise beschrieben.

Dieses Thema enthält keine ausführlichen Anweisungen zur Datenbankbereitstellung. Es soll eine Ergänzung zum Thema Gewusst wie: Bereitstellen einer Datenbank mit eine–m Webanwendungsprojekt bieten.

Hinweis

Wenn Sie bereits die Datenbank mit der Option Schema und Daten bereitgestellt haben und eine erneute Bereitstellung ausführen möchten, um Testdaten zu entfernen, die unabsichtlich bereitgestellt wurden, müssen Sie angeben, dass vorhandene Tabellen vor der erneuten Erstellung gelöscht werden sollen.Informationen hierzu finden Sie im Abschnitt Erneute Bereitstellung mit automatisch generierten Skripts in Gewusst wie: Bereitstellen einer Datenbank mit eine–m Webanwendungsprojekt.

Bereitstellen einer ASP.NET-Mitgliedschaftsdatenbank, die nicht angepasst wurde

In der folgenden Prozedur erstellen Sie eine neue Mitgliedschaftsdatenbank und kopieren die resultierende MDF-Datei für Bereitstellungen in den Ordner App_Data des Projekts. Wenn Sie One-Click-Veröffentlichungen verwenden oder Bereitstellungen mithilfe eines Webbereitstellungspakets ausführen, wird die Datenbank als Quelldatenbank zum Generieren von Bereitstellungsskripts verwendet.

So stellen Sie eine ASP.NET-Mitgliedschaftsdatenbank bereit, die nicht angepasst wurde

  1. Erstellen Sie ein neues Webanwendungsprojekt mithilfe der Vorlage ASP.NET-Webanwendung.

  2. Erweitern Sie in Projektmappen-Explorer den Ordner Konto, klicken Sie mit der rechten Maustaste auf die Datei Login.aspx, und klicken Sie dann auf In Browser anzeigen.

  3. Geben Sie einen beliebigen Benutzernamen und ein Kennwort ein, und klicken Sie dann auf die Schaltfläche Anmelden.

    Wenn ASP.NET versucht, die eingegebenen Anmeldeinformationen zu validieren, erstellt es die Datenbankdatei aspnetdb.mdf. Daraufhin wird eine Mitgliedschaftsdatenbank erstellt, die abgesehen von den erforderlichen Konfigurationsinformationen leer ist.

  4. Kopieren Sie die Datenbankdatei aspnetdb.mdf aus dem Ordner App_Data des neuen Projekts in den Ordner App_Data des Projekts, das Sie bereitstellen möchten.

    Dadurch wird die vorhandene Mitgliedschaftsdatenbank überschrieben, und alle Benutzerinformationen mit Ausnahme der im vorherigen Schritt erstellten Informationen werden entfernt.

  5. Wählen Sie auf der Registerkarte SQL packen/veröffentlichen unter Optionen für Datenbankskripterstellung die Option Schema und Daten aus.

Bereitstellen einer benutzerdefinierten ASP.NET-Mitgliedschaftsdatenbank

In der folgenden Prozedur verwenden Sie automatische Skripterstellung, um nur die Datenbankstruktur bereitzustellen, und Sie erstellen ein benutzerdefiniertes Skript, um nur die ausgewählten Datenbanktabellen auszufüllen.

So stellen Sie eine benutzerdefinierte ASP.NET-Mitgliedschaftsdatenbank bereit

  1. Führen Sie den Befehl Web Deploy aus, um Bereitstellungsskripts durch Eingabe des folgenden Befehls an einer Befehlszeilen-Eingabeaufforderung zu erstellen:

    "C:\Program Files\IIS\Microsoft Web Deploy\msdeploy.exe" -verb:sync -source:dbfullsql="[Ihre Verbindungszeichenfolge]" -dest:dbfullsql="c:\temp\InsertIntoAspNetDB.sql"

    Wenn die Verbindungszeichenfolge die Zeichenfolge | DataDirectory | \aspnetdb.mdf enthält, ersetzen Sie | DataDirectory | durch den vollständigen Pfad zum Ordner App_Data.

    Wenn sich der Ordner Programme auf einem anderen Laufwerk befindet, ersetzen Sie den entsprechenden Laufwerkbuchstaben. Sie können einen anderen temporären Ordner und einen Dateinamen für die SQL-Ausgabedatei auswählen.

  2. Löschen Sie in der generierten SQL-Datei sämtlichen Inhalt mit Ausnahme der Insert-Anweisungen für die aspnet_SchemaVersions-Tabelle und für alle benutzerdefinierten Tabellen, für die Sie Daten bereitstellen möchten.

  3. Wählen Sie auf der Registerkarte SQL packen/veröffentlichen unter Optionen für Datenbankskripterstellung die Option Nur Schema aus, und fügen Sie die bearbeitete SQL-Datei als benutzerdefiniertes Skript hinzu.

Siehe auch

Konzepte

Einstieg in die ASP.NET-Bereitstellung