Grant do SQL Server

Grant do SQL Server
Neste artigo, você entenderá como usar a declaração de concessão no SQL Server para conceder permissões em um.

SQL Server Securable e Principal

Um Sistema de Autorização de Motores de Banco de Dados SQL Server refere. Um exemplo seria uma tabela de banco de dados.

Um diretor refere -se a qualquer entidade que exija acesso a qualquer recurso do SQL Server. Por exemplo, um usuário que solicita permissões em uma tabela é um principal.

Declaração de concessão do servidor SQL

A seguir, mostra a sintaxe do comando Grant no SQL Server:

Permissões de concessão
Em garantia de Principal;

Você precisa especificar a permissão que deseja atribuir ao diretor como uma lista separada por vírgula.

A palavra -chave ON permite especificar o seguro no qual as permissões são aplicadas. Finalmente, a palavra -chave para você definir o principal principal.

Por exemplo, a criação de um usuário usando a instrução CREATE Usuário não define as permissões para esse usuário. Portanto, é essencial usar a declaração de concessão para definir as permissões para esse usuário.

Vamos dar um exemplo.

Crie exemplo de login

Vamos começar criando um amostra de login para fins de ilustração. A consulta é conforme fornecido abaixo:

Crie login linuxhint
com senha = "senha";

O comando acima deve criar um usuário com o nome de usuário Linuxhint e a senha especificada.

Crie um banco de dados de amostra

Podemos criar um banco de dados em que o usuário residirá assim que definirmos um login. As consultas são como mostradas:

soltar o banco de dados se existir resolvedor;
criar resolvedor de banco de dados;
use resolver;
soltar a mesa se existir entradas;
Crie entradas de tabela (
Id int não identidade nula (1,
1) chave primária,
Server_name Varchar (50),
Server_address Varchar (255) não nulo,
compressão_method Varchar (100) padrão 'nenhum',
size_on_disk float não nulo,
Size_Compressed Float,
Total_records int não nulo,
init_date data
);
inserir
em
Entradas (server_name,
endereço do servidor,
método de compressão,
tamanho no disco,
size_compressado,
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');

Crie um usuário para o login

Depois de criarmos o banco de dados e a tabela, podemos criar um usuário para o login Linuxhint como:

Use resolver
Crie o usuário linuxhint
para login linuxhint;

Faça login como o novo usuário

Em seguida, vamos fazer login como o usuário recém -criado. O comando é como mostrado:

SetUser 'Linuxhint';

Depois de conectado, podemos tentar visualizar as tabelas executando o comando SELECT:

selecione * nas entradas;

Executar a consulta acima deve retornar um erro:

MSG 229, Nível 14, Estado 5, linha 379
A permissão selecionada foi negado no objeto 'entradas', banco de dados 'resolvedor', esquema 'dbo'.

Isso ocorre porque o usuário Linuxhint não possui nenhuma permissões no banco de dados, incluindo as permissões selecionadas.

Conceder permissão ao usuário

Precisamos conceder as permissões selecionadas para permitir que o usuário visualize as informações armazenadas nas tabelas.

Para isso, você precisa fazer login com a conta administrativa do SQL Server.

Em seguida, execute a consulta como:

Grant Selecione nas entradas para Linuxhint;

Depois de executado, faça o login como o usuário Linuxhint e use a instrução SELECT.

selecione * nas entradas;

Nesse caso, o comando retorna a tabela como o usuário possui permissões selecionadas

Você também pode atribuir outra permissão ao usuário, como inserir e excluir como:

Grant Insert, exclua as entradas do Linuxhint;

Nesse caso, o usuário do Linuxhint deve ter as permissões de seleção, inserção e exclusão na tabela de entradas.

Conclusão

Nesta postagem, exploramos o uso do comando Grant no SQL Server. O comando permite que você atribua permissões a um determinado diretor.