SQL Server 7.0 新增 DENY,管理員可明確禁止使用者對物件的所有存取。舊版需執行兩次 REVOKE 模擬。範例:禁止某人查看特定表,DENY SELECT ON Authors TO User。
使用者若透過群組擁有 SELECT、INSERT,另一群組被 DENY INSERT、UPDATE,結果僅保留 SELECT。DENY 會覆蓋 GRANT。嚴禁對 PUBLIC 角色使用 DENY(所有使用者皆屬 PUBLIC),否則全庫鎖死,新手管理員常犯此錯誤。
授予網域群組 domain users 登入權限。員工 Joe 離職但未通知,無法用 REVOKE(非個別授予)。改用 DENY LOGIN TO Joe,Joe 無法登入,同群組其他成員不受影響。
薪資應用程式範例:
sp_setapprole 'role_name', 'password' 啟動角色(密碼可加密傳輸)關鍵限制:應用程式角色為連線專用。多連線需各自啟動。連線建立、切換資料庫後,第一動作必須是 sp_setapprole,否則無法存取角色專屬資料。