權限決定使用者能對什麼物件做什麼操作。SQL Server 分兩大類:1) 物件權限:針對表/檢視/預存程序/函數,包含 SELECT, INSERT, UPDATE, DELETE, EXECUTE, REFERENCES (建立外鍵參考);2) 陳述式權限:針對建立/管理物件的 DDL 陳述式,包含 CREATE DATABASE, CREATE TABLE, CREATE PROCEDURE, CREATE VIEW, BACKUP DATABASE, BACKUP LOG 等。本文提供完整權限對照表、GRANT/DENY/REVOKE 語法、DENY 覆蓋 GRANT 的優先級規則、AS 子句授權鏈、Enterprise Manager 圖形化設定步驟。
| 物件類型 | 適用權限 |
|---|---|
| Table | SELECT, INSERT, UPDATE, DELETE, REFERENCES |
| View | SELECT, INSERT, UPDATE, DELETE, REFERENCES |
| Stored Procedure | EXECUTE |
| Function (Scalar/Table-valued) | EXECUTE |
| Sequence | UPDATE (NEXT VALUE FOR) |

GRANT permission ON object TO principal [WITH GRANT OPTION];
DENY permission ON object TO principal;
REVOKE permission ON object TO principal; -- 移除 GRANT/DENY
DENY 優先級最高,覆蓋任何 GRANT (含角色繼承)。WITH GRANT OPTION 允許受權者再授權他人。資料庫 → 使用者/角色 → 右鍵 Properties → Permissions → 勾選物件/陳述式權限。