Subvención del servidor SQL

Subvención del servidor SQL
En este artículo, comprenderá cómo utilizar la declaración de subvención en SQL Server para otorgar permisos a un seguimiento a un director.

SQL Server Securable y Principal

Un seguidor se refiere a los recursos del sistema de autorización del motor de la base de datos SQL Server Controles Access. Un ejemplo sería una tabla de base de datos.

Un principal se refiere a cualquier entidad que requiera acceso a cualquier recurso de SQL Server. Por ejemplo, un usuario que solicita permisos en una tabla es un principal.

Declaración de subvención del servidor SQL

Lo siguiente muestra la sintaxis del comando de subvención en SQL Server:

Otorgar permisos
En seguimiento a director;

Debe especificar el permiso que desea asignar al director como una lista separada por comas.

La palabra clave ON le permite especificar los seguidores en el que se aplican los permisos. Finalmente, la palabra clave TO le permite establecer el principal objetivo.

Por ejemplo, la creación de un usuario que usa la instrucción Crear usuario no define los permisos para ese usuario. Por lo tanto, es esencial utilizar la declaración de subvención para establecer los permisos para ese usuario.

Tomemos un ejemplo.

Crear ejemplo de inicio de sesión

Comencemos creando una muestra de inicio de sesión para fines de ilustración. La consulta es la que se proporciona a continuación:

Crear inicio de sesión Linuxhint
con contraseña = "contraseña";

El comando anterior debe crear un usuario con el nombre de usuario LinuxHint y la contraseña especificada.

Crear base de datos de muestra

Podemos crear una base de datos donde residirá el usuario una vez que hayamos definido un inicio de sesión. Las consultas son como se muestra:

Drop Base de datos si existe resolución;
crear resolución de base de datos;
usar resolución;
Tabla de caída si existe entradas;
crear entradas de mesa (
ID int no identidad nula (1,
1) Clave primaria,
server_name varchar (50),
server_address varchar (255) no nulo,
compresion_method varchar (100) predeterminado 'ninguno',
size_on_disk float no nulo,
size_compreted flotante,
Total_records int no nulo,
Fecha de init_date
);
insertar
en
Entradas (server_name,
dirección del servidor,
método de compresión,
size_on_disk,
size_comprised,
Total_Records,
init_date)
valores
('Mysql', 'localhost: 3306', 'lz77', 90.66,40.04,560000, '2022-01-02'),
('Redis', 'Localhost: 6307', 'Snappy', 3.55,998.2,100000, '2022-03-19'),
('PostgreSQL', 'Localhost: 5432', 'Pglz', 101.2,98.01,340000, '2022-11-11'),
('Elasticsearch', 'localhost: 9200', 'lz4', 333.2,300.2,1200000, '2022-10-08'),
('MongoDB', 'Localhost: 27017', 'Snappy', 4.55,4.10,620000, '2021-12-12'),
('Apache Cassandra', 'Localhost: 9042', 'ZSTD', 300.3,200.12,10000000, '2020-03-21');

Crear un usuario para el inicio de sesión

Una vez que hemos creado la base de datos y la tabla, podemos crear un usuario para el inicio de sesión de Linuxhint como:

Usar resolución
Crear usuario Linuxhint
para inicio de sesión Linuxhint;

Iniciar sesión como el nuevo usuario

A continuación, iniciamos sesión como el usuario recién creado. El comando es como se muestra:

setUser 'Linuxhint';

Una vez iniciado sesión, podemos intentar ver las tablas ejecutando el comando SELECT:

seleccionar * de las entradas;

Ejecutar la consulta anterior debe devolver un error:

MSG 229, Nivel 14, Estado 5, Línea 379
El permiso de selección se negó en el objeto 'Entradas', la base de datos 'resolución', esquema 'dbo'.

Esto se debe a que el usuario de Linuxhint no tiene permisos en la base de datos, incluidos los permisos seleccionados.

Otorgar permiso al usuario

Necesitamos otorgar los permisos seleccionados para permitir al usuario ver la información almacenada en las tablas.

Para eso, debe iniciar sesión con la cuenta administrativa de SQL Server.

A continuación, ejecute la consulta como:

otorgar selección en entradas a Linuxhint;

Una vez ejecutado, inicie sesión como usuario de Linuxhint y use la instrucción Seleccionar.

seleccionar * de las entradas;

En este caso, el comando devuelve la tabla ya que el usuario tiene permisos seleccionados

También puede asignar otro permiso al usuario, como insertar y eliminar como:

Insertar de subvención, eliminar las entradas a Linuxhint;

En este caso, el usuario de Linuxhint debe tener los permisos seleccionar, insertar y eliminar en la tabla de entradas.

Conclusión

En esta publicación, exploramos el uso del comando de subvención en SQL Server. El comando le permite asignar permisos a un principal determinado.