Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
Van toepassing op:SQL Server
Azure SQL Database
Azure SQL Managed Instance
SQL-database in Microsoft Fabric Preview
Hiermee worden machtigingen voor systeemobjecten, zoals opgeslagen procedures, uitgebreide opgeslagen procedures, functies en weergaven, geweigerd.
Transact-SQL syntaxis-conventies
Syntax
DENY { SELECT | EXECUTE } ON [ sys. ] system_object TO principal
Arguments
[ sys. ]
De sys kwalificatie is alleen vereist wanneer u verwijst naar catalogusweergaven en dynamische beheerweergaven.
system_object
Hiermee geeft u het object op waarvoor de machtiging wordt geweigerd.
principal
Hiermee geeft u de principal van waaruit de machtiging wordt ingetrokken.
Remarks
Deze instructie kan worden gebruikt om machtigingen te weigeren voor bepaalde opgeslagen procedures, uitgebreide opgeslagen procedures, tabelwaardefuncties, scalaire functies, weergaven, catalogusweergaven, compatibiliteitsweergaven, INFORMATION_SCHEMA weergaven, dynamische beheerweergaven en systeemtabellen die zijn geïnstalleerd door SQL Server. Elk van deze systeemobjecten bestaat als een unieke record in de resourcedatabase (mssqlsystemresource). De resourcedatabase heeft het kenmerk Alleen-lezen. Een koppeling naar het object wordt weergegeven als een record in het sys schema van elke database.
Met standaardnaamomzetting worden niet-gekwalificeerde procedurenamen omgezet in de resourcedatabase. Daarom is de sys kwalificatie alleen vereist wanneer u catalogusweergaven en dynamische beheerweergaven opgeeft.
Caution
Als u machtigingen voor systeemobjecten weigert, mislukken toepassingen die hiervan afhankelijk zijn. SQL Server Management Studio maakt gebruik van catalogusweergaven en werkt mogelijk niet zoals verwacht, als u de standaardmachtigingen voor catalogusweergaven wijzigt.
Het weigeren van machtigingen voor triggers en kolommen met systeemobjecten wordt niet ondersteund.
Machtigingen voor systeemobjecten blijven behouden tijdens sql Server-upgrades.
Systeemobjecten zijn zichtbaar in de catalogusweergave sys.system_objects . De machtigingen voor systeemobjecten zijn zichtbaar in de sys.database_permissions catalogusweergave in de master database.
De volgende query retourneert informatie over machtigingen van systeemobjecten:
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
Permissions
Hiervoor is CONTROL SERVER machtiging vereist.
Examples
In het volgende voorbeeld wordt EXECUTE de machtiging xp_cmdshell voor openbaar geweigerd.
DENY EXECUTE ON sys.xp_cmdshell TO PUBLIC;
GO