建立 SQL Server 的應用程式服務資料庫
更新:2007 年 11 月
數個 ASP.NET 功能依賴於提供者,以管理從資料來源儲存和擷取資料。每個提供者都是資料來源特定的。ASP.NET 包含下列 ASP.NET 功能的 Microsoft SQL Server 提供者:
成員資格 (SqlMembershipProvider 類別)
角色管理 (SqlRoleProvider 類別)
設定檔 (SqlProfileProvider 類別)
Web 組件個人化 (SqlPersonalizationProvider 類別)
Web 事件 (SqlWebEventProvider 類別)
根據預設,每個 SQL Server 提供者都會使用本機的 Microsoft SQL Server Express 安裝,將資料儲存在自動產生的資料庫中。每個功能都可以個別使用,也可以與其他功能搭配使用。例如,您可以單獨使用角色管理,也可以將其與成員資格功能所管理的使用者資訊搭配使用。
預先設定的 SQL Server 提供者
安裝 ASP.NET 時,伺服器的電腦組態檔和 Web.config 檔會包含組態項目,該組態項目為依賴於提供者的每個 ASP.NET 功能指定 SQL Server 提供者。根據預設,這些提供者設定為連接至 SQL Server Express 的本機執行個體。如果計劃僅使用指定於電腦組態檔 connectionStrings 區段中的預設位置來使用 SQL Server Express,則完全不需執行資料庫的手動安裝。如果要使用在相同伺服器上執行的 SQL Server 標準版來設定資料庫,或者需要設定遠端 SQL Server 電腦,則需要使用這個工具。
注意事項: |
---|
Aspnet_regsql 工具不能配合以使用者執行個體模式執行的 SQL Server Express 本機安裝使用 (也就是說,連接字串包含 User Instance=true)。 |
使用 Aspnet_regsql.exe 安裝資料庫
ASP.NET 包含名為 Aaspnet_regsql.exe 的工具,用於安裝 SQL Server 提供者使用的 SQL Server 資料庫。Aspnet_regsql.exe 工具位於 Web 伺服器的 drive:\WINDOWS\Microsoft.NET\Framework\versionNumber 資料夾中。Aspnet_regsql.exe 可用於建立 SQL Server 資料庫,也可用於從現有資料庫加入或移除選項。
您可以在不使用任何命令列引數之情況下執行 Aspnet_regsql.exe,以執行精靈,引導您為執行 SQL Server 的電腦指定連接資訊,以及為所有支援的功能安裝或移除資料庫項目。您還可以將 Aspnet_regsql.exe 做為命令列工具執行,以指定要加入或移除之個別功能的資料庫項目。
注意事項: |
---|
在功能資料庫內安裝的資料庫項目將永遠由 SQL Server 資料庫擁有者帳戶 (dbo) 擁有。您必須使用取得 SQL Server 資料庫之 db_ddladmin 和 dd_securityadmin 角色許可的帳戶登入,才能安裝功能資料庫。不過,您不需要以 SQL Server 的系統管理員身分才可以安裝功能資料庫。 |
若要執行 Aspnet_regsql.exe 精靈,在執行 Aspnet_regsql.exe 時,請不使用任何命令列引數,如下列範例所示:
C:\WINDOWS\Microsoft.NET\Framework\<versionNumber>\aspnet_regsql.exe
您也可以將 Aspnet_regsql.exe 工具做為命令列公用程式執行。例如,下列命令會在執行 SQL Server 的本機電腦上安裝成員資格和角色管理的資料庫項目。
aspnet_regsql.exe -E -S localhost -A mr
下表描述 Aspnet_regsql.exe 工具支援的命令列選項。
選項 |
描述 |
---|---|
-? |
在命令視窗中列印 Aspnet_regsql.exe 工具說明文字。 |
-W |
以精靈模式執行此工具。如果未指定任何命令列引數,這是預設值。 |
-C connection string |
執行 SQL Server 的電腦的連接字串,該電腦上將安裝或已安裝資料庫。如果僅指定伺服器 (-S) 和登入 (-U 和 -P 或 -E) 資訊,則不需要這個選項。 |
-S server |
執行 SQL Server 的電腦的名稱,該電腦上將安裝或已安裝資料庫。伺服器名稱還可以包含執行個體名稱,例如 .\INSTANCENAME。 |
-U login id |
登入使用的 SQL Server 使用者 ID。這個選項還需要密碼 (-P) 選項。如果使用 Windows 認證 (-E) 驗證,則不需要這個選項。 |
-P password |
登入使用的 SQL Server 密碼。這個選項還需要登入 ID (-U) 選項。如果使用 Windows 認證 (-E) 驗證,則不需要這個選項。 |
-E |
使用目前登入使用者的 Windows 認證進行驗證。 |
-d database |
要建立或修改的資料庫名稱。如果未指定資料庫,則會使用預設資料庫名稱 "aspnetdb"。 |
-sqlexportonly filename |
產生可用於加入或移除指定功能的 SQL 指令碼檔。指定的動作不會執行。 |
-A all|m|r|p|c|w |
加入對一或多個功能的支援。下列識別項用於 ASP.NET 功能。
識別項影響
all所有功能
m成員資格
r角色管理
p設定檔
cWeb 組件個人化
wWeb 事件
功能識別項可以一起指定,或個別指定,如下列範例所示。 aspnet_regsql.exe -E -S localhost -A mp aspnet_regsql.exe -E -S localhost -A m -A p |
-R all|m|r|p|c|w |
移除對一或多個功能的支援。下列識別項用於 ASP.NET 功能。
識別項影響
all所有功能
m成員資格
r角色管理
p設定檔
cWeb 組件個人化
wWeb 事件
功能識別項可以一起指定,或個別指定,如下列範例所示。 aspnet_regsql.exe -E -S localhost -R mp aspnet_regsql.exe -E -S localhost -R m -R p |
-Q |
以安靜模式執行此工具,且在移除功能之前不確認。 |