GRANT, предоставление разрешения на коллекцию XML-схем (Transact-SQL)
Область применения: SQL Server
Предоставляет разрешения на коллекции схем XML.
Соглашения о синтаксисе Transact-SQL
Синтаксис
GRANT permission [ ,...n ] ON
XML SCHEMA COLLECTION :: [ schema_name . ]
XML_schema_collection_name
TO <database_principal> [ ,...n ]
[ WITH GRANT OPTION ]
[ AS <database_principal> ]
<database_principal> ::=
Database_user
| Database_role
| Application_role
| Database_user_mapped_to_Windows_User
| Database_user_mapped_to_Windows_Group
| Database_user_mapped_to_certificate
| Database_user_mapped_to_asymmetric_key
| Database_user_with_no_login
Аргументы
permission
Указывает разрешение, которое может быть выдано на коллекцию XML-схем. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
ON XML SCHEMA COLLECTION :: [ имя_схемы. ] имя_коллекции_схемы_XML
Указывает коллекцию XML-схем, на которую предоставляется разрешение. Квалификатор области (::) является обязательным. Если не указан аргумент schema_name, подразумевается схема по умолчанию. Если указан аргумент schema_name, обязательно указание квалификатора области схемы (.).
<database_principal> указывает субъект, которому предоставляется разрешение.
WITH GRANT OPTION
Показывает, что участнику будет дана возможность предоставлять указанное разрешение другим участникам.
AS <database_principal> — указывает участника, от которого наследует право на предоставление разрешения тот участник, который выполняет данный запрос.
Database_user
Указывает пользователя базы данных.
Database_role
Указывает роль базы данных.
Application_role
Указывает роль приложения.
Database_user_mapped_to_Windows_User
Указывает пользователя базы данных, сопоставленного с пользователем Windows.
Database_user_mapped_to_Windows_Group
Указывает пользователя базы данных, сопоставленного с группой Windows.
Database_user_mapped_to_certificate
Указывает пользователя базы данных, сопоставленного с сертификатом.
Database_user_mapped_to_asymmetric_key
Указывает пользователя базы данных, сопоставленного с асимметричным ключом.
Database_user_with_no_login
Указывает пользователя базы данных, не сопоставленного с субъектом серверного уровня.
Замечания
Сведения о коллекциях XML-схем доступны в представлении каталога sys.xml_schema_collections.
Коллекция XML-схем представляет собой защищаемую сущность уровня схемы, содержащуюся в родительской схеме иерархии разрешений. Наиболее специфичные и ограниченные разрешения, предоставляемые коллекции XML-схем, а также более общие разрешения, неявно их содержащие, приведены в следующей таблице.
Разрешение коллекции XML-схем | Содержится в разрешении коллекции схем XML | Содержится в разрешении схемы |
---|---|---|
ИЗМЕНИТЬ | ПРОИЗВОДИТЕЛЬНОСТИ | ИЗМЕНИТЬ |
ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ |
Выполнение | ПРОИЗВОДИТЕЛЬНОСТИ | Выполнение |
ССЫЛКИ | ПРОИЗВОДИТЕЛЬНОСТИ | ССЫЛКИ |
TAKE OWNERSHIP | ПРОИЗВОДИТЕЛЬНОСТИ | ПРОИЗВОДИТЕЛЬНОСТИ |
VIEW DEFINITION | ПРОИЗВОДИТЕЛЬНОСТИ | VIEW DEFINITION |
Разрешения
Объект, предоставляющий разрешение (или участник, указанный параметром AS), должен иметь либо само разрешение, выданное с помощью параметра GRANT OPTION, либо разрешение более высокого уровня, которое неявно включает предоставляемое.
При использовании параметра AS налагаются следующие дополнительные требования.
AS | Необходимо дополнительное разрешение |
---|---|
пользователь базы данных; | Разрешение IMPERSONATE для пользователя, членство в предопределенной роли базы данных db_securityadmin, членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin. |
пользователь базы данных, сопоставленный с именем входа Windows; | Разрешение IMPERSONATE для пользователя, членство в предопределенной роли базы данных db_securityadmin, членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin. |
пользователь базы данных, сопоставленный с группой Windows; | Членство в группе Windows, членство в предопределенной роли базы данных db_securityadmin, членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin. |
пользователь базы данных, сопоставленный с сертификатом; | Членство в предопределенной роли базы данных db_securityadmin, членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin. |
пользователь базы данных, сопоставленный с асимметричным ключом; | Членство в предопределенной роли базы данных db_securityadmin, членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin. |
Пользователь базы данных, не сопоставленный ни с одним участником на уровне сервера | Разрешение IMPERSONATE для пользователя, членство в предопределенной роли базы данных db_securityadmin, членство в предопределенной роли базы данных db_owner или членство в предопределенной роли сервера sysadmin. |
роль базы данных; | Разрешение ALTER на роль, членство в предопределенной роли базы данных db_securityadmin, предопределенной роли базы данных db_owner или предопределенной роли сервера sysadmin. |
Роль приложения | Разрешение ALTER на роль, членство в предопределенной роли базы данных db_securityadmin, предопределенной роли базы данных db_owner или предопределенной роли сервера sysadmin. |
Примеры
В ходе выполнения следующего примера пользователю EXECUTE
предоставляется разрешение Invoices4
для коллекции XML-схем Wanida
. Коллекция XML-схем Invoices4
размещена внутри схемы Sales
базы данных AdventureWorks2022
.
USE AdventureWorks2022;
GRANT EXECUTE ON XML SCHEMA COLLECTION::Sales.Invoices4 TO Wanida;
GO
См. также
Deny XML Schema Collection Permissions (Transact-SQL)
REVOKE XML Schema Collection Permissions (Transact-SQL)
sys.xml_schema_collections (Transact-SQL)
CREATE XML SCHEMA COLLECTION (Transact-SQL)
Разрешения (ядро СУБД)
Субъекты (ядро СУБД)