Konfigurieren SQL Server zum Speichern ASP.NET Sitzungsstatus

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

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

Anforderungen

In der folgenden Liste werden die empfohlenen Hardware-, Software-, Netzwerkinfrastruktur- und Service Packs beschrieben, die Sie benötigen:

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

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

In den folgenden Schritten wird beschrieben, wie Sie die Skriptdateien "InstallSqlState.sql" und "UninstallSqlState.sql" ausführen, um SQL Server Sitzungsstatusverwaltung 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 Skriptdatei "InstallSqlState.sql" , und wählen Sie " Ö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 "Ausführen" im Menü "Abfrage" aus, um das Skript auszuführen.

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

    1. Klicken Sie im Windows Startmenü auf "Ausführen", geben Sie "cmd" ein, und wählen Sie dann "OK" aus, um eine Eingabeaufforderung zu öffnen.
    2. Geben Sie net stop w3svcan der Eingabeaufforderung . 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 Skriptdatei "UninstallSqlState.sql ", und wählen Sie " Ö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 Sitzungsstatusverwaltungskonfiguration deinstalliert haben, müssen Sie den w3svc-Dienst neu starten. Geben Sie an einer Eingabeaufforderung ein, net start w3svc um den w3svc-Prozess neu zu starten.

Ändern der Web.config-Datei Ihrer Anwendung

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

  1. Legen Sie das Modusattribut des <sessionState> Elements auf SQLServer fest, um anzugeben, dass der Sitzungsstatus in SQL Server gespeichert ist.

  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 muss über Berechtigungen verfügen, <user name>um diesen Vorgang in der Datenbank ausführen zu können.

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

<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 Skriptdatei UninstallSqlState.sql ausführen, wird die folgende Fehlermeldung angezeigt:

    Die Datenbank "ASPState" kann nicht abgelegt werden, da sie derzeit verwendet wird.

  • Wenn Einträge in der ASPStateTempSessions-Tabelle 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 Standardskriptdateien "InstallSqlState.sql" und "UninstallSqlState.sql" zum Konfigurieren ASP.NET SQL Server Modus sitzungsstatusverwaltung verwenden. Diese Dateien fügen die Tabellen ASPStateTempSessions und ASPStateTempApplications standardmäßig der tempdb-Datenbank in SQL Server hinzu. Wenn Sie SQL Server neu starten, gehen außerdem die Sitzungsstatusdaten verloren, die in den Tabellen ASPStateTempSessions und ASPStateTempApplications gespeichert wurden. Weitere Informationen zum Ausführen alternativer Skripts zum Konfigurieren der permanenten SQL Server Sitzungsstatusverwaltung, damit die Sitzungsdaten beim Neustart des Servers nicht verloren gehen.

References

Sitzungsstatus