sys.database_permissions (Transact-SQL)
適用範圍: SQL Server (所有支援的版本)
Azure SQL Database
Azure SQL 受控執行個體
Azure Synapse Analytics 是
平行處理資料倉儲
針對資料庫中每個權限或資料行例外狀況權限,各傳回一個資料列。 針對資料行,與對應物件層級權限不同的每個權限,各有一個資料列。 如果資料行許可權與對應的物件使用權限相同,就不會有資料列,而且套用的許可權是物件的許可權。
重要
資料行層級權限會覆寫同一實體的物件層級權限。
資料行名稱 | 資料類型 | 描述 |
---|---|---|
class | tinyint | 識別權限所在的類別。 如需詳細資訊,請參閱 sys.securable_classes (transact-sql) 。 0 = 資料庫 1 = 物件或資料行 3 = 結構描述 4 = 資料庫主體 5 = 元件- 適用 于: SQL Server 2008 和更新版本。 6 = 類型 10 = XML 架構集合- 適用對象:SQL Server 2008 及更新版本。 15 = 訊息類型- 適用 于: SQL Server 2008 和更新版本。 16 = 服務合約- 適用 于: SQL Server 2008 和更新版本。 17 = Service- 適用 于: SQL Server 2008 和更新版本。 18 = 遠端服務系結- 適用 于: SQL Server 2008 和更新版本。 19 = Route- 適用 于: SQL Server 2008 和更新版本。 23 = 全文檢索目錄- 適用 于: SQL Server 2008 和更新版本。 24 = 對稱金鑰- 適用 于: SQL Server 2008 和更新版本。 25 = Certificate- 適用 于: SQL Server 2008 和更新版本。 26 = 非對稱金鑰- 適用 于: SQL Server 2008 和更新版本。 29 = 全文檢索停用字詞表- 適用于: SQL Server 2008 和更新版本。 31 = 搜尋屬性清單- 適用 于: SQL Server 2008 和更新版本。 32 = 資料庫範圍認證- 適用 于: SQL Server 2008 和更新版本。 34 = External Language- 適用 于: SQL Server 2008 和更新版本。 |
class_desc | nvarchar(60) | 權限所在類別的描述。 DATABASE OBJECT_OR_COLUMN SCHEMA DATABASE_PRINCIPAL ASSEMBLY TYPE XML_SCHEMA_COLLECTION MESSAGE_TYPE SERVICE_CONTRACT SERVICE REMOTE_SERVICE_BINDING ROUTE FULLTEXT_CATALOG SYMMETRIC_KEYS CERTIFICATE ASYMMETRIC_KEY FULLTEXT STOPLIST SEARCH PROPERTY LIST DATABASE SCOPED CREDENTIAL 外部語言 |
major_id | int | 權限所在項目的識別碼,它是根據類別加以解譯。 通常, major_id 只是套用至類別所代表內容的識別碼種類。 0 = 資料庫本身 >0 = 使用者物件的 Object-IDs <0 = 系統物件的 Object-IDs |
minor_id | int | 權限所在項目的次要識別碼,它是根據類別加以解譯。 Minor_id 通常是零,因為物件的類別沒有可用的子類別。 否則,它是資料表的資料行識別碼。 |
grantee_principal_id | int | 獲授與權限的資料庫主體識別碼。 |
grantor_principal_id | int | 這些權限之同意授權者的資料庫主體識別碼。 |
type | char (4) | 資料庫權限類型。 如需權限類型的清單,請參閱下表。 |
permission_name | nvarchar(128) | 權限名稱。 |
state | char(1) | 權限狀態: D = 拒絕 R = 撤銷 G = 授與 W = 以授與選項授與 |
state_desc | nvarchar(60) | 權限狀態的描述: 拒絕 REVOKE GRANT GRANT_WITH_GRANT_OPTION |
資料庫權限
可能會有下列類型的許可權。
權限類型 | 權限名稱 | 適用於安全性實體 |
---|---|---|
AADS | ALTER ANY DATABASE EVENT SESSION | DATABASE |
AAMK | ALTER ANY MASK | DATABASE |
AEDS | ALTER ANY EXTERNAL DATA SOURCE | DATABASE |
AEFF | ALTER ANY EXTERNAL FILE FORMAT | DATABASE |
AL | ALTER | APPLICATION ROLE、ASSEMBLY、ASYMMETRIC KEY、CERTIFICATE、CONTRACT、DATABASE、FULLTEXT CATALOG、MESSAGE TYPE、OBJECT、REMOTE SERVICE BINDING、ROLE、ROUTE、SCHEMA、SERVICE、SYMMETRIC KEY、USER、XML SCHEMA COLLECTION |
ALAK | ALTER ANY ASYMMETRIC KEY | DATABASE |
ALAR | ALTER ANY APPLICATION ROLE | DATABASE |
ALAS | ALTER ANY ASSEMBLY | DATABASE |
ALCF | ALTER ANY CERTIFICATE | DATABASE |
ALDS | ALTER ANY DATASPACE | DATABASE |
ALED | ALTER ANY DATABASE EVENT NOTIFICATION | DATABASE |
ALFT | ALTER ANY FULLTEXT CATALOG | DATABASE |
ALMT | ALTER ANY MESSAGE TYPE | DATABASE |
ALRL | ALTER ANY ROLE | DATABASE |
ALRT | ALTER ANY ROUTE | DATABASE |
ALSB | ALTER ANY REMOTE SERVICE BINDING | DATABASE |
ALSC | ALTER ANY CONTRACT | DATABASE |
ALSK | ALTER ANY SYMMETRIC KEY | DATABASE |
ALSM | ALTER ANY SCHEMA | DATABASE |
ALSV | ALTER ANY SERVICE | DATABASE |
ALTG | ALTER ANY DATABASE DDL TRIGGER | DATABASE |
ALUS | ALTER ANY USER | DATABASE |
AUTH | AUTHENTICATE | DATABASE |
BADB | BACKUP DATABASE | DATABASE |
BALO | BACKUP LOG | DATABASE |
CL | CONTROL | APPLICATION ROLE、ASSEMBLY、ASYMMETRIC KEY、CERTIFICATE、CONTRACT、DATABASE、FULLTEXT CATALOG、MESSAGE TYPE、OBJECT、REMOTE SERVICE BINDING、ROLE、ROUTE、SCHEMA、SERVICE、SYMMETRIC KEY、TYPE、USER、XML SCHEMA COLLECTION |
CO | CONNECT | DATABASE |
CORP | CONNECT REPLICATION | DATABASE |
CP | CHECKPOINT | DATABASE |
CRAG | CREATE AGGREGATE | DATABASE |
CRAK | CREATE ASYMMETRIC KEY | DATABASE |
CRAS | CREATE ASSEMBLY | DATABASE |
CRCF | CREATE CERTIFICATE | DATABASE |
CRDB | CREATE DATABASE | DATABASE |
CRDF | CREATE DEFAULT | DATABASE |
CRED | CREATE DATABASE DDL EVENT NOTIFICATION | DATABASE |
CRFN | CREATE FUNCTION | DATABASE |
CRFT | CREATE FULLTEXT CATALOG | DATABASE |
CRMT | CREATE MESSAGE TYPE | DATABASE |
CRPR | CREATE PROCEDURE | DATABASE |
CRQU | CREATE QUEUE | DATABASE |
CRRL | CREATE ROLE | DATABASE |
CRRT | CREATE ROUTE | DATABASE |
CRRU | CREATE RULE | DATABASE |
CRSB | CREATE REMOTE SERVICE BINDING | DATABASE |
CRSC | CREATE CONTRACT | DATABASE |
CRSK | CREATE SYMMETRIC KEY | DATABASE |
CRSM | CREATE SCHEMA | DATABASE |
CRSN | CREATE SYNONYM | DATABASE |
CRSO | 適用對象:SQL Server 2012 (11.x) 及更新版本。 CREATE SEQUENCE |
DATABASE |
CRSV | CREATE SERVICE | DATABASE |
CRTB | CREATE TABLE | DATABASE |
CRTY | CREATE TYPE | DATABASE |
CRVW | CREATE VIEW | DATABASE |
CRXS | 適用對象:SQL Server 2008 及更新版本。 CREATE XML SCHEMA COLLECTION |
DATABASE |
DABO | ADMINISTER DATABASE BULK OPERATIONS | DATABASE |
DL | DELETE | DATABASE、OBJECT、SCHEMA |
EAES | EXECUTE ANY EXTERNAL SCRIPT | DATABASE |
EX | 執行 CREATE 陳述式之前,請先執行 | ASSEMBLY、DATABASE、OBJECT、SCHEMA、TYPE、XML SCHEMA COLLECTION |
IM | IMPERSONATE | USER |
IN | INSERT | DATABASE、OBJECT、SCHEMA |
RC | RECEIVE | OBJECT |
RF | REFERENCES | ASSEMBLY、ASYMMETRIC KEY、CERTIFICATE、CONTRACT、DATABASE、FULLTEXT CATALOG、MESSAGE TYPE、OBJECT、SCHEMA、SYMMETRIC KEY、TYPE、XML SCHEMA COLLECTION |
SL | SELECT | DATABASE、OBJECT、SCHEMA |
SN | SEND | SERVICE |
SPLN | SHOWPLAN | DATABASE |
SUQN | SUBSCRIBE QUERY NOTIFICATIONS | DATABASE |
TO | TAKE OWNERSHIP | ASSEMBLY、ASYMMETRIC KEY、CERTIFICATE、CONTRACT、DATABASE、FULLTEXT CATALOG、MESSAGE TYPE、OBJECT、REMOTE SERVICE BINDING、ROLE、ROUTE、SCHEMA、SERVICE、SYMMETRIC KEY、TYPE、XML SCHEMA COLLECTION |
UP | UPDATE | DATABASE、OBJECT、SCHEMA |
VW | VIEW DEFINITION | APPLICATION ROLE、ASSEMBLY、ASYMMETRIC KEY、CERTIFICATE、CONTRACT、DATABASE、FULLTEXT CATALOG、MESSAGE TYPE、OBJECT、REMOTE SERVICE BINDING、ROLE、ROUTE、SCHEMA、SERVICE、SYMMETRIC KEY、TYPE、USER、XML SCHEMA COLLECTION |
VWCK | VIEW ANY COLUMN ENCRYPTION KEY DEFINITION | DATABASE |
VWCM | VIEW ANY COLUMN MASTER KEY DEFINITION | DATABASE |
VWCT | VIEW CHANGE TRACKING | TABLE、SCHEMA |
VWDS | VIEW DATABASE STATE | DATABASE |
權限
任何使用者都可以查看他們自己的權限。 若要查看其他使用者的權限,則需要 VIEW DEFINITION、ALTER ANY USER 或使用者的任何權限。 若要查看使用者定義角色,則需要 ALTER ANY ROLE 或該角色的成員資格 (例如 Public)。
目錄檢視內中繼資料的可見性會限制在使用者所擁有的安全性實體,或已授與使用者某些權限的安全性實體。 如需相關資訊,請參閱 Metadata Visibility Configuration。
範例
A:列出資料庫主體的所有權限
下列查詢會列出已明確授與或拒絕資料庫主體的權限。
重要
固定資料庫角色的權限並未出現在 sys.database_permissions 中。 因此,資料庫主體可能仍有其他未列於此處的權限。
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc, pe.permission_name
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id;
B:列出資料庫內結構描述物件的權限
下列查詢會聯結 sys.database_principals 與 sys.database_permissions 以及 sys.objects 與 sys.schemas,藉此列出已授與或拒絕特定結構描述物件的權限。
SELECT pr.principal_id, pr.name, pr.type_desc,
pr.authentication_type_desc, pe.state_desc,
pe.permission_name, s.name + '.' + o.name AS ObjectName
FROM sys.database_principals AS pr
JOIN sys.database_permissions AS pe
ON pe.grantee_principal_id = pr.principal_id
JOIN sys.objects AS o
ON pe.major_id = o.object_id
JOIN sys.schemas AS s
ON o.schema_id = s.schema_id;
另請參閱
安全性實體
權限階層 (Database Engine)
安全性目錄檢視 (Transact-SQL)
目錄檢視 (Transact-SQL)