GRANT Oprávnění principálu serveru (Transact-SQL)

Platí na:SQL ServerAzureSQL Managed Instance

Uděluje oprávnění při přihlášení do SQL Server.

Transact-SQL konvence syntaxe

Syntax

GRANT permission [ ,...n ] }   
    ON   
    { [ LOGIN :: SQL_Server_login ]  
      | [ SERVER ROLE :: server_role ] }   
    TO <server_principal> [ ,...n ]  
    [ WITH GRANT OPTION ]  
    [ AS SQL_Server_login ]   
  
<server_principal> ::=   
    SQL_Server_login  
    | SQL_Server_login_from_Windows_login   
    | SQL_Server_login_from_certificate   
    | SQL_Server_login_from_AsymKey   
    | server_role  

Arguments

permission
Specifikuje oprávnění, které lze udělit při přihlášení do SQL Server. Seznam oprávnění najdete v části Poznámky dále v tomto tématu.

LOGIN ::SQL_Server_login
Specifikuje přihlášení do SQL Server, ke kterému je oprávnění udělováno. Je vyžadován kvalifikátor oboru (::).

SERVER ROLE ::server_role
Specifikuje uživatelsky definovanou serverovou roli, na kterou je oprávnění udělováno. Je vyžadován kvalifikátor oboru (::).

TO <server_principal> Specifikuje SQL Server přihlašovací nebo serverovou roli, ke které je oprávnění uděleno.

SQL_Server_login
Určuje název přihlášení k SQL Serveru.

SQL_Server_login_from_Windows_login
Určuje název přihlášení SQL Serveru vytvořeného z přihlášení systému Windows.

SQL_Server_login_from_certificate
Určuje název přihlášení SQL Serveru namapovaný na certifikát.

SQL_Server_login_from_AsymKey
Určuje název přihlášení SQL Serveru namapovaný na asymetrický klíč.

server_role
Specifikuje název uživatelsky definované role serveru.

S GRANT MOŽNOSTÍ
Označuje, že objekt zabezpečení bude mít také možnost udělit zadané oprávnění jiným objektům zabezpečení.

JAKO SQL_Server_login
Specifikuje přihlášení do SQL Server, ze kterého hlavní subjekt provádějící tento dotaz získává právo udělit oprávnění.

Remarks

Oprávnění v rozsahu serveru lze udělit pouze tehdy, když je aktuální databáze správná.

Informace o oprávněních serveru jsou viditelné v sys.server_permissions katalogovém zobrazení. Informace o principálech serveru jsou viditelné v sys.server_principals katalogovém zobrazení.

Přihlášení a role serveru SQL Server jsou serverově zabezpečené zařízení. Nejspecifičtější a nejomezenější oprávnění, která lze udělit při přihlášení nebo serverové roli SQL Server, jsou uvedena v následující tabulce spolu s obecnějšími oprávněními, která je implicitně zahrnují.

Oprávnění přihlášení nebo role SQL Server Naznačuje to přihlašovací přístup do SQL Server nebo oprávnění role serveru Implicitní oprávnění serveru
CONTROL CONTROL řídicí server
IMPERSONATE CONTROL řídicí server
VIEW DEFINICE CONTROL VIEW JAKÁKOLI DEFINICE
ALTER CONTROL Změnit libovolný LOGIN

Změnit libovolný SERVER ROLE

Permissions

Pro přihlášení je potřeba CONTROL oprávnění k přihlášení nebo ALTER JAKÉKOLIV LOGIN oprávnění na serveru.

Pro serverové role vyžaduje CONTROL oprávnění na serverovou roli nebo ALTER JAKÉKOLI SERVER ROLE oprávnění na serveru.

Examples

A. Udělení povolení k PŘEDSTÍRÁNÍ při přihlášení

Následující příklad dává IMPERSONATE oprávnění k přihlášení WanidaBenshoof SQL Server k přihlášení SQL Server vytvořenému uživatelem WindowsAdvWorks\YoonM.

USE master;  
GRANT IMPERSONATE ON LOGIN::WanidaBenshoof to [AdvWorks\YoonM];  
GO  

B. Udělení VIEW povolení DEFINITION pomocí GRANT OPTION

Následující příklad umožňuje VIEW DEFINITION přihlašování EricKurjan na SQL Server SQL Server přihlásit RMeyyappan se s .GRANT OPTION

USE master;  
GRANT VIEW DEFINITION ON LOGIN::EricKurjan TO RMeyyappan   
    WITH GRANT OPTION;  
GO   

C. Udělení VIEW oprávnění DEFINITION na serverové roli

Následující příklad přiděluje VIEW DEFINITION roli Sales serveru roli Auditors serveru.

USE master;  
GRANT VIEW DEFINITION ON SERVER ROLE::Sales TO Auditors ;  
GO