Поделиться через


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 базы данных AdventureWorks2012.

USE AdventureWorks2012;

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)

Основные понятия

Разрешения (компонент Database Engine)

Участники (компонент Database Engine)