Como usar as funções do SQL Server

Como usar as funções do SQL Server

Os usos do servidor SQL é armazenar, recuperar e manipular os dados. Um dos principais recursos do servidor SQL é sua capacidade de conceder e gerenciar permissões a diferentes usuários e grupos. As funções do SQL Server são uma ferramenta poderosa que permite aos administradores do banco de dados atribuir um conjunto de permissões a um grupo de usuários com necessidades semelhantes.

Este artigo fornece um guia sobre como usar as funções do SQL Server, incluindo uma visão geral dos diferentes tipos de funções disponíveis, exemplos de como atribuir essas funções aos usuários e dicas sobre como gerenciar essas funções.

O que são papéis SQL?

As funções permitem que o DBA gerencie as permissões com mais eficiência. Precisamos criar os papéis primeiro. Em seguida, atribuímos as permissões aos papéis e depois adicionamos os logins às funções, de acordo.

O servidor SQL suporta principalmente dois tipos de funções:

  • Funções de servidor fixo: Essas funções já têm um conjunto predefinido de permissões.
  • Funções de servidor definidas pelo usuário: Essas funções podem ser alteradas para atender aos requisitos de sua organização.

Tipos de funções de servidor SQL

O servidor SQL fornece várias funções internas que podem ser usadas para atribuir permissões aos usuários. Aqui estão alguns dos papéis mais comuns e suas permissões correspondentes:

  • Bulkadmin: Os membros da função de servidor fixo da Bulkadmin podem executar a instrução "Bulk Insert".
  • sysadmin: Essa função tem o nível mais alto de permissões e pode executar qualquer ação na instância do SQL Server, incluindo criar, modificar e excluir os bancos de dados e logins.
  • ServerAdmin: Essa função pode definir as configurações no nível do servidor, como alocação de memória e protocolos de rede, mas não pode modificar os bancos de dados.
  • SecurityAdmin: Essa função pode gerenciar os logins e suas permissões, incluindo a criação e modificação dos logins, funções e senhas.
  • ProcessAdmin: A função de servidor fixo do ProcessAdmin concede a seus membros a capacidade de terminar ou interromper os processos que estão atualmente executando em uma instância do mecanismo de banco de dados do servidor SQL.
  • dbcreator: Isso tem as permissões de criar, modificar e remover os bancos de dados, mas não possui autoridade para executar quaisquer outras tarefas administrativas.
  • diskadmin: Essa função pode gerenciar os arquivos de disco, como criar e excluir arquivos e adicionar ou remover discos.
  • DataReader: A função DataReader tem a capacidade de acessar e ler todas as informações armazenadas nas tabelas de usuário de um banco de dados.
  • DataWriter: A função DataWriter possui a autoridade para inserir, atualizar e excluir os dados de todas as tabelas de usuário em um banco de dados.
  • ddladmin: Essa função pode criar, modificar e soltar os gatilhos e objetos DDL (visualizações, tabelas e procedimentos armazenados).
  • público: Por padrão, todos os usuários, grupos e funções do SQL Server são automaticamente incluídos na função pública do servidor fixo.

Criando a função de servidor definida pelo usuário usando a GUI

A criação de uma função de servidor definida pelo usuário no SQL Server pode ser feita através da GUI usando o SQL Server Management Studio (SSMS). Para criar uma função de servidor definida pelo usuário usando a GUI no SSMS, siga estas etapas:

1. Inicie o SQL Server Management Studio (SSMS) e estabeleça uma conexão com a instância específica do SQL Server.

2. Vá para a segurança -> Funções do servidor-> nova função do servidor.

3. Especifique um nome para o novo papel na página geral.

4. Especifique os títulos no nível do servidor em que a função terá permissões na página Securables.

5. Adicione quaisquer usuários ou outras funções na página dos membros.

Criando e usando a função do servidor através do T-SQL

Criar e usar uma função de servidor usando T-SQL no servidor SQL é outra maneira de gerenciar as permissões no nível do servidor. Para criar uma função de servidor definida pelo usuário usando o T-SQL, precisamos seguir estas etapas:

1. Abra uma nova janela de consulta e execute o código a seguir para criar a nova função do servidor:

-- << Create a user defined Server role
Use [mestre]
IR
Criar função do servidor [Junior DBA]
IR

Neste exemplo, criamos uma nova função de servidor - "Junior DBA".

2. Execute o seguinte código para conceder permissões à nova função:

Use [mestre]
IR
Grant Crie qualquer banco de dados --<< now can create db
Para [Junior DBA]
IR

Neste exemplo, permitimos a permissão para a nova função, "Junior DBA", para criar os bancos de dados.

Concessão visualize qualquer banco de dados --<< only can view any db but not tables
Para [Junior DBA]
IR

Neste exemplo, o comando "Grant View qualquer banco de dados" é usado para conceder uma permissão no nível do servidor que permita que a função consulte os metadados para qualquer banco de dados no servidor. Nesse caso, concedemos essa permissão para a função de servidor "junior dbA" que criamos anteriormente.

No entanto, é importante observar que a concessão da permissão "Exibir qualquer banco de dados" não concede ao usuário ou à permissão da função para acessar quaisquer dados dentro dos bancos de dados - simplesmente permite que eles vejam os metadados (como nomes de banco de dados e esquemas).

3. Adicione um login ou conta de usuário à nova função executando o seguinte código:

--Adicione os logins SQL à nova função do servidor
Alter função do servidor [Junior DBA]
Adicionar membro [Papan]
IR
Alter função do servidor [Junior DBA]
Adicionar membro [rima]
IR

Neste exemplo, adicionamos as contas "Papan" e "Rima" como membros do papel "Junior DBA".

Conclusão

As funções do SQL Server fornecem uma ferramenta poderosa para gerenciar as permissões em um ambiente de banco de dados. Ao atribuir funções aos usuários, você pode garantir que eles tenham o nível de acesso apropriado aos dados de que eles precisam, sem lhes dar privilégios desnecessários. Esteja você gerenciando um pequeno banco de dados ou um grande sistema corporativo, entender como usar as funções do SQL Server é uma habilidade importante que pode ajudá -lo a manter a segurança e a integridade de seus dados.