2012-02-10 90 views
1

ASPStateデータベースのASPStateTempSessionsテーブルを見ると、asp.netのセッションを格納するためにsqlサーバーを使用しています。これは空ですが、このテーブルのレコードは一度削除されるセッションは期限切れですか?レコードはいつ削除されますか?SQLのASP.NETセッション状態

答えて

3

のInstallSqlState.sqlスクリプトは のtempdbから期限切れセッションを削除するには ASPState_Job_DeleteExpiredSessionsと呼ばれるジョブを作成します。 ASP.NETはセッションリソースを生きているままにしないことを思い出してください 無期限に。 SQL Serverを使用して の状態を維持するときにこの機能をサポートするには、必要に応じて 期限切れのセッション削除ジョブが実行されるように、SQL Serverエージェントが実行されている必要があります。既定では、ジョブは毎分実行するようにスケジュールされた です。 を使用してセッション状態の行を削除します。現在の時刻よりも値が短くなります。 SQL Serverエージェントを実行するアカウントには、 DeleteExpiredSessionsストアドプロシージャを実行する特権が必要です。

this one

+0

View ***パフォーマンスの問題*** DeleteExpiredSessions'ストアドプロシージャについて:https://sqlperformance.com/2013/01/t-sql-queries/optimize-aspstate – Kiquenet

0

それは今dbo.DeleteExpiredSessionsに名前が変更されています参照してください。

SQL Serverエージェントをお持ちでない場合は、コマンドラインから実行してください。

sqlcmd -S MyServerName -d MyStateDbName -E -Q "DeleteExpiredSessions" 

また、大量のデータを削除する場合は、DBCC圧縮を行う必要があります。

関連する問題