SqlServer数据库配置
默认情况下,系统会为应用程序创建一个Sql Express的数据库示例,该数据库示例位于App_Data文件夹下,名称是ASPNETDB.MDF。只要稍微配置一下Web.config文件,就可以实现ASP.NET2.0带来的新特性。如果我们想在Sql Server 2000上实现这些新特性也是完全可以做到的,只需要配置下数据库就OK了。
配置Sql Server 2000可以用aspnet_reqsql工具来完成。一种方法是用带有命令行的aspnet_regsql,还有一种方法是直接使用aspnet_regsql。第二种方法简单快捷,下面对二种方法进行详细的说明。
一、使用带有命令行的aspnet_regsql
Aspnet_regsql.exe 文件位于 Web 服务器上的 [drive:]\WINDOWS\Microsoft.NET\Framework\versionNumber 文件夹中。
SQL 连接选项
选项 |
说明 |
-? |
在命令窗口中显示 Aspnet_regsql.exe 帮助文本。 |
-W |
在向导模式下运行该工具。如果未指定任何命令行参数,那么这是默认设置。 |
-C <connection string> |
指定要连接到正在运行 SQL Server 并且将安装或者已经安装数据库的计算机的连接字符串。如果您仅指定服务器 (-S) 和登录(-U 和 -P 或 -E)信息,则此选项不是必需的。 |
-S <server> |
指定正在运行 SQL Server 并且将安装或者已安装数据库的计算机的名称。 |
-U <login ID> |
要用来登录的 SQL Server 用户 ID。此选项还要求使用密码 (-P) 选项。如果要使用 Windows 凭据 (-E) 进行身份验证,则此选项不是必需的。 |
-P <password> |
要用来登录的 SQL Server 密码。此选项还要求使用用户 ID (-U) 选项。如果要使用 Windows 凭据 (-E) 进行身份验证,则此选项不是必需的。 |
-E |
使用当前登录用户的 Windows 凭据进行身份验证。 |
-sqlexportlonly <filename> |
生成可用于添加或移除指定功能的 SQL 脚本文件。不执行指定的操作。 |
应用程序服务选项
选项 |
说明 |
-A all|m|r|p|c|w |
添加对一项或多项 ASP.NET 应用程序服务的支持。可以同时或单独指定服务标识符。下列标识符用于 ASP.NET 应用程序服务。 all -- 所有的服务,包括由服务共享的通用表和存储过程。 m -- 成员资格 r -- 角色管理器 p -- 配置文件 c -- Web 部件个性化设置 w -- Web 事件 |
-R all|m|r|p|c|w |
移除对一项或多项应用程序服务的支持。可以同时或单独指定服务标识符。下列标识符用于 ASP.NET 应用程序服务。 all -- 所有的服务,包括由服务共享的通用表和存储过程。 m -- 成员资格 r -- 角色管理器 p -- 配置文件 c -- Web 部件个性化设置 w -- Web 事件 |
-Q |
在安静模式下运行该工具,并且在移除应用程序服务之前不进行确认。 |
-d <database> |
指定要创建或修改以便与应用程序服务一起使用的数据库的名称。如果未指定数据库,则使用默认数据库名称“aspnetdb”。 |
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 选项指定数据库名。 |
示例代码:
aspnet_regsql -A p -E
执行了以上代码后,就完成了对实现profile的数据库配置,在SqlServer2000中生成了四张表和三张视图,还有很多存储过程。
下图是在Visio中生成的,到这里数据库的配置就基本完成了。
<configuration xmlns="http://schemas.microsoft.com/.NetConfiguration/v2.0">
<appSettings/>
<connectionStrings>
<add name="strConn"
connectionString="Data Source=.;Initial Catalog=aspnetdb;Integrated Security=True"
providerName="System.Data.SqlClient" />
</connectionStrings>
<system.web>
<profile defaultProvider="SqlProvider">
<providers>
<clear />
<add name="SqlProvider" connectionStringName="strConn" type="System.Web.Profile.SqlProfileProvider" applicationName="AppName" />
</providers>
</profile>
<compilation debug="true"/>
<authentication mode="Form"/>
</system.web>
</configuration>