sp_addapprole (Transact-SQL)
在目前資料庫加入應用程式角色。
重要事項: |
---|
未來的 Microsoft SQL Server 發行版本將不再提供此功能。請避免在新的開發工作中使用此功能,並計劃修改目前使用此功能的應用程式。 請改用 CREATE APPLICATION ROLE。 |
語法
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)