sp_addapprole (Transact-SQL)
適用於:SQL Server
將應用程式角色加入至目前資料庫中。
重要
SQL Server 的未來版本將移除此功能。 請避免在新的開發工作中使用這項功能,並規劃修改目前使用這項功能的應用程式。 請改用 CREATE APPLICATION ROLE 。
語法
sp_addapprole
[ @rolename = ] N'rolename'
, [ @password = ] N'password'
[ ; ]
引數
[ @rolename = ] N'rolename'
新應用程式角色的名稱。 @rolename為 sysname,沒有預設值。 @rolename必須是有效的標識碼,而且目前資料庫中還不能存在。
應用程式角色名稱最多可以包含 1 到 128 個字元,包括字母、符號和數位。 角色名稱不能包含反斜杠 (\
) 或 NULL 或空字串 ('')。
[ @password = ] N'password'
啟用應用程式角色所需的密碼。 @password為 sysname,沒有預設值。 @password不可為 NULL。
傳回碼值
0
(成功) 或 1
(失敗)。
備註
在舊版的 SQL Server 中,使用者(和角色)與架構並不完全不同。 從 SQL Server 2005 (9.x) 開始,架構與角色完全不同。 此架構會反映在 的行為 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 許可權。
範例
下列範例會將具有密碼x97898jLJfcooFUYLKm387gf3
的新應用程式角色SalesApp
新增至目前的資料庫。
EXEC sp_addapprole 'SalesApp', 'x97898jLJfcooFUYLKm387gf3';
GO
相關內容
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應