Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Область применения: SQL Server Управляемый экземпляр SQL Azure
Предоставляет разрешения на сервер.
Соглашения о синтаксисе Transact-SQL
Синтаксис
GRANT permission [ ,...n ]
TO <grantee_principal> [ ,...n ] [ WITH GRANT OPTION ]
[ AS <grantor_principal> ]
<grantee_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
<grantor_principal> ::= SQL_Server_login
| SQL_Server_login_mapped_to_Windows_login
| SQL_Server_login_mapped_to_Windows_group
| SQL_Server_login_mapped_to_certificate
| SQL_Server_login_mapped_to_asymmetric_key
| server_role
Аргументы
permission
Определяет разрешение, которое может быть предоставлено на сервер. Список разрешений см. в подразделе "Примечания" далее в этом разделе.
TO <grantee_principal> указывает участника, которому предоставляется разрешение.
AS <grantor_principal> указывает участника, от которого участник, выполняющий данный запрос, наследует право на предоставление разрешения.
С ОПЦИЕЙ GRANT
Показывает, что участнику будет дана возможность предоставлять указанное разрешение другим участникам.
SQL_Server_login
Указывает имя входа SQL Server.
SQL_Server_login_mapped_to_Windows_login
Указывает имя входа SQL Server, сопоставленное с именем входа Windows.
SQL_Server_login_mapped_to_Windows_group
Указывает имя входа SQL Server, сопоставленное с группой Windows.
SQL_Server_login_mapped_to_certificate
Указывает имя входа SQL Server, сопоставленное с сертификатом.
SQL_Server_login_mapped_to_asymmetric_key
Указывает имя входа SQL Server, сопоставленное с асимметричным ключом.
server_role
Указывает определяемую пользователем роль сервера.
Замечания
Разрешения в области сервера предоставляются только в том случае, если текущей база данных является master.
Сведения о разрешениях для сервера можно просмотреть в представлении каталога sys.server_permissions, а сведения о субъектах на уровне сервера — в представлении каталога sys.server_principals. Сведения о членстве ролей сервера можно просмотреть в представлении каталога sys.server_role_members.
Сервер является наивысшим уровнем в иерархии разрешений. Наиболее специфичные и ограниченные разрешения, которые могут быть предоставлены на сервере, представлены в следующей таблице.
| Разрешение сервера | Подразумевается в разрешении сервера |
|---|---|
| АДМИНИСТРИРОВАНИЕ МАССОВЫХ ОПЕРАЦИЙ | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО AVAILABILITY GROUP Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии. |
сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО СОЕДИНЕНИЯ | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО CREDENTIAL | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО DATABASE | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО ENDPOINT | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО EVENT SESSION | сервер управления |
| ИЗМЕНИТЬ ЛЮБОЙ ПОДКЛЮЧЕННЫЙ СЕРВЕР | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО LOGIN | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО SERVER AUDIT | сервер управления |
| ИЗМЕНЕНИЕ ЛЮБОГО SERVER ROLE Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии. |
сервер управления |
| ИЗМЕНИТЬ РЕСУРСЫ | сервер управления |
| Изменить состояние сервера (ALTER SERVER STATE) | сервер управления |
| ИЗМЕНИТЬ НАСТРОЙКИ | сервер управления |
| ALTER TRACE (изменение трассировки) | сервер управления |
| АУТЕНТИФИЦИРУЙТЕ СЕРВЕР | сервер управления |
| ПОДКЛЮЧЕНИЕ ЛЮБОГО DATABASE Область применения: SQL Server (SQL Server 2014 (12.x) до текущей версии. |
сервер управления |
| CONNECT SQL | сервер управления |
| сервер управления | сервер управления |
| СОЗДАНИЕ ЛЮБОГО DATABASE | ИЗМЕНЕНИЕ ЛЮБОГО DATABASE |
| CREATE AVAILABILITY GROUP Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии. |
ИЗМЕНЕНИЕ ЛЮБОГО AVAILABILITY GROUP |
| СОЗДАТЬ DDL EVENT NOTIFICATION | ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION |
| CREATE ENDPOINT | ИЗМЕНЕНИЕ ЛЮБОГО ENDPOINT |
| CREATE LOGIN Область применения: SQL Server 2022 (16.x) и более поздних версий. |
ИЗМЕНЕНИЕ ЛЮБОГО LOGIN |
| CREATE SERVER ROLE Применимо к: SQL Server (SQL Server 2012 (11.x) до текущей версии. |
ИЗМЕНЕНИЕ ЛЮБОГО SERVER ROLE |
| СОЗДАТЬ ТРАССЁР EVENT NOTIFICATION | ИЗМЕНЕНИЕ ЛЮБОГО EVENT NOTIFICATION |
| ВНЕШНИЙ ДОСТУП ASSEMBLY | сервер управления |
| ОЛИЦЕТВОРЕНИЯ ЛЮБОГО LOGIN Область применения: SQL Server (SQL Server 2014 (12.x) до текущей версии. |
сервер управления |
| ВЫБЕРИТЕ ВСЕ USER ЗАЩИЩАЕМЫЕ ОБЪЕКТЫ Область применения: SQL Server (SQL Server 2014 (12.x) до текущей версии. |
сервер управления |
| SHUTDOWN | сервер управления |
| НЕБЕЗОПАСНО ASSEMBLY | сервер управления |
| VIEW ЛЮБОЙ DATABASE | VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ |
| VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ | сервер управления |
|
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ ПРОИЗВОДИТЕЛЬНОСТИ Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ |
|
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ БЕЗОПАСНОСТИ Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW ЛЮБОЕ ОПРЕДЕЛЕНИЕ |
|
VIEW СОСТОЯНИЕ ПРОИЗВОДИТЕЛЬНОСТИ СЕРВЕРА Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW СОСТОЯНИЕ СЕРВЕРА |
|
VIEW СОСТОЯНИЕ БЕЗОПАСНОСТИ СЕРВЕРА Область применения: SQL Server 2022 (16.x) и более поздних версий. |
VIEW СОСТОЯНИЕ СЕРВЕРА |
| VIEW СОСТОЯНИЕ СЕРВЕРА | Изменить состояние сервера (ALTER SERVER STATE) |
В SQL Server 2014 (12.x) добавлены следующие три разрешения сервера.
ПОДКЛЮЧИТЬ ЛЮБОЙ DATABASE Разрешение
Дайте CONNECT ANY DATABASE к логину, который должен подключаться ко всем существующим базам данных, а также к новым базам, которые могут быть созданы в будущем. Не предоставляет каких-либо разрешений в базах данных за пределами соединения. Комбинируйте с SELECT ALL USER SECURABLES или VIEW SERVER STATE, чтобы аудит мог просматривать все данные или все состояния базы данных на экземпляре SQL Server.
ИМИТИРУЙТЕ ЛЮБОГО LOGIN Разрешение
После предоставления разрешает процессу среднего уровня олицетворять учетную запись клиентов, подключающихся к ней, так как она подключается к базам данных. При запрещении имени входа с высоким уровнем прав может быть запрещено олицетворение других имен входа. Например, имени входа с разрешением CONTROL SERVER можно запретить олицетворение других имен входа.
ВЫБЕРИТЕ ВСЕХ USER Разрешение на ГАРАНТИРУЕМЫЕ
При предоставлении этого разрешения учетная запись может просматривать данные всех объектов уровня схемы, таких как таблицы, представления и функции с табличным значением, которые размещаются в схемах, доступных для записи пользователям (любая схема, кроме sys и INFORMATION_SCHEMA), и могут использоваться для создания пользовательских объектов. Это разрешение действует во всех базах данных, к которым может подключаться пользователь. Отмена разрешения блокирует доступ ко всем объектам, кроме находящихся в схеме sys или INFORMATION_SCHEMA. Это также влияет на видимость метаданных охватываемых объектов. Дополнительные сведения: Настройка видимости метаданных.
Разрешения
Лицо, предоставляющее разрешение (или субъект, указанный с параметром AS), должно иметь либо само это разрешение с GRANT OPTION, либо более высокое разрешение, которое включает в себя предоставляемое разрешение. Члены предопределенной роли сервера sysadmin могут предоставлять любые разрешения.
Примеры
А. Предоставление разрешения имени входа
В следующем примере разрешение CONTROL SERVER предоставляется имени входа SQL Server TerryEminhizer.
USE master;
GRANT CONTROL SERVER TO TerryEminhizer;
GO
B. Предоставление разрешения, которое имеет GRANT разрешение
В следующем примере разрешение ALTER ANY EVENT NOTIFICATION предоставляется имени входа SQL Server JanethEsteves с правом предоставлять разрешения другому имени входа.
USE master;
GRANT ALTER ANY EVENT NOTIFICATION TO JanethEsteves WITH GRANT OPTION;
GO
В. Предоставление разрешения роли сервера
В следующем примере создается роль сервера с именем ITDevelopers. Роли сервера ALTER ANY DATABASE предоставляется разрешение ITDevelopers.
USE master;
CREATE SERVER ROLE ITDevelopers ;
GRANT ALTER ANY DATABASE TO ITDevelopers ;
GO
См. также
GRANT (Transact-SQL)
DENY (Transact-SQL)
DENY Разрешения сервера (Transact-SQL)
REVOKE Разрешения сервера (Transact-SQL)
Иерархия разрешений (ядро СУБД)
Субъекты (ядро СУБД)
Разрешения (ядро СУБД)
sys.fn_builtin_permissions (Transact-SQL)
sys.fn_my_permissions (Transact-SQL)
HAS_PERMS_BY_NAME (Transact-SQL)