Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
gäller för:SQL Server
Azure SQL Managed Instance
Nekar behörigheter på en server.
Transact-SQL syntaxkonventioner
Syntax
DENY permission [ ,...n ]
TO <grantee_principal> [ ,...n ]
[ CASCADE ]
[ 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
Argument
tillåtelse
Anger en behörighet som kan nekas på en server. En lista över behörigheterna finns i Kommentarer.
KASKAD
Anger att behörigheten nekas till det angivna huvudkontot och till alla andra huvudnamn som huvudkontot har beviljat behörigheten till. Krävs när rektorn har tillstånd med GRANT OPTION.
TILL <server_principal>
Anger det huvudnamn som behörigheten nekas till.
AS-<grantor_principal>
Anger det huvudnamn som huvudkontot som kör frågan härleder sin rätt att neka behörigheten.
Använd huvudklausulen AS för att ange att huvudpersonen som registreras som nekare av tillståndet ska vara en huvudman som inte utför uttalandet. Till exempel, anta att användaren Mary är principal_id 12 och användaren Raul är principal 15. Mary utför DENY SELECT ON OBJECT::X TO Steven WITH GRANT OPTION AS Raul; Nu sys.database_permissions kommer tabellen att visa att avstängningsuttalandet grantor_principal_id var 15 (Raul) även om uttalandet faktiskt utfördes av användaren 13 (Mary).
SQL_Server_login
Anger en SQL Server-inloggning.
SQL_Server_login_mapped_to_Windows_login
Anger en SQL Server-inloggning som mappats till en Windows-inloggning.
SQL_Server_login_mapped_to_Windows_group
Anger en SQL Server-inloggning mappad till en Windows-grupp.
SQL_Server_login_mapped_to_certificate
Anger en SQL Server-inloggning mappad till ett certifikat.
SQL_Server_login_mapped_to_asymmetric_key
Anger en SQL Server-inloggning mappad till en asymmetrisk nyckel.
server_role
Anger en serverroll.
Anmärkningar
Behörigheter på serverns omfattning kan endast nekas när den aktuella databasen är master.
Information om serverbehörigheter kan visas i sys.server_permissions katalogvy och information om serverhuvudnamn kan visas i sys.server_principals katalogvy. Information om medlemskap i serverroller kan visas i sys.server_role_members katalogvyn.
I Azure SQL Database GRANTstöds inte , REVOKE, och DENY servernivåbehörigheter.
En server är den högsta nivån i behörighetshierarkin. De mest specifika och begränsade behörigheter som kan nekas på en server visas i följande tabell.
| Serverbehörighet | Underförstått av serverbehörighet |
|---|---|
ADMINISTER BULK OPERATIONS |
CONTROL SERVER |
ALTER ANY AVAILABILITY GROUPgäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
CONTROL SERVER |
ALTER ANY CONNECTION |
CONTROL SERVER |
ALTER ANY CREDENTIAL |
CONTROL SERVER |
ALTER ANY DATABASE |
CONTROL SERVER |
ALTER ANY ENDPOINT |
CONTROL SERVER |
ALTER ANY EVENT NOTIFICATION |
CONTROL SERVER |
ALTER ANY EVENT SESSION |
CONTROL SERVER |
ALTER ANY LINKED SERVER |
CONTROL SERVER |
ALTER ANY LOGIN |
CONTROL SERVER |
ALTER ANY SERVER AUDIT |
CONTROL SERVER |
ALTER ANY SERVER ROLEgäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
CONTROL SERVER |
ALTER RESOURCES |
CONTROL SERVER |
ALTER SERVER STATE |
CONTROL SERVER |
ALTER SETTINGS |
CONTROL SERVER |
ALTER TRACE |
CONTROL SERVER |
AUTHENTICATE SERVER |
CONTROL SERVER |
| ANSLUT ALLA DATABASE gäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
CONTROL SERVER |
CONNECT SQL |
CONTROL SERVER |
CONTROL SERVER |
CONTROL SERVER |
CREATE ANY DATABASE |
ALTER ANY DATABASE |
| CREATE AVAILABILITY GROUP gäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
ÄNDRA NÅGON AVAILABILITY GROUP |
CREATE DDL EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
CREATE ENDPOINT |
ALTER ANY ENDPOINT |
CREATE SERVER ROLEgäller för: SQL Server (SQL Server 2012 (11.x) via aktuella versionen). |
ALTER ANY SERVER ROLE |
CREATE TRACE EVENT NOTIFICATION |
ALTER ANY EVENT NOTIFICATION |
EXTERNAL ACCESS ASSEMBLY |
CONTROL SERVER |
IMPERSONATE ANY LOGINgäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
CONTROL SERVER |
SELECT ALL USER SECURABLESgäller för: SQL Server (SQL Server 2014 (12.x) via aktuella versionen). |
CONTROL SERVER |
SHUTDOWN |
CONTROL SERVER |
UNSAFE ASSEMBLY |
CONTROL SERVER |
VIEW ANY DATABASE |
VIEW ANY DEFINITION |
VIEW ANY DEFINITION |
CONTROL SERVER |
VIEW ANY PERFORMANCE DEFINITIONgäller för: SQL Server 2022 (16.x) och senare versioner. |
VIEW ANY DEFINITION |
VIEW ANY SECURITY DEFINITIONgäller för: SQL Server 2022 (16.x) och senare versioner. |
VIEW ANY DEFINITION |
VIEW SERVER PERFORMANCE STATEgäller för: SQL Server 2022 (16.x) och senare versioner. |
VIEW SERVER STATE |
VIEW SERVER SECURITY STATEgäller för: SQL Server 2022 (16.x) och senare versioner. |
VIEW SERVER STATE |
VIEW SERVER STATE |
ALTER SERVER STATE |
Följande tre serverbehörigheter lades till i SQL Server 2014 (12.x).
CONNECT ANY DATABASEbehörighet- Bevilja
CONNECT ANY DATABASEen inloggning som måste ansluta till alla databaser som redan finns och till eventuella nya databaser som kan skapas i framtiden. Beviljar inte någon behörighet i någon databas utöver anslutning. Kombinera medSELECT ALL USER SECURABLESellerVIEW SERVER STATEför att tillåta en granskningsprocess att se all data eller alla databastillstånd på instansen av SQL Server.
- Bevilja
IMPERSONATE ANY LOGINbehörighet- När den beviljas kan en mellannivåprocess personifiera kontot för klienter som ansluter till den, eftersom den ansluter till databaser. När du nekas kan en högprivilegierad inloggning blockeras från att personifiera andra inloggningar. Till exempel kan en inloggning med
CONTROL SERVERbehörighet blockeras från att utge sig för att vara andra inloggningar.
- När den beviljas kan en mellannivåprocess personifiera kontot för klienter som ansluter till den, eftersom den ansluter till databaser. När du nekas kan en högprivilegierad inloggning blockeras från att personifiera andra inloggningar. Till exempel kan en inloggning med
SELECT ALL USER SECURABLESbehörighet- När den beviljas kan en inloggning, till exempel en granskare, visa data i alla databaser som användaren kan ansluta till. När det nekas, förhindrar åtkomst till objekt om de inte ingår i schemat
sys.
- När den beviljas kan en inloggning, till exempel en granskare, visa data i alla databaser som användaren kan ansluta till. När det nekas, förhindrar åtkomst till objekt om de inte ingår i schemat
Behörigheter
Kräver kontrollserverbehörighet eller ägarskap för det skyddbara objektet. Om du använder AS-satsen måste det angivna huvudkontot äga det skydd som behörigheter nekas för.
Exempel
A. Neka CONNECT SQL-behörighet till en SQL Server-inloggning och de principaler som inloggningen har återbeviljat den till
I följande exempel nekas CONNECT SQL behörighet till SQL Server-inloggningen Test och till de huvudnamn som hon har beviljat behörigheten till.
USE master;
DENY CONNECT SQL TO Test CASCADE;
GO
B. Neka CREATE ENDPOINT behörighet till en SQL Server-inloggning med AS-alternativet
I följande exempel nekas CREATE ENDPOINT behörighet till användaren Test1. I exemplet används alternativet AS för att ange Test2 som det huvudnamn som det verkställande huvudkontot härleder utfärdaren från för att göra det.
USE master;
DENY CREATE ENDPOINT TO Test1 AS Test2;
GO