Konfigurieren SQL Server zum Speichern ASP.NET Sitzungszustands

In diesem Artikel wird veranschaulicht, wie Sie Microsoft SQL Server für die Sitzungszustandsverwaltung im ASP.NET SQL Server Modus konfigurieren.

              Originale Produktversion: ASP.NET
Ursprüngliche KB-Nummer: 317604

Anforderungen

In der folgenden Liste sind die empfohlenen Hardware, Software, Netzwerkinfrastruktur und Service Packs aufgeführt, die Sie benötigen:

  • Windows
  • .NET Framework
  • Internetinformationsdienste (IIS)
  • SQL Server

Konfigurieren SQL Server für ASP.NET SQL Server Sitzungszustand

In den folgenden Schritten wird beschrieben, wie sie die InstallSqlState.sql und die UninstallSqlState.sql Skriptdateien ausführen, um SQL Server Sitzungszustandsverwaltung zu konfigurieren.

  1. Wählen Sie in SQL Query Analyzer im Menü Datei die Option Öffnen aus.

  2. Navigieren Sie im Dialogfeld Abfragedatei öffnen zur InstallSqlState.sql Skriptdatei, und wählen Sie dann Öffnen aus. Standardmäßig befindet sich InstallSqlState.sql in einem der folgenden Ordner:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  3. Nachdem InstallSqlState.sql in SQL Query Analyzer geöffnet wurde, wählen Sie im Menü Abfrage die Option Ausführen aus, um das Skript auszuführen.

  4. Bevor Sie die UninstallSqlState.sql Skriptdatei ausführen, um SQL Server Sitzungszustandsverwaltungskonfiguration zu deinstallieren, müssen Sie den w3svc-Prozess beenden. Gehen Sie dazu wie folgt vor:

    1. Wählen Sie im Windows-StartmenüAusführen aus, geben Sie cmd ein, und wählen Sie dann OK aus, um eine Eingabeaufforderung zu öffnen.
    2. Geben Sie an der Eingabeaufforderung ein net stop w3svc. Sie erhalten eine Bestätigung, dass der w3svc-Prozess beendet wurde.
  5. Wählen Sie in SQL Query Analyzer im Menü Datei die Option Öffnen aus.

  6. Navigieren Sie im Dialogfeld Abfragedatei öffnen zur UninstallSqlState.sql Skriptdatei, und wählen Sie dann Öffnen aus. Standardmäßig befindet sich UninstallSqlState.sql in einem der folgenden Ordner:

    • system drive\WINNT\Microsoft.NET\Framework\version\
    • system drive\Windows\Microsoft.NET\Framework\version\
  7. Nachdem UninstallSqlState.sql in SQL Query Analyzer geöffnet wurde, wählen Sie ausführen im Menü Abfrage aus, um das Skript auszuführen.

  8. Nachdem Sie SQL Server Sitzungszustandsverwaltungskonfiguration im Modus deinstalliert haben, müssen Sie den w3svc-Dienst neu starten. Um den w3svc-Prozess neu zu starten, geben Sie net start w3svc an einer Eingabeaufforderung ein.

Ändern der Web.config-Datei Ihrer Anwendung

Um die Sitzungszustandsverwaltung im ASP.NET SQL Server Modus zu implementieren, müssen Sie das <sessionState> Element der Web.config-Datei Ihrer Anwendung wie folgt ändern:

  1. Legen Sie das mode-Attribut des <sessionState> Elements auf SQLServer fest, um anzugeben, dass der Sitzungszustand in SQL Server gespeichert wird.

  2. Legen Sie das sqlConnectionString -Attribut fest, um die Verbindungszeichenfolge für SQL Server anzugeben. Beispiel:

    sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"
    

    Hinweis

    Der Benutzer,Benutzername<>, muss über Berechtigungen zum Ausführen dieses Vorgangs für die Datenbank verfügen.

Das geänderte <sessionState> Element sollte wie folgt aussehen:

<sessionState
    mode="SQLServer"
    sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
    cookieless="false"
    timeout="20"
/>

Hinweis

Stellen Sie sicher, dass Sie die richtige Groß-/Kleinschreibung verwenden, wenn Sie das <sessionState> Element und die zugehörigen Attributwerte angeben. Bei diesem Code wird die Groß-/Kleinschreibung beachtet.

Problembehandlung

  • Wenn Sie den w3svc-Prozess nicht beenden, bevor Sie die UninstallSqlState.sql Skriptdatei ausführen, erhalten Sie die folgende Fehlermeldung:

    Die Datenbank "ASPState" kann nicht gelöscht werden, da sie derzeit verwendet wird.

  • Wenn Einträge in der Tabelle ASPStateTempSessions nach Ablauf der zugehörigen Sitzungen nicht entfernt werden, stellen Sie sicher, dass der SQL Server Agent ausgeführt wird. Sie können diese Funktionalität über gespeicherte Prozeduren implementieren, die über Aufträge in SQL Server geplant werden. Der SQL Server-Agent verwaltet diese Aufträge.

  • Wenn Sie die Standardmäßigen InstallSqlState.sql und UninstallSqlState.sql Skriptdateien verwenden, um die Sitzungszustandsverwaltung im ASP.NET SQL Server Modus zu konfigurieren. Diese Dateien fügen der tempdb-Datenbank in SQL Server standardmäßig die Tabellen ASPStateTempSessions und ASPStateTempApplications hinzu. Wenn Sie SQL Server neu starten, gehen außerdem die Sitzungszustandsdaten verloren, die in den Tabellen ASPStateTempSessions und ASPStateTempApplications gespeichert wurden. Weitere Informationen zum Ausführen alternativer Skripts zum Konfigurieren persistenter SQL Server Sitzungszustandsverwaltung, damit die Sitzungsdaten beim Neustart des Servers nicht verloren gehen.

References

Sitzungszustand