適用於: sql Server Azure SQL 資料庫 Azure SQL 受控執行個體 Azure Synapse Analytics Analytics Platform System (PDW) SQL 分析端點Microsoft網狀架構倉儲中的 Microsoft Fabric SQL 資料庫Microsoft網狀架構
每個 SQL Server 安全性實體都具有可授與主體的關聯權限。 在資料庫引擎中,指派給登入與伺服器角色的權限會在伺服器層級管理,而指派給資料庫使用者與資料庫角色的權限則會在資料庫層級進行管理。 Azure SQL Database 模型具有相同的資料庫權限系統,但無法使用伺服器層級的權限。 本文包含完整的權限清單。 如需權限的一般實作,請參閱 資料庫引擎權限使用者入門 。
SQL Server 2022 (16.x) 的權限總數為 292。 Azure SQL Database 公開 292 個權限。 大部分的權限適用於所有平台,但某些無法適用。 例如,大部分的伺服器層級權限 無法在 Azure SQL Database 上授與,而少數的權限僅在 Azure SQL Database 上才有意義。
新的版本會逐漸引入新的權限。 SQL Server 2019 (15.x) 公開 248 個權限。SQL Server 2017 (14.x) 公開 238 個權限。 SQL Server 2016 (13.x) 公開了 230 個權限。 SQL Server 2014 (12.x) 公開了 219 個權限。 SQL Server 2012 (11.x) 公開了 214 個權限。 SQL Server 2008 R2 (10.50.x) 公開了 195 個權限。 sys.fn_builtin_permissions 文章指定了哪些權限是最新版本中的新權限。
在 Microsoft Fabric 的 SQL 資料庫中,僅支援資料庫層級的使用者和角色。 無法使用伺服器層級登入、角色和 sa 帳戶。 在 Microsoft Fabric 的 SQL 資料庫中,Microsoft資料庫使用者的 Entra ID 是唯一支援的驗證方法。 如需詳細資訊,請參閱 Microsoft Fabric 中的 SQL 資料庫中的授權。
一旦了解所需權限後,您就可以透過 GRANT 、REVOKE 和 DENY 陳述式,將伺服器層級權限套用至登入或伺服器角色,以及將資料庫層級權限套用至使用者或資料庫角色。 例如:
GRANT SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
REVOKE SELECT ON SCHEMA::HumanResources TO role_HumanResourcesDept;
如需規劃權限系統的秘訣,請參閱 資料庫引擎權限使用者入門 。
以下描述一般權限命名慣例:
CONTROL
將類似擁有權的能力授與被授與者。 被授與者實際上擁有安全性實體上已定義的所有權限。 已被授與 CONTROL 的實體也可以將安全性實體上的權限授與其他人。 因為 SQL Server 安全性模型是階層式的,所以在特定範圍內的 CONTROL 隱含包含該範圍下所有安全性實體上的 CONTROL 權限。 例如,資料庫上的 CONTROL 權限隱含表示該資料庫上的所有權限,該資料庫中所有組件上的權限、該資料庫中所有結構描述上的權限,以及該資料庫中所有結構描述內所有物件上的權限。
ALTER
授與變更特定安全性實體之屬性 (除了擁有權之外) 的能力。 在特定範圍授與 ALTER 權限時,也會一併授與改變、建立或卸除該範圍內包含之任何安全性實體的能力。 例如,結構描述上的 ALTER 權限包括建立、改變與卸除結構描述之物件的能力。
ALTER ANY <伺服器安全性實體 >,其中伺服器安全性實體 可以是任何伺服器安全性實體。
授與 伺服器安全性實體 的 CREATE、ALTER 或 DROP 個別執行個體的能力。 例如,ALTER ANY LOGIN 會授與建立、改變或卸除執行個體中任何登入的能力。
ALTER ANY <資料庫安全性實體 >,其中資料庫安全性實體 可以是任何資料庫層級的安全性實體。
授與 資料庫安全性實體 的 CREATE、ALTER 或 DROP 個別執行個體能力。 例如,ALTER ANY SCHEMA 會授與建立、改變或卸除資料庫中任何結構描述的能力。
TAKE OWNERSHIP
讓被授與者可以取得被授與之安全性實體的擁有權。
IMPERSONATE <登入 >
讓被授與者可以模擬登入。
IMPERSONATE <使用者 >
讓被授與者可以模擬使用者。
CREATE <伺服器安全性實體 >
為被授與者授與建立 伺服器安全性實體 的能力。
CREATE <資料庫安全性實體 >
為被授與者授與建立 資料庫安全性實體 的能力。
CREATE <包含結構描述的安全性實體 >
授與建立結構描述包含的安全性實體之能力。 然而,需要結構描述上的 ALTER 權限才能在特定結構描述中建立該安全性實體。
VIEW DEFINITION
讓被授與者能存取中繼資料。
REFERENCES
需要資料表的 REFERENCES 權限,才能建立參考該資料表的 FOREIGN KEY 條件約束。
需要物件的 REFERENCES 權限,才能建立具有可參考該物件之 WITH SCHEMABINDING
的 FUNCTION 或 VIEW。
下圖顯示這些權限及其彼此間的關聯性。 一些較高等級的權限 (例如 CONTROL SERVER
) 會多次列出。 本文的海報字級太小,無法閱讀。 您可以下載 PDF 格式的全尺寸資料庫引擎權限海報 。
下表列出主要的權限類別,以及這些類別的權限可能適用的安全性實體。
展開資料表
權限
適用於
ALTER
除了 TYPE 之外的所有物件類別。
CONTROL
所有物件類別︰ AGGREGATE、 APPLICATION ROLE、 ASSEMBLY、 ASYMMETRIC KEY、 AVAILABILITY GROUP、 CERTIFICATE、 CONTRACT、 CREDENTIALS、 DATABASE、 DATABASE SCOPED CREDENTIAL、 DEFAULT、 ENDPOINT、 FULLTEXT CATALOG、 FULLTEXT STOPLIST、 FUNCTION、 LOGIN、 MESSAGE TYPE、 PROCEDURE、 QUEUE、 REMOTE SERVICE BINDING、 ROLE、 ROUTE、 RULE、 SCHEMA、 SEARCH PROPERTY LIST、 SERVER、 SERVER ROLE、 SERVICE、 SYMMETRIC KEY、 SYNONYM、 TABLE、 TYPE、 USER、 VIEW,以及 XML SCHEMA COLLECTION
刪除
除了 DATABASE SCOPED CONFIGURATION、SERVER 及 TYPE 之外的所有物件類別。
執行 CREATE 陳述式之前,請先執行
CLR 類型、外部指令碼、程序 (Transact-SQL 與 CLR)、純量與彙總函式 (Transact-SQL 與 CLR) 及同義字
IMPERSONATE
登入和使用者
Insert
同義字、資料表與資料行、檢視與資料行。 權限可以在資料庫、結構描述或物件層級授與。
RECEIVE
Service Broker 佇列
REFERENCES
AGGREGATE、 ASSEMBLY、 ASYMMETRIC KEY、 CERTIFICATE、 CONTRACT、 CREDENTIAL (適用於 SQL Server 2022 (16.x) 和更新版本)、 DATABASE、 DATABASE SCOPED CREDENTIAL、 FULLTEXT CATALOG、 FULLTEXT STOPLIST、 FUNCTION、 MESSAGE TYPE、 PROCEDURE、 QUEUE、 RULE、 SCHEMA、 SEARCH PROPERTY LIST、 SEQUENCE OBJECT、 SYMMETRIC KEY、 TABLE、 TYPE、 VIEW,以及 XML SCHEMA COLLECTION
SELECT
同義字、資料表與資料行、檢視與資料行。 權限可以在資料庫、結構描述或物件層級授與。
TAKE OWNERSHIP
除了 DATABASE SCOPED CONFIGURATION、LOGIN、SERVER 及 USER 之外的所有物件類別。
UPDATE
同義字、資料表與資料行、檢視與資料行。 權限可以在資料庫、結構描述或物件層級授與。
VIEW CHANGE TRACKING
結構描述與資料表
VIEW DEFINITION
除了 DATABASE SCOPED CONFIGURATION 及 SERVER 以外的所有物件類別。
警告
在安裝時為系統物件授與的預設權限,經過仔細評估可能面臨的威脅,因此在強化 SQL Server 安裝的過程中無須改變。 系統物件的任何權限變更,都可能會限制或破壞其功效,而可能會讓您的 SQL Server 安裝處於不支援的狀態。
下表提供完整的 SQL Server 權限清單。 Azure SQL Database 權限僅供支援的基本安全性實體之用。 無法在 Azure SQL Database 中授與伺服器層級權限,不過,在某些情況下,會改為提供資料庫權限。
展開資料表
基底安全性實體
基底安全性實體上更細微的權限
權限類型代碼
包含基底安全性實體的安全性實體
容器安全性實體上隱含基底安全性實體之小權限的權限
APPLICATION ROLE
ALTER
AL
DATABASE
ALTER ANY APPLICATION ROLE
APPLICATION ROLE
CONTROL
CL
DATABASE
CONTROL
APPLICATION ROLE
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
ASSEMBLY
ALTER
AL
DATABASE
ALTER ANY ASSEMBLY
ASSEMBLY
CONTROL
CL
DATABASE
CONTROL
ASSEMBLY
REFERENCES
RF
DATABASE
REFERENCES
ASSEMBLY
TAKE OWNERSHIP
TO
DATABASE
CONTROL
ASSEMBLY
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
ASYMMETRIC KEY
ALTER
AL
DATABASE
ALTER ANY ASYMMETRIC KEY
ASYMMETRIC KEY
CONTROL
CL
DATABASE
CONTROL
ASYMMETRIC KEY
REFERENCES
RF
DATABASE
REFERENCES
ASYMMETRIC KEY
TAKE OWNERSHIP
TO
DATABASE
CONTROL
ASYMMETRIC KEY
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
AVAILABILITY GROUP
ALTER
AL
SERVER
ALTER ANY AVAILABILITY GROUP
AVAILABILITY GROUP
CONTROL
CL
SERVER
CONTROL SERVER
AVAILABILITY GROUP
TAKE OWNERSHIP
TO
SERVER
CONTROL SERVER
AVAILABILITY GROUP
VIEW DEFINITION
VW
SERVER
VIEW ANY DEFINITION
CERTIFICATE
ALTER
AL
DATABASE
ALTER ANY CERTIFICATE
CERTIFICATE
CONTROL
CL
DATABASE
CONTROL
CERTIFICATE
REFERENCES
RF
DATABASE
REFERENCES
CERTIFICATE
TAKE OWNERSHIP
TO
DATABASE
CONTROL
CERTIFICATE
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
CONTRACT
ALTER
AL
DATABASE
ALTER ANY CONTRACT
CONTRACT
CONTROL
CL
DATABASE
CONTROL
CONTRACT
REFERENCES
RF
DATABASE
REFERENCES
CONTRACT
TAKE OWNERSHIP
TO
DATABASE
CONTROL
CONTRACT
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
CREDENTIAL
CONTROL
CL
SERVER
CONTROL SERVER
CREDENTIAL
REFERENCES
RF
SERVER
ALTER ANY CREDENTIAL
DATABASE
ADMINISTER DATABASE BULK OPERATIONS
DABO
SERVER
CONTROL SERVER
DATABASE
ALTER
AL
SERVER
ALTER ANY DATABASE
DATABASE
ALTER ANY APPLICATION ROLE
ALAR
SERVER
CONTROL SERVER
DATABASE
ALTER ANY ASSEMBLY
ALAS
SERVER
CONTROL SERVER
DATABASE
ALTER ANY ASYMMETRIC KEY
ALAK
SERVER
CONTROL SERVER
DATABASE
ALTER ANY CERTIFICATE
ALCF
SERVER
CONTROL SERVER
DATABASE
ALTER ANY COLUMN ENCRYPTION KEY
ALCK 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
CONTROL SERVER
DATABASE
ALTER ANY COLUMN MASTER KEY
ALCM 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
CONTROL SERVER
DATABASE
ALTER ANY CONTRACT
ALSC
SERVER
CONTROL SERVER
DATABASE
ALTER ANY DATABASE AUDIT
ALDA
SERVER
ALTER ANY SERVER AUDIT
DATABASE
ALTER ANY DATABASE DDL TRIGGER
ALTG
SERVER
CONTROL SERVER
DATABASE
ALTER ANY DATABASE EVENT NOTIFICATION
ALED
SERVER
ALTER ANY EVENT NOTIFICATION
DATABASE
ALTER ANY DATABASE EVENT SESSION
AADS
SERVER
ALTER ANY EVENT SESSION
DATABASE
ALTER ANY DATABASE EVENT SESSION ADD EVENT
LDAE
SERVER
ALTER ANY EVENT SESSION ADD EVENT
DATABASE
ALTER ANY DATABASE EVENT SESSION ADD TARGET
LDAT
SERVER
ALTER ANY EVENT SESSION ADD TARGET
DATABASE
ALTER ANY DATABASE EVENT SESSION DISABLE
DDES
SERVER
ALTER ANY EVENT SESSION DISABLE
DATABASE
ALTER ANY DATABASE EVENT SESSION DROP EVENT
LDDE
SERVER
ALTER ANY EVENT SESSION DROP EVENT
DATABASE
ALTER ANY DATABASE EVENT SESSION DROP TARGET
LDDT
SERVER
ALTER ANY EVENT SESSION DROP TARGET
DATABASE
ALTER ANY DATABASE EVENT SESSION ENABLE
EDES
SERVER
ALTER ANY EVENT SESSION ENABLE
DATABASE
ALTER ANY DATABASE EVENT SESSION OPTION
LDSO
SERVER
ALTER ANY EVENT SESSION OPTION
DATABASE
ALTER ANY DATABASE SCOPED CONFIGURATION
ALDC 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
CONTROL SERVER
DATABASE
ALTER ANY DATASPACE
ALDS
SERVER
CONTROL SERVER
DATABASE
ALTER ANY EXTERNAL DATA SOURCE
AEDS
SERVER
CONTROL SERVER
DATABASE
ALTER ANY EXTERNAL FILE FORMAT
AEFF
SERVER
CONTROL SERVER
DATABASE
ALTER ANY EXTERNAL JOB
AESJ
SERVER
CONTROL SERVER
DATABASE
ALTER ANY EXTERNAL LANGUAGE
ALLA
SERVER
CONTROL SERVER
DATABASE
ALTER ANY EXTERNAL LIBRARY
ALEL
SERVER
CONTROL SERVER
DATABASE
ALTER ANY EXTERNAL STREAM
AEST
SERVER
CONTROL SERVER
DATABASE
ALTER ANY FULLTEXT CATALOG
ALFT
SERVER
CONTROL SERVER
DATABASE
ALTER ANY MASK
AAMK 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
CONTROL SERVER
DATABASE
ALTER ANY MESSAGE TYPE
ALMT
SERVER
CONTROL SERVER
DATABASE
ALTER ANY REMOTE SERVICE BINDING
ALSB
SERVER
CONTROL SERVER
DATABASE
ALTER ANY ROLE
ALRL
SERVER
CONTROL SERVER
DATABASE
ALTER ANY ROUTE
ALRT
SERVER
CONTROL SERVER
DATABASE
ALTER ANY SCHEMA
ALSM
SERVER
CONTROL SERVER
DATABASE
ALTER ANY SECURITY POLICY
ALSP 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
CONTROL SERVER
DATABASE
ALTER ANY SENSITIVITY CLASSIFICATION
AASC 適用於 SQL Server (SQL Server 2019 (15.x) 至目前版本)、Azure SQL Database。
SERVER
CONTROL SERVER
DATABASE
ALTER ANY SERVICE
ALSV
SERVER
CONTROL SERVER
DATABASE
ALTER ANY SYMMETRIC KEY
ALSK
SERVER
CONTROL SERVER
DATABASE
ALTER ANY USER
ALUS
SERVER
CONTROL SERVER
DATABASE
ALTER LEDGER
ALR
SERVER
CONTROL
DATABASE
ALTER LEDGER CONFIGURATION
ALC
SERVER
CONTROL SERVER
DATABASE
AUTHENTICATE
AUTH
SERVER
AUTHENTICATE SERVER
DATABASE
BACKUP DATABASE
BADB
SERVER
CONTROL SERVER
DATABASE
BACKUP LOG
BALO
SERVER
CONTROL SERVER
DATABASE
CHECKPOINT
CP
SERVER
CONTROL SERVER
DATABASE
CONNECT
CO
SERVER
CONTROL SERVER
DATABASE
CONNECT REPLICATION
CORP
SERVER
CONTROL SERVER
DATABASE
CONTROL
CL
SERVER
CONTROL SERVER
DATABASE
CREATE AGGREGATE
CRAG
SERVER
CONTROL SERVER
DATABASE
CREATE ANY DATABASE EVENT SESSION
CRDS
SERVER
CREATE ANY EVENT SESSION
DATABASE
CREATE ASSEMBLY
CRAS
SERVER
CONTROL SERVER
DATABASE
CREATE ASYMMETRIC KEY
CRAK
SERVER
CONTROL SERVER
DATABASE
CREATE CERTIFICATE
CRCF
SERVER
CONTROL SERVER
DATABASE
CREATE CONTRACT
CRSC
SERVER
CONTROL SERVER
DATABASE
CREATE DATABASE
CRDB
SERVER
CREATE ANY DATABASE
DATABASE
CREATE DATABASE DDL EVENT NOTIFICATION
CRED
SERVER
CREATE DDL EVENT NOTIFICATION
DATABASE
CREATE DEFAULT
CRDF
SERVER
CONTROL SERVER
DATABASE
CREATE EXTERNAL LANGUAGE
CRLA
SERVER
CONTROL SERVER
DATABASE
CREATE EXTERNAL LIBRARY
CREL
SERVER
CONTROL SERVER
DATABASE
CREATE FULLTEXT CATALOG
CRFT
SERVER
CONTROL SERVER
DATABASE
CREATE FUNCTION
CRFN
SERVER
CONTROL SERVER
DATABASE
CREATE MESSAGE TYPE
CRMT
SERVER
CONTROL SERVER
DATABASE
CREATE PROCEDURE
CRPR
SERVER
CONTROL SERVER
DATABASE
CREATE QUEUE
CRQU
SERVER
CONTROL SERVER
DATABASE
CREATE REMOTE SERVICE BINDING
CRSB
SERVER
CONTROL SERVER
DATABASE
CREATE ROLE
CRRL
SERVER
CONTROL SERVER
DATABASE
CREATE ROUTE
CRRT
SERVER
CONTROL SERVER
DATABASE
CREATE RULE
CRRU
SERVER
CONTROL SERVER
DATABASE
CREATE SCHEMA
CRSM
SERVER
CONTROL SERVER
DATABASE
CREATE SERVICE
CRSV
SERVER
CONTROL SERVER
DATABASE
CREATE SYMMETRIC KEY
CRSK
SERVER
CONTROL SERVER
DATABASE
CREATE SYNONYM
CRSN
SERVER
CONTROL SERVER
DATABASE
CREATE TABLE
CRTB
SERVER
CONTROL SERVER
DATABASE
CREATE TYPE
CRTY
SERVER
CONTROL SERVER
DATABASE
CREATE USER
CUSR
SERVER
CONTROL SERVER
DATABASE
CREATE VIEW
CRVW
SERVER
CONTROL SERVER
DATABASE
CREATE XML SCHEMA COLLECTION
CRXS
SERVER
CONTROL SERVER
DATABASE
刪除
DL
SERVER
CONTROL SERVER
DATABASE
DROP ANY DATABASE EVENT SESSION
DRDS
SERVER
DROP ANY EVENT SESSION
DATABASE
ENABLE LEDGER
EL
SERVER
CONTROL
DATABASE
執行 CREATE 陳述式之前,請先執行
EX
SERVER
CONTROL SERVER
DATABASE
EXECUTE ANY EXTERNAL ENDPOINT
EAEE
SERVER
CONTROL SERVER
DATABASE
EXECUTE ANY EXTERNAL SCRIPT
EAES 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)。
SERVER
CONTROL SERVER
DATABASE
Insert
IN
SERVER
CONTROL SERVER
DATABASE
KILL DATABASE CONNECTION
KIDC 僅適用於 Azure SQL Database。 在 SQL Server 中使用 ALTER ANY CONNECTION。
SERVER
ALTER ANY CONNECTION
DATABASE
REFERENCES
RF
SERVER
CONTROL SERVER
DATABASE
SELECT
SL
SERVER
CONTROL SERVER
DATABASE
SHOWPLAN
SPLN
SERVER
ALTER TRACE
DATABASE
SUBSCRIBE QUERY NOTIFICATIONS
SUQN
SERVER
CONTROL SERVER
DATABASE
TAKE OWNERSHIP
TO
SERVER
CONTROL SERVER
DATABASE
UNMASK
UMSK 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
CONTROL SERVER
DATABASE
UPDATE
UP
SERVER
CONTROL SERVER
DATABASE
VIEW ANY COLUMN ENCRYPTION KEY DEFINITION
VWCK 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
VIEW SERVER STATE
DATABASE
VIEW ANY COLUMN MASTER KEY DEFINITION
VWCM 適用於 SQL Server (SQL Server 2016 (13.x) 至目前版本)、Azure SQL Database。
SERVER
VIEW SERVER STATE
DATABASE
VIEW ANY SENSITIVITY CLASSIFICATION
VASC
SERVER
CONTROL SERVER
DATABASE
VIEW CRYPTOGRAPHICALLY SECURED DEFINITION
VCD
SERVER
VIEW ANY CRYPTOGRAPHICALLY SECURED DEFINITION
DATABASE
VIEW DATABASE PERFORMANCE STATE
VDP
SERVER
VIEW SERVER PERFORMANCE STATE
DATABASE
VIEW DATABASE SECURITY AUDIT
VDSA
SERVER
CONTROL SERVER
DATABASE
VIEW DATABASE SECURITY STATE
VDS
SERVER
VIEW SERVER SECURITY STATE
DATABASE
VIEW DATABASE STATE
VWDS
SERVER
VIEW SERVER STATE
DATABASE
VIEW DEFINITION
VW
SERVER
VIEW ANY DEFINITION
DATABASE
VIEW LEDGER CONTENT
VLC
SERVER
CONTROL
DATABASE
檢視安全性定義
VWS
SERVER
檢視任何安全性定義
DATABASE
VIEW PERFORMANCE DEFINITION
VWP
SERVER
VIEW ANY PERFORMANCE DEFINITION
DATABASE SCOPED CREDENTIAL
ALTER
AL
DATABASE
CONTROL
DATABASE SCOPED CREDENTIAL
CONTROL
CL
DATABASE
CONTROL
DATABASE SCOPED CREDENTIAL
REFERENCES
RF
DATABASE
REFERENCES
DATABASE SCOPED CREDENTIAL
TAKE OWNERSHIP
TO
DATABASE
CONTROL
DATABASE SCOPED CREDENTIAL
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
端點
ALTER
AL
SERVER
ALTER ANY ENDPOINT
端點
CONNECT
CO
SERVER
CONTROL SERVER
端點
CONTROL
CL
SERVER
CONTROL SERVER
端點
TAKE OWNERSHIP
TO
SERVER
CONTROL SERVER
端點
VIEW DEFINITION
VW
SERVER
VIEW ANY DEFINITION
FULLTEXT CATALOG
ALTER
AL
DATABASE
ALTER ANY FULLTEXT CATALOG
FULLTEXT CATALOG
CONTROL
CL
DATABASE
CONTROL
FULLTEXT CATALOG
REFERENCES
RF
DATABASE
REFERENCES
FULLTEXT CATALOG
TAKE OWNERSHIP
TO
DATABASE
CONTROL
FULLTEXT CATALOG
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
FULLTEXT STOPLIST
ALTER
AL
DATABASE
ALTER ANY FULLTEXT CATALOG
FULLTEXT STOPLIST
CONTROL
CL
DATABASE
CONTROL
FULLTEXT STOPLIST
REFERENCES
RF
DATABASE
REFERENCES
FULLTEXT STOPLIST
TAKE OWNERSHIP
TO
DATABASE
CONTROL
FULLTEXT STOPLIST
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
LOGIN
ALTER
AL
SERVER
ALTER ANY LOGIN
LOGIN
CONTROL
CL
SERVER
CONTROL SERVER
LOGIN
IMPERSONATE
IM
SERVER
CONTROL SERVER
LOGIN
VIEW DEFINITION
VW
SERVER
VIEW ANY DEFINITION
MESSAGE TYPE
ALTER
AL
DATABASE
ALTER ANY MESSAGE TYPE
MESSAGE TYPE
CONTROL
CL
DATABASE
CONTROL
MESSAGE TYPE
REFERENCES
RF
DATABASE
REFERENCES
MESSAGE TYPE
TAKE OWNERSHIP
TO
DATABASE
CONTROL
MESSAGE TYPE
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
OBJECT
ALTER
AL
SCHEMA
ALTER
OBJECT
CONTROL
CL
SCHEMA
CONTROL
OBJECT
刪除
DL
SCHEMA
刪除
OBJECT
執行 CREATE 陳述式之前,請先執行
EX
SCHEMA
執行 CREATE 陳述式之前,請先執行
OBJECT
Insert
IN
SCHEMA
Insert
OBJECT
RECEIVE
RC
SCHEMA
CONTROL
OBJECT
REFERENCES
RF
SCHEMA
REFERENCES
OBJECT
SELECT
SL
SCHEMA
SELECT
OBJECT
TAKE OWNERSHIP
TO
SCHEMA
CONTROL
OBJECT
UNMASK
UMSK
SCHEMA
UNMASK
OBJECT
UPDATE
UP
SCHEMA
UPDATE
OBJECT
VIEW CHANGE TRACKING
VWCT
SCHEMA
VIEW CHANGE TRACKING
OBJECT
VIEW DEFINITION
VW
SCHEMA
VIEW DEFINITION
REMOTE SERVICE BINDING
ALTER
AL
DATABASE
ALTER ANY REMOTE SERVICE BINDING
REMOTE SERVICE BINDING
CONTROL
CL
DATABASE
CONTROL
REMOTE SERVICE BINDING
TAKE OWNERSHIP
TO
DATABASE
CONTROL
REMOTE SERVICE BINDING
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
ROLE
ALTER
AL
DATABASE
ALTER ANY ROLE
ROLE
CONTROL
CL
DATABASE
CONTROL
ROLE
TAKE OWNERSHIP
TO
DATABASE
CONTROL
ROLE
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
ROUTE
ALTER
AL
DATABASE
ALTER ANY ROUTE
ROUTE
CONTROL
CL
DATABASE
CONTROL
ROUTE
TAKE OWNERSHIP
TO
DATABASE
CONTROL
ROUTE
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
SCHEMA
ALTER
AL
DATABASE
ALTER ANY SCHEMA
SCHEMA
CONTROL
CL
DATABASE
CONTROL
SCHEMA
CREATE SEQUENCE
CRSO
DATABASE
CONTROL
SCHEMA
刪除
DL
DATABASE
刪除
SCHEMA
執行 CREATE 陳述式之前,請先執行
EX
DATABASE
執行 CREATE 陳述式之前,請先執行
SCHEMA
Insert
IN
DATABASE
Insert
SCHEMA
REFERENCES
RF
DATABASE
REFERENCES
SCHEMA
SELECT
SL
DATABASE
SELECT
SCHEMA
TAKE OWNERSHIP
TO
DATABASE
CONTROL
SCHEMA
UNMASK
UMSK
DATABASE
UNMASK
SCHEMA
UPDATE
UP
DATABASE
UPDATE
SCHEMA
VIEW CHANGE TRACKING
VWCT
DATABASE
VIEW CHANGE TRACKING
SCHEMA
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
SEARCH PROPERTY LIST
ALTER
AL
SERVER
ALTER ANY FULLTEXT CATALOG
SEARCH PROPERTY LIST
CONTROL
CL
SERVER
CONTROL
SEARCH PROPERTY LIST
REFERENCES
RF
SERVER
REFERENCES
SEARCH PROPERTY LIST
TAKE OWNERSHIP
TO
SERVER
CONTROL
SEARCH PROPERTY LIST
VIEW DEFINITION
VW
SERVER
VIEW DEFINITION
SERVER
ADMINISTER BULK OPERATIONS
ADBO
不適用
不適用
SERVER
ALTER ANY AVAILABILITY GROUP
ALAG
不適用
不適用
SERVER
ALTER ANY CONNECTION
ALCO
不適用
不適用
SERVER
ALTER ANY CREDENTIAL
ALCD
不適用
不適用
SERVER
ALTER ANY DATABASE
ALDB
不適用
不適用
SERVER
ALTER ANY ENDPOINT
ALHE
不適用
不適用
SERVER
ALTER ANY EVENT NOTIFICATION
ALES
不適用
不適用
SERVER
ALTER ANY EVENT SESSION
AAES
不適用
不適用
SERVER
ALTER ANY EVENT SESSION ADD EVENT
LSAE
不適用
不適用
SERVER
ALTER ANY EVENT SESSION ADD TARGET
LSAT
不適用
不適用
SERVER
ALTER ANY EVENT SESSION DISABLE
DES
不適用
不適用
SERVER
ALTER ANY EVENT SESSION DROP EVENT
LSDE
不適用
不適用
SERVER
ALTER ANY EVENT SESSION DROP TARGET
LSDT
不適用
不適用
SERVER
ALTER ANY EVENT SESSION ENABLE
EES
不適用
不適用
SERVER
ALTER ANY EVENT SESSION OPTION
LESO
不適用
不適用
SERVER
ALTER ANY LINKED SERVER
ALLS
不適用
不適用
SERVER
ALTER ANY LOGIN
ALLG
不適用
不適用
SERVER
ALTER ANY SERVER AUDIT
ALAA
不適用
不適用
SERVER
ALTER ANY SERVER ROLE
ALSR
不適用
不適用
SERVER
ALTER RESOURCES
ALRS
不適用
不適用
SERVER
ALTER SERVER STATE
ALSS
不適用
不適用
SERVER
ALTER SETTINGS
ALST
不適用
不適用
SERVER
ALTER TRACE
ALTR
不適用
不適用
SERVER
AUTHENTICATE SERVER
AUTH
不適用
不適用
SERVER
CONNECT ANY DATABASE
CADB
不適用
不適用
SERVER
CONNECT SQL
COSQ
不適用
不適用
SERVER
CONTROL SERVER
CL
不適用
不適用
SERVER
CREATE ANY DATABASE
CRDB
不適用
不適用
SERVER
CREATE AVAILABILITY GROUP
CRAC
不適用
不適用
SERVER
CREATE DDL EVENT NOTIFICATION
CRDE
不適用
不適用
SERVER
CREATE ENDPOINT
CRHE
不適用
不適用
SERVER
CREATE SERVER ROLE
CRSR
不適用
不適用
SERVER
CREATE TRACE EVENT NOTIFICATION
CRTE
不適用
不適用
SERVER
EXTERNAL ACCESS ASSEMBLY
XA
不適用
不適用
SERVER
IMPERSONATE ANY LOGIN
IAL
不適用
不適用
SERVER
SELECT ALL USER SECURABLES
SUS
不適用
不適用
SERVER
SHUTDOWN
SHDN
不適用
不適用
SERVER
UNSAFE ASSEMBLY
XU
不適用
不適用
SERVER
VIEW ANY DATABASE
VWDB
不適用
不適用
SERVER
VIEW ANY DEFINITION
VWAD
不適用
不適用
SERVER
VIEW SERVER STATE
VWSS
不適用
不適用
SERVER ROLE
ALTER
AL
SERVER
ALTER ANY SERVER ROLE
SERVER ROLE
CONTROL
CL
SERVER
CONTROL SERVER
SERVER ROLE
TAKE OWNERSHIP
TO
SERVER
CONTROL SERVER
SERVER ROLE
VIEW DEFINITION
VW
SERVER
VIEW ANY DEFINITION
SERVICE
ALTER
AL
DATABASE
ALTER ANY SERVICE
SERVICE
CONTROL
CL
DATABASE
CONTROL
SERVICE
SEND
SN
DATABASE
CONTROL
SERVICE
TAKE OWNERSHIP
TO
DATABASE
CONTROL
SERVICE
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
SYMMETRIC KEY
ALTER
AL
DATABASE
ALTER ANY SYMMETRIC KEY
SYMMETRIC KEY
CONTROL
CL
DATABASE
CONTROL
SYMMETRIC KEY
REFERENCES
RF
DATABASE
REFERENCES
SYMMETRIC KEY
TAKE OWNERSHIP
TO
DATABASE
CONTROL
SYMMETRIC KEY
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
TYPE
CONTROL
CL
SCHEMA
CONTROL
TYPE
執行 CREATE 陳述式之前,請先執行
EX
SCHEMA
執行 CREATE 陳述式之前,請先執行
TYPE
REFERENCES
RF
SCHEMA
REFERENCES
TYPE
TAKE OWNERSHIP
TO
SCHEMA
CONTROL
TYPE
VIEW DEFINITION
VW
SCHEMA
VIEW DEFINITION
USER
ALTER
AL
DATABASE
ALTER ANY USER
USER
CONTROL
CL
DATABASE
CONTROL
USER
IMPERSONATE
IM
DATABASE
CONTROL
USER
VIEW DEFINITION
VW
DATABASE
VIEW DEFINITION
XML SCHEMA COLLECTION
ALTER
AL
SCHEMA
ALTER
XML SCHEMA COLLECTION
CONTROL
CL
SCHEMA
CONTROL
XML SCHEMA COLLECTION
執行 CREATE 陳述式之前,請先執行
EX
SCHEMA
執行 CREATE 陳述式之前,請先執行
XML SCHEMA COLLECTION
REFERENCES
RF
SCHEMA
REFERENCES
XML SCHEMA COLLECTION
TAKE OWNERSHIP
TO
SCHEMA
CONTROL
XML SCHEMA COLLECTION
VIEW DEFINITION
VW
SCHEMA
VIEW DEFINITION
新增至 SQL Server 2022 的新細微權限
下列權限會新增至 SQL Server 2022:
已新增 10 個新權限,以允許存取系統中繼資料。
已為擴充事件新增 18 個新權限。
已針對與安全性相關的物件新增了 9 個新權限。
已為總帳新增了 4 個權限。
3 個額外的資料庫權限。
如需詳細資訊,請參閱 SQL Server 2022 和 Azure SQL 的新細微權限,以改善 PoLP 的依從性 。
伺服器層級:
檢視任何安全性定義
VIEW ANY PERFORMANCE DEFINITION
VIEW SERVER SECURITY STATE
VIEW SERVER PERFORMANCE STATE
VIEW ANY CRYPTOGRAPHICALLY SECURED DEFINITION
資料庫層級:
VIEW DATABASE SECURITY STATE
VIEW DATABASE PERFORMANCE STATE
檢視安全性定義
VIEW PERFORMANCE DEFINITION
VIEW CRYPTOGRAPHICALLY SECURED DEFINITION
伺服器層級:
CREATE ANY EVENT SESSION
DROP ANY EVENT SESSION
ALTER ANY EVENT SESSION OPTION
ALTER ANY EVENT SESSION ADD EVENT
ALTER ANY EVENT SESSION DROP EVENT
ALTER ANY EVENT SESSION ENABLE
ALTER ANY EVENT SESSION DISABLE
ALTER ANY EVENT SESSION ADD TARGET
ALTER ANY EVENT SESSION DROP TARGET
所有這些權限都位於相同的父權限之下:ALTER ANY EVENT SESSION
資料庫層級:
CREATE ANY DATABASE EVENT SESSION
DROP ANY DATABASE EVENT SESSION
ALTER ANY DATABASE EVENT SESSION OPTION
ALTER ANY DATABASE EVENT SESSION ADD EVENT
ALTER ANY DATABASE EVENT SESSION DROP EVENT
ALTER ANY DATABASE EVENT SESSION ENABLE
ALTER ANY DATABASE EVENT SESSION DISABLE
ALTER ANY DATABASE EVENT SESSION ADD TARGET
ALTER ANY DATABASE EVENT SESSION DROP TARGET
所有這些權限都位於相同的父權限之下:ALTER ANY DATABASE EVENT SESSION
CONTROL (CREDENTIAL)
CREATE LOGIN
CREATE USER
REFERENCES (CREDENTIAL)
UNMASK (OBJECT)
UNMASK (SCHEMA)
VIEW ANY ERROR LOG
VIEW SERVER SECURITY AUDIT
VIEW DATABASE SECURITY AUDIT
ALTER LEDGER
ALTER LEDGER CONFIGURATION
ENABLE LEDGER
VIEW LEDGER CONTENT
ALTER ANY EXTERNAL JOB
ALTER ANY EXTERNAL STREAM
EXECUTE ANY EXTERNAL ENDPOINT
檢查權限可能很複雜。 權限檢查演算法包含重疊的群組成員資格和擁有權鏈結 (明確和隱含權限),而且可能會受到包含安全性實體之安全性實體類別的權限影響。 此演算法的一般程序是收集所有相關的權限。 如果找不到任何封鎖的 DENY,此演算法就會搜尋提供足夠存取權的 GRANT。 此演算法包含三個基本元素: 安全性內容 、 權限空間 和 必要權限 。
注意
您無法授與、拒絕或撤銷 sa、dbo、實體擁有者、information_schema、sys 或自己的權限。
安全性內容
這是提供權限給存取權檢查的主體群組。 除非您使用 EXECUTE AS 陳述式,將安全性內容變更為其他登入或使用者,否則這些是與目前登入或使用者相關的權限。 安全性內容包含下列主體:
權限空間
這是安全性實體以及任何包含此安全性實體的任何安全性實體類別。 例如,資料表 (安全性實體) 會包含在結構描述安全性實體類別和資料庫安全性實體類別中。 存取權可能會受到資料表、結構描述、資料庫和伺服器層級權限影響。 如需詳細資訊,請參閱權限階層 (資料庫引擎) 。
必要權限
必要的權限種類。 例如,INSERT、UPDATE、DELETE、SELECT、EXECUTE、ALTER、CONTROL 等等。
存取權可能會要求多種權限,如下列範例所示:
當此演算法正在判斷是否要允許存取安全性實體時,它所使用的確切步驟可能會因所涉及的主體和安全性實體而有所不同。 不過,此演算法會執行下列一般步驟:
如果登入是系統管理員 (sysadmin) 固定伺服器角色的成員,或者使用者是目前資料庫的 dbo 使用者,就會略過權限檢查。
如果擁有權鏈結適用,而且先前鏈結中的物件存取權檢查通過了安全性檢查,就會允許存取。
彙總與呼叫者相關聯的伺服器層級、資料庫層級和簽署模組識別,以便建立 安全性內容 。
針對該 安全性內容 ,收集授與或拒絕 權限空間 的所有權限。 您可以將權限明確陳述為 GRANT、GRANT WITH GRANT 或 DENY,否則這些權限可能是隱含或涵蓋的權限 GRANT 或 DENY。 例如,結構描述的 CONTROL 權限隱含資料表的 CONTROL, 而且資料表的 CONTROL 隱含 SELECT。 因此,如果您已授與結構描述的 CONTROL,就會授與資料表的 SELECT。 如果您已拒絕資料表的 CONTROL,就會拒絕資料表的 SELECT。
識別 必要權限 。
如果您在 權限空間 中針對物件 安全性內容 的任何識別直接或隱含拒絕 必要權限 ,權限檢查就會失敗。
若未拒絕必要權限 ,而且必要權限 包含直接或隱含地授與權限空間 中任何物件的安全性內容 中的任何身分識別的 GRANT 或 GRANT WITH GRANT 權限,則會通過權限檢查。
資料行層級權限會使用語法 <table_name>(<column _name>) 來授與。 例如:
GRANT SELECT ON OBJECT::Customer(CustomerName) TO UserJoe;
資料行上的 GRANT 會覆寫資料表上的 DENY。 不過,後續資料表上的 DENY 將會移除資料行的 GRANT。
本節中的範例示範如何擷取權限資訊。
下列陳述式會使用 fn_builtin_permissions
函式傳回所有資料庫引擎權限。 如需詳細資訊,請參閱 sys.fn_builtin_permissions (Transact-SQL) 。
SELECT * FROM fn_builtin_permissions(default);
GO
下列範例使用 fn_builtin_permissions
檢視可供安全性實體類別目錄使用的所有權限。 範例會傳回組件的權限。
SELECT * FROM fn_builtin_permissions('assembly');
GO
下列範例使用 fn_my_permissions
來傳回指定安全性實體之呼叫主體所持有的有效權限清單。 範例會傳回名為 Orders55
之物件的權限。 如需詳細資訊,請參閱 sys.fn_my_permissions (Transact-SQL) 。
SELECT * FROM fn_my_permissions('Orders55', 'object');
GO
下列範例會傳回適用於名為 Yttrium
之物件的權限。 此內建函數OBJECT_ID
是用來擷取物件Yttrium
的識別碼。
SELECT * FROM sys.database_permissions
WHERE major_id = OBJECT_ID('Yttrium');
GO