REVOKE (permisos de objeto de sistema de Transact-SQL)

Se aplica a: SQL Server Azure SQL Managed Instance

Revoca permisos en objetos de sistema como procedimientos almacenados, procedimientos almacenados extendidos, funciones y vistas de una entidad de seguridad.

Convenciones de sintaxis de Transact-SQL

Sintaxis

REVOKE { SELECT | EXECUTE } ON [sys.]system_object FROM principal   

Argumentos

[sys.] .
Solo se necesita el calificador sys para hacer referencia a vistas de catálogo y vistas de administración dinámica.

system_object
Especifica el objeto en el que se va a revocar el permiso.

principal
Especifica la entidad de seguridad desde la que se revoca el permiso.

Comentarios

Puede utilizar esta instrucción para revocar permisos para determinados procedimientos almacenados, procedimientos almacenados extendidos, funciones con valores de tabla, funciones escalares, vistas, vistas de catálogo, vistas de compatibilidad, vistas INFORMATION_SCHEMA, vistas de administración dinámica y tablas del sistema instalados por SQL Server. Cada objeto de sistema existe como un registro único en la base de datos de recursos (mssqlsystemresource). La base de datos de recursos es de solo lectura. Se muestra un vínculo al objeto como registro en el esquema sys de todas las bases de datos.

La resolución predeterminada de nombres resuelve los nombres no calificados de procedimiento para la base de datos de recursos. Por tanto, solo se requiere el calificador sys. para especificar vistas de catálogo y vistas de administración dinámica.

Precaución

Si revoca permisos en objetos del sistema, se producirán errores en las aplicaciones que dependen de ellos. SQL Server Management Studio utiliza vistas de catálogo y podría no funcionar correctamente si cambia los permisos predeterminados en las vistas de catálogo.

No se admite la revocación de permisos en desencadenadores y columnas de objetos del sistema.

Los permisos de objetos del sistema se mantendrán durante las actualizaciones de SQL Server.

Puede ver los objetos del sistema en la vista de catálogo sys.system_objects .

Permisos

Requiere el permiso CONTROL SERVER.

Ejemplos

En el siguiente ejemplo se revoca el permiso EXECUTE para sp_addlinkedserver a public.

REVOKE EXECUTE ON sys.sp_addlinkedserver FROM public;  
GO  

Vea también

sys.system_objects (Transact-SQL)
sys.database_permissions (Transact-SQL)
GRANT (permisos de objeto de sistema de Transact-SQL)
DENY (permisos de objeto de sistema de Transact-SQL)