共用方式為


sp_addapprole (Transact-SQL)

在目前資料庫加入應用程式角色。

ms176096.note(zh-tw,SQL.90).gif重要事項:
未來的 Microsoft SQL Server 發行版本將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 請改用 CREATE APPLICATION ROLE

主題連結圖示Transact-SQL 語法慣例

語法

sp_addapprole [ @rolename = ] 'role' , [ @password = ] 'password'

引數

  • [ @rolename = ] 'role'
    這是新應用程式角色的名稱。rolesysname,沒有預設值。role 必須是有效的識別碼,而且不能是目前資料庫中已有的識別碼。

    應用程式角色名稱可包含 1 到 128 個字元,其中包括字母、符號和數字。角色名稱不能含有反斜線 (\),也不能是 NULL 或空字串 ('')。

  • [ @password = ] 'password'
    這是啟動應用程式角色所需的密碼。passwordsysname,沒有預設值。password 不能是 NULL。

傳回碼值

0 (成功) 或 1 (失敗)

備註

在舊版的 SQL Server 中,使用者 (和角色) 並未與結構描述完全區分。在 SQL Server 2005 中,結構描述就與角色完全區分了。這個新架構會反映在 CREATE APPLICATION ROLE 的行為上。這個陳述式會取代 sp_addapprole。如需詳細資訊,請參閱<使用者結構描述分隔>。

若要維護與舊版 SQL Server 的相容性,sp_addapprole 會執行下列動作:

  • 如果尚未有與應用程式角色同名的結構描述,就會建立這類結構描述。新的結構描述是由應用程式角色所擁有,它會是應用程式角色的預設結構描述。
  • 如果已經有與應用程式角色同名的結構描述,該程序就會失敗。
  • 密碼複雜性不是由 sp_addapprole 檢查,而是由 CREATE APPLICATION ROLE 檢查。

password 參數是儲存為單向雜湊。

sp_addapprole 預存程序不能從使用者自訂交易中執行。

ms176096.security(zh-tw,SQL.90).gif安全性注意事項:
SqlClient 不支援 Microsoft ODBC encrypt 選項。可以的話,請提示使用者在執行階段輸入應用程式角色認證。請避免將認證儲存在檔案中。如果您必須保存認證,請利用 CryptoAPI 函數來加密認證。

權限

需要資料庫的 ALTER ANY APPLICATION ROLE 權限。如果尚未有與新角色同名以及同一個擁有者的結構描述,也會需要資料庫的 CREATE SCHEMA 權限。

範例

下列範例會將新的應用程式角色 SalesApp 連同密碼 x97898jLJfcooFUYLKm387gf3 加入目前資料庫中。

EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3' ;
GO

請參閱

參考

CREATE APPLICATION ROLE (Transact-SQL)

其他資源

使用者結構描述分隔

說明及資訊

取得 SQL Server 2005 協助