Anteckning
Å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 Database
Azure SQL Managed Instance
SQL-databas i Microsoft Fabric
Nekar behörigheter för systemobjekt som lagrade procedurer, utökade lagrade procedurer, funktioner och vyer.
Transact-SQL syntaxkonventioner
Syntax
DENY { SELECT | EXECUTE } ON [ sys. ] system_object TO principal
Argumentpunkter
[ sys. ]
Kvalificeraren sys
krävs endast när du refererar till katalogvyer och dynamiska hanteringsvyer.
system_object
Anger det objekt där behörighet nekas.
rektor
Anger det huvudnamn som behörigheten återkallas från.
Anmärkningar
Den här instruktionen kan användas för att neka behörigheter för vissa lagrade procedurer, utökade lagrade procedurer, tabellvärdesfunktioner, skalärfunktioner, vyer, katalogvyer, kompatibilitetsvyer, INFORMATION_SCHEMA
vyer, dynamiska hanteringsvyer och systemtabeller som installeras av SQL Server. Vart och ett av dessa systemobjekt finns som en unik post i resursdatabasen (mssqlsystemresource
). Resursdatabasen är skrivskyddad. En länk till objektet visas som en post i schemat för sys
varje databas.
Standardnamnmatchning löser okvalificerade procedurnamn till resursdatabasen. Därför krävs kvalificeraren sys
endast när du anger katalogvyer och dynamiska hanteringsvyer.
Försiktighet
Om du nekar behörigheter för systemobjekt misslyckas program som är beroende av dem. SQL Server Management Studio använder katalogvyer och kanske inte fungerar som förväntat om du ändrar standardbehörigheterna för katalogvyer.
Det går inte att neka behörigheter för utlösare och kolumner i systemobjekt.
Behörigheter för systemobjekt bevaras under SQL Server-uppgraderingar.
Systemobjekt visas i sys.system_objects katalogvy. Behörigheterna för systemobjekt visas i sys.database_permissions katalogvyn i master
databasen.
Följande fråga returnerar information om behörigheter för systemobjekt:
SELECT *
FROM master.sys.database_permissions AS dp
INNER JOIN sys.system_objects AS so
ON dp.major_id = so.object_id
WHERE dp.class = 1
AND so.parent_object_id = 0;
GO
Behörigheter
Kräver CONTROL SERVER
behörighet.
Exempel
I följande exempel nekas EXECUTE
behörighet xp_cmdshell
till offentlig.
DENY EXECUTE ON sys.xp_cmdshell TO PUBLIC;
GO