[HOWTO] SQL Server で ASP.NET セッション状態管理を構成する方法

文書翻訳 文書翻訳
文書番号: 317604 - 対象製品
この記事は、以前は次の ID で公開されていました: JP317604
すべて展開する | すべて折りたたむ

目次

概要

この資料では、Microsoft SQL Server で ASP.NET SQL Server モードのセッション状態管理を構成する方法について、手順を追って説明します。

必要条件

推奨する必要なハードウェア、ソフトウェア、ネットワーク インフラストラクチャ、および Service Pack は、次のとおりです。
  • Microsoft Windows 2000 Professional、Microsoft Windows 2000 Server、Microsoft Windows 2000 Advanced Server、または Microsoft Windows XP
  • Microsoft .NET Framework
  • Microsoft インターネット インフォメーション サービス (IIS)
  • Microsoft SQL Server

ASP.NET SQL Server モードのセッション状態管理の構成

以下の手順は、InstallSqlState.sql スクリプト ファイルおよび UninstallSqlState.sql スクリプト ファイルを実行して、SQL Server モードのセッション状態管理を構成する方法を示しています。
  1. SQL クエリ アナライザで、[ファイル] メニューの [開く] をクリックします。
  2. [クエリ ファイルを開く] ダイアログ ボックスで、InstallSqlState.sql スクリプト ファイルを選択し、[開く] をクリックします。デフォルトでは、InstallSqlState.sql は次のいずれかのフォルダにあります。
    system drive\WINNT\Microsoft.NET\Framework\version\

    system drive\Windows\Microsoft.NET\Framework\version\
  3. InstallSqlState.sql が SQL クエリ アナライザで開いたら、[クエリ] メニューの [実行] をクリックしてスクリプト ファイルを実行します。
  4. UninstallSqlState.sql スクリプト ファイルを実行して SQL Server モードのセッション状態管理の構成をアンインストールする前に、以下の手順に従って、w3svc プロセスを停止する必要があります。
    1. [スタート] ボタンをクリックし、[ファイル名を指定して実行] をクリックします。cmd と入力し、[OK] をクリックしてコマンド プロンプトを開きます。
    2. コマンド プロンプトで net stop w3svc と入力します。w3svc プロセスが停止したという確認のメッセージが表示されます。
  5. SQL クエリ アナライザで、[ファイル] メニューの [開く] をクリックします。
  6. [クエリ ファイルを開く] ダイアログ ボックスで、UninstallSqlState.sql スクリプト ファイルを選択し、[開く] をクリックします。デフォルトでは、UninstallSqlState.sql は次のいずれかのフォルダにあります。
    system drive\WINNT\Microsoft.NET\Framework\version\

    system drive\Windows\Microsoft.NET\Framework\version\
  7. UninstallSqlState.sql が SQL クエリ アナライザで開いたら、[クエリ] メニューの [実行] をクリックしてスクリプト ファイルを実行します。
  8. SQL Server モードのセッション状態管理の構成をアンインストールした後、w3svc サービスを再開する必要があります。w3svc サービスを再開するには、コマンド プロンプトで net start w3svc と入力します。

アプリケーションの Web.config ファイルの修正

ASP.NET SQL Server モードのセッション状態管理を実装するには、以下の手順に従って、アプリケーションの Web.config ファイルの <sessionState> 要素を変更する必要があります。
  1. セッション状態が SQL Server に格納されることを示すために、<sessionState> 要素の mode 属性に SQLServer を設定します。
  2. sqlConnectionString 属性を設定して、SQL Server の接続文字列を指定します。たとえば、次のように指定します。
    sqlConnectionString="data source=MySQLServer;user id=<username>;password=<strongpassword>"
    

    : ユーザー <user name> には、データベースに対するこの操作の実行許可が必要です。

    修正後の <sessionState> 要素は以下のようになります。
    <sessionState 
                mode="SQLServer"
                sqlConnectionString="data source=127.0.0.1;user id=<username>;password=<strongpassword>"
                cookieless="false" 
                timeout="20" 
        />
    						
    : <sessionState> 要素および関連の属性値を指定する場合は、大文字と小文字を正しく指定してください。このコードでは大文字と小文字が区別されます。

トラブルシューティング

  • UninstallSqlState.sql スクリプト ファイルを実行する前に w3svc プロセスを停止しない場合、以下のエラー メッセージが表示されます。
    データベース 'ASPState' は現在使用中なので、削除できません。
  • 関連するセッションの有効期限が切れた後に、ASPStateTempSessions テーブル内のエントリが削除されていない場合は、SQL Server エージェントが実行されていることを確認してください。この機能は、SQL Server 内のジョブを使用してスケジュールされたストアド プロシージャによって実装できます。これらのジョブは、SQL Server エージェントによって管理されます。
  • デフォルトの InstallSqlState.sql スクリプト ファイルおよび UninstallSqlState.sql スクリプト ファイルを使用して ASP.NET SQL Server モードのセッション状態管理を構成すると、SQL Server の tempdb データベースに、ASPStateTempSessions テーブルおよび ASPStateTempApplications テーブルがデフォルトで追加されます。なお、SQL Server を再起動すると、ASPStateTempSessions テーブルおよび ASPStateTempApplications テーブルに格納されているセッション状態データは失われます。 サーバーを再起動した際にセッション データが失われないように、持続性のある SQL Server セッション状態管理を構成するための別のスクリプトを実行する方法の関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
    311209 [HOWTO] ASP.NET で永続的な SQL Server セッション状態管理を構成する方法

関連情報

関連情報を参照するには、以下の「サポート技術情報」 (Microsoft Knowledge Base) をクリックしてください。
305140 ASP.NET ロードマップ
307598 [INFO] ASP.NET の状態管理について
236166 NET STOP と NET START コマンドを使用して、IIS サービスによるレジストリの再読み込みを強制的に行う方法
ASP.NET のセッション状態管理の詳細については、以下のマイクロソフト Web サイトを参照してください。
セッション状態
http://msdn.microsoft.com/library/ja/cpguide/html/cpconSessionState.asp

Cutting Edge: Using Session and Application Objects in ASP.NET (MSDN Magazine の記事)
http://msdn.microsoft.com/msdnmag/issues/01/11/cutting/default.aspx

プロパティ

文書番号: 317604 - 最終更新日: 2007年4月23日 - リビジョン: 6.4
この資料は以下の製品について記述したものです。
  • Microsoft ASP.NET 1.1
  • Microsoft ASP.NET 1.0
  • Microsoft SQL Server 2000 Standard Edition
  • Microsoft SQL Server 7.0 Standard Edition
  • Microsoft SQL Server 2000 64-bit Edition
キーワード:?
kbconfig kbhowtomaster kbstate kbwebforms KB317604
"Microsoft Knowledge Baseに含まれている情報は、いかなる保証もない現状ベースで提供されるものです。Microsoft Corporation及びその関連会社は、市場性および特定の目的への適合性を含めて、明示的にも黙示的にも、一切の保証をいたしません。さらに、Microsoft Corporation及びその関連会社は、本文書に含まれている情報の使用及び使用結果につき、正確性、真実性等、いかなる表明・保証も行ないません。Microsoft Corporation、その関連会社及びこれらの権限ある代理人による口頭または書面による一切の情報提供またはアドバイスは、保証を意味するものではなく、かつ上記免責条項の範囲を狭めるものではありません。Microsoft Corporation、その関連会社 及びこれらの者の供給者は、直接的、間接的、偶発的、結果的損害、逸失利益、懲罰的損害、または特別損害を含む全ての損害に対して、状況のいかんを問わず一切責任を負いません。(Microsoft Corporation、その関連会社 またはこれらの者の供給者がかかる損害の発生可能性を了知している場合を含みます。) 結果的損害または偶発的損害に対する責任の免除または制限を認めていない地域においては、上記制限が適用されない場合があります。なお、本文書においては、文書の体裁上の都合により製品名の表記において商標登録表示、その他の商標表示を省略している場合がありますので、予めご了解ください。"

フィードバック

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com