GRANT, предоставление разрешения на коллекцию XML-схем (Transact-SQL)
Предоставляет разрешения на коллекции 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 :: [ schema_name**.** ] XML_schema_collection_name
Указывает коллекцию 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-схем | Содержится в разрешении схемы |
---|---|---|
ALTER |
CONTROL |
ALTER |
CONTROL |
CONTROL |
CONTROL |
EXECUTE |
CONTROL |
EXECUTE |
REFERENCES |
CONTROL |
REFERENCES |
TAKE OWNERSHIP |
CONTROL |
CONTROL |
VIEW DEFINITION |
CONTROL |
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. |
Примеры
В ходе выполнения следующего примера пользователю Wanida
предоставляется разрешение EXECUTE
для коллекции XML-схем Invoices4
. Коллекция XML-схем Invoices4
располагается внутри схемы Sales
базы данных AdventureWorks
.
USE AdventureWorks;
GRANT EXECUTE ON XML SCHEMA COLLECTION::Sales.Invoices4 TO Wanida;
GO
См. также
Справочник
DENY, запрет разрешения на коллекцию XML-схем (Transact-SQL)
REVOKE, отмена разрешений на коллекцию XML-схем (Transact-SQL)
sys.xml_schema_collections (Transact-SQL)
CREATE XML SCHEMA COLLECTION (Transact-SQL)