ASP.NET SQL Server 登録ツール (Aspnet_regsql.exe)
更新 : 2007 年 11 月
ASP.NET SQL Server 登録ツール (Aspnet_regsql.exe) は、ASP.NET で SQL Server プロバイダによって使用される Microsoft SQL Server データベースを作成するために使用します。このツールは、既存のデータベースのオプションを追加または削除する場合にも使用します。
使用している .NET Framework のバージョンには関係なく、Aspnet_regsql.exe ファイルは、Web サーバー コンピュータの以下のフォルダに配置されています。
[drive:]\%windir%\Microsoft.NET\Framework\v2.0.50727
コマンド ライン引数を指定せずに Aspnet_regsql.exe を実行すると、ウィザードが起動します。このウィザードの手順に従って、インストールされている SQL Server の接続情報を指定し、メンバシップ、ロール管理、プロファイル、Web パーツのパーソナル化、および状態監視の機能に使用されるデータベース要素をインストールまたは削除できます。(セッション状態の設定と SQL キャッシュの依存関係は、このウィザードで扱われません。)また、Aspnet_regsql.exe をコマンド ライン ツールとして使用し、追加または削除する個々の機能に対するデータベース要素を指定することもできます。使用できるオプションを次の表に示します。
Aspnet_regsql.exe <options>
SQL 接続オプション
オプション |
説明 |
---|---|
-? |
Aspnet_regsql.exe のヘルプ テキストをコマンド ウィンドウに表示します。 |
-W |
このツールをウィザード モードで実行します。これは、コマンド ライン引数が指定されていない場合の既定値です。 |
-C <connection string> |
データベースのインストール先の SQL Server を実行するコンピュータ、またはデータベースが既にインストールされている SQL Server を実行するコンピュータへの接続文字列を指定します。サーバー情報 (-S) およびログイン情報 (-U および -P、または -E) だけを指定する場合は必要ありません。 |
-S <server> |
データベースのインストール先の SQL Server を実行するコンピュータ、またはデータベースが既にインストールされている SQL Server を実行するコンピュータの名前を指定します。 |
-U <login ID> |
ログインに使用する SQL Server ユーザー ID です。このオプションは、パスワード (-P) オプションと共に使用する必要があります。Windows 資格情報 (-E) を使用して認証する場合は必要ありません。 |
-P <password> |
ログインに使用する SQL Server パスワードです。このオプションは、ユーザー ID (-U) オプションと共に使用する必要があります。Windows 資格情報 (-E) を使用して認証する場合は必要ありません。 |
-E |
現在ログオンしているユーザーの Windows 資格情報を使用して認証します。 |
-sqlexportonly <filename> |
指定した機能の追加または削除に使用できる SQL スクリプト ファイルを生成します。指定した処理は実行されません。 |
アプリケーション サービス オプション
オプション |
説明 |
---|---|
-A all|m|r|p|c|w |
1 つ以上の ASP.NET アプリケーション サービスのサポートを追加します。サービス識別子は、まとめて指定することも、個別に指定することもできます。ASP.NET アプリケーション サービスには次の識別子を使用します。 all - すべてのサービス。サービス間で共有される共通のテーブルとストアド プロシージャも含まれます。 m - メンバシップ r - ロール マネージャ p - プロファイル c - Web パーツのパーソナル化 w - Web イベント |
-R all|m|r|p|c|w |
1 つ以上のアプリケーション サービスのサポートを削除します。サービス識別子は、まとめて指定することも、個別に指定することもできます。ASP.NET アプリケーション サービスには次の識別子を使用します。 all - すべてのサービス。サービス間で共有される共通のテーブルとストアド プロシージャも含まれます。 m - メンバシップ r - ロール マネージャ p - プロファイル c - Web パーツのパーソナル化 w - Web イベント |
-Q |
クワイエット モードでツールを実行します。アプリケーション サービスを削除する前に確認を求めません。 |
-d <database> |
アプリケーション サービスで使用するために作成または変更するデータベースの名前を指定します。データベースを指定しない場合、既定のデータベース名である "aspnetdb" が使用されます。 |
メモ : |
---|
アプリケーション サービス データベースにインストールされるデータベース要素は常に、SQL Server データベース所有者アカウント (dbo) で所有されます。アプリケーション サービス データベースのインストールは、SQL Server を実行しているコンピュータのシステム管理者でなくても行うことができます。アプリケーション サービス データベースをインストールするには、SQL Server データベースの db_ddladmin ロールおよび dd_securityadmin ロールへの SQL Server ログインを許可される必要があります。 |
SQL キャッシュ依存関係オプション (Microsoft SQL Server 7.0、Microsoft SQL Server 2000、および SQL Server 2005 で使用)
オプション |
説明 |
---|---|
-d <database> |
SQL キャッシュ依存関係で使用するデータベースの名前を指定します。このデータベースは、接続文字列オプションの -C を使って指定することもできます。 |
-ed |
データベースを SQL キャッシュ依存関係に使用できるようにします。 |
-dd |
データベースを SQL キャッシュ依存関係に使用できないようにします。 |
-et |
テーブルを SQL キャッシュ依存関係に使用できるようにします。-t オプションもパラメータ文字列に含める必要があります。 |
-dt |
テーブルを SQL キャッシュ依存関係に使用できないようにします。-t オプションもパラメータ文字列に含める必要があります。 |
-t <table> |
SQL キャッシュ依存関係での使用を有効または無効にするテーブルの名前を指定します。このオプションは、-et オプションまたは -dt オプションと組み合わせて使う必要があります。 |
-lt |
SQL キャッシュ依存関係に使えるすべてのテーブルの一覧を表示します。 |
セッション状態オプション
オプション |
説明 |
---|---|
-d <database> |
セッション状態を保存するデータベースの名前を指定します。このオプションは、-sstype が c に設定されている場合に使用する必要があります。 |
-ssadd |
SQL Server モード セッション状態のサポートを追加します。 |
-ssremove |
SQL Server モード セッション状態のサポートを削除します。 |
-sstype t|p|c |
使用するセッション状態の種類を指定します。 t - 一時。セッション状態データを SQL Server tempdb データベースに格納します。セッション状態を管理するストアド プロシージャは、SQL Server ASPState データベースにインストールされます。SQL を再起動すると、データは失われます。これは、既定の設定です。 p - 永続。セッション状態データとストアド プロシージャの両方を SQL Server ASPState データベースに格納します。 c - カスタム。セッション状態データとストアド プロシージャの両方をカスタム データベースに格納します。データベース名は、-d オプションを使って指定する必要があります。 |
解説
ASP.NET SQL Server 登録ツールを使用して、複数の種類のオプションを設定できます。SQL 接続、SQL Server を使って情報を管理する ASP.NET アプリケーション サービス、および SQL キャッシュ依存関係で使用するデータベースまたはテーブルを指定し、プロシージャとセッション状態を格納するための SQL Server サポートを追加または削除できます。
一部の ASP.NET アプリケーション サービスは、データ ソースのデータの格納および取得の管理をプロバイダに依存しています。各プロバイダはデータ ソースに固有です。ASP.NET には、次の ASP.NET 機能を提供する SQL Server プロバイダが含まれます。
メンバシップ (SqlMembershipProvider クラス)
ロール管理 (SqlRoleProvider クラス)
プロファイル (SqlProfileProvider クラス)
Web パーツのパーソナル化 (SqlPersonalizationProvider クラス)
Web イベント (SqlWebEventProvider クラス)
ASP.NET をインストールすると、サーバーの Machine.config ファイルには、プロバイダに依存する各 ASP.NET 機能で使用する SQL Server プロバイダを指定する構成要素が含まれます。これらのプロバイダは、既定で SQL Server Express 2005 のローカル インスタンスに接続されるように構成されています。プロバイダで使用される既定の接続文字列を変更した場合は、SQL Server データベースおよび Aspnet_regsql.exe を使うことを選択した機能のデータベース要素をインストールするまでは、マシン構成で設定された ASP.NET 機能を使用できません。Aspnet_regsql.exe で指定したデータベース (コマンド ラインでデータベースを指定しない場合の既定のデータベースは aspnetdb) が存在しない場合、現在のユーザーは、SQL Server にデータベースを作成する権限とデータベース内にスキーマ要素を作成する権限を持っている必要があります。
各 SQL Server プロバイダは、特定の機能のデータを格納するために同じ SQL Server データベースを使用できます。各機能は、個別に使用することも、他の機能と組み合わせて使用することもできます。たとえば、ロール管理を単独で使用したり、メンバシップによって管理されているユーザー情報と組み合わせて使用したりできます。
SQL Server プロバイダと ASP.NET の詳細については、「メンバシップ プロバイダの実装」、「プロファイル プロバイダの実装」、および「ロール プロバイダの実装」を参照してください。
SQL キャッシュ依存関係
ASP.NET の出力キャッシュの高度な機能として、SQL キャッシュの依存関係があります。SQL キャッシュの依存関係には、2 種類の動作モードがあります。1 つはテーブル ポーリングの ASP.NET 実装を使用するモードで、もう 1 つは SQL Server 2005 のクエリ通知機能を使用するモードです。Aspnet_regsql.exe を使用して、テーブル ポーリングを使用する動作モードを設定できます。SQL キャッシュの依存関係を使用すると、SQL Server テーブルのデータに依存するページをキャッシュできます。ページが依存するデータが SQL Server で更新されるまでページ要求をキャッシュしてサーバーの負荷を減らすように、SQL Server と ASP.NET を設定できます。SQL キャッシュの依存関係は、製品カタログや比較的静的な顧客登録情報などのデータに使用すると便利です。SQL キャッシュ依存関係の ASP.NET テーブル ポーリング モードを使用する場合は、依存データの変更に関する通知が ASP.NET に適切に送られるように SQL Server を設定する必要があります。したがって、サーバーを設定するには、管理者特権が必要です。SQL キャッシュ依存関係の詳細については、「チュートリアル : SQL Server での ASP.NET の出力キャッシュの使用」を参照してください。
セッション状態
ASP.NET のセッション状態は、ASP.NET アプリケーション用のさまざまなソースにユーザー セッション データを簡単に格納できるようにするためのものです。既定では、セッション状態の値および情報は ASP.NET プロセス内のメモリに格納されます。または、SQL Server データベースにセッション データを格納し、複数の Web サーバーでデータを共有することもできます。セッション状態の詳細については、「セッション状態ストア プロバイダの実装」と「セッション状態モード」を参照してください。
Aspnet_regsql.exe で指定したセッション状態用のデータベースが存在しない場合、現在のユーザーは、SQL Server にデータベースを作成する権限とデータベース内にスキーマ要素を作成する権限を持っている必要があります。データベースが存在する場合、現在のユーザーは、既存のデータベースにスキーマ要素を作成する権限を持っている必要があります。
セッション状態データベースを SQL Server にインストールするには、Aspnet_regsql.exe ツールを実行し、次の情報をコマンドで渡します。
SQL Server インスタンスの名前。-S オプションを使用します。
SQL Server を実行するコンピュータにデータベースを作成できる権限を持つアカウントのログオン資格情報。-E オプションを使用して、現在ログオンしているユーザーを使用するか、-U オプションでユーザー ID を指定し、-P オプションでパスワードを指定します。
セッション状態データベースを追加するための -ssadd コマンド ライン オプション。
既定では、Aspnet_regsql.exe を使用して、SQL Server 2005 Express Edition を実行するコンピュータにセッション状態データベースをインストールすることはできません。SQL Server 2005 Express Edition を使用してセッション情報を保存する方法の詳細については、「セッション状態モード」を参照してください。
例
コマンド ライン引数を指定せずに Aspnet_regsql.exe を実行すると、ウィザードが起動します。このウィザードの手順に従って、SQL Server データベースの接続情報を指定し、サポートされている機能をインストールまたは削除できます。また、Aspnet_regsql.exe をコマンド ライン ツールとして使用し、追加または削除する個々の機能に対するデータベース要素を指定することもできます。SQL キャッシュ依存関係の設定を指定したり、セッション状態を設定したりするには、コマンド ライン ツールを使う必要があります。
ウィザードを実行するには、次の例に示すように、コマンド ライン引数を指定せずに Aspnet_regsql.exe を実行します。
C:\%windir%\Microsoft.NET\Framework\<versionNumber>\aspnet_regsql.exe
ASP.NET SQL 登録ツールでは、多くの場合に -A オプションまたは -R オプションを組み合わせて使って、SQL Server プロバイダで使用される機能を指定します。-A オプションを指定すると、1 つ以上の機能のサポートを追加できます。-R オプションを指定すると、1 つの機能を削除できます。次のコマンドは、Windows 認証を使用して SQL Server を実行するローカル コンピュータにメンバシップとロール管理のデータベース要素をインストールします。
aspnet_regsql.exe -E -S localhost -A mr
SQL キャッシュの依存関係を設定するには、管理者特権または管理者のアカウントとパスワードが必要です。次のコマンドは、Northwind データベース内の Employees テーブルの SQL キャッシュ依存関係を有効にします。
aspnet_regsql.exe -S <Server> -U <Username> -P <Password> -ed -d Northwind -et -t Employees
次のコマンドは、"SampleSqlServer" という SQL Server に ASPState という名前のデータベースを作成し、セッション データが ASPState データベースに格納されるようにします。
aspnet_regsql.exe -S SampleSqlServer -E -ssadd -sstype p