sp_addapprole (Transact-SQL)

將應用程式角色加入至目前資料庫中。

重要事項重要事項

未來的 Microsoft SQL Server 版本將移除這項功能。請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CREATE APPLICATION ROLE

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

語法

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

引數

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

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

  • [ @password = ] 'password'
    啟動應用程式角色所需的密碼。 password 是 sysname,沒有預設值。 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 預存程序不能從使用者自訂交易中執行。

安全性注意事項安全性注意事項

SqlClient 不支援 Microsoft ODBC encrypt 選項。 可以的話,請提示使用者在執行階段輸入應用程式角色認證。 請避免將認證儲存在檔案中。 如果您必須保存認證,請利用 CryptoAPI 函數來加密認證。

權限

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

範例

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

EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3' ;
GO

請參閱

參考

CREATE APPLICATION ROLE (Transact-SQL)