Partilhar via


Lição 2: Configurar permissões em objetos de banco de dados

Aplica-se a:SQL ServerAzure SQL DatabaseAzure SQL Managed InstanceSistema de Plataforma de Análise (PDW)Base de dados SQL no Microsoft Fabric

Note

O caminho de aprendizado Introdução à consulta com o Transact-SQL fornece conteúdo mais aprofundado, juntamente com exemplos práticos.

Conceder a um usuário acesso a um banco de dados envolve três etapas. Primeiro, você cria um login. O logon permite que o usuário se conecte ao Mecanismo de Banco de Dados do SQL Server. Em seguida, você configura o logon como um usuário no banco de dados especificado. E, finalmente, você concede a esse usuário permissão para objetos de banco de dados. Esta lição mostra essas três etapas e mostra como criar um modo de exibição e um procedimento armazenado como o objeto.

Note

Esta lição se baseia em objetos criados na Lição 1 - Criar objetos de banco de dados. Complete a Lição 1 antes de continuar para a lição 2.

Prerequisites

Para concluir este tutorial, você precisa do SQL Server Management Studio e acesso a uma instância do SQL Server.

Se você não tiver acesso a uma instância do SQL Server, selecione sua plataforma nos links a seguir. Se você escolher Autenticação SQL, use suas credenciais de logon do SQL Server.

Estamos ouvindo: Se você encontrar algo desatualizado ou incorreto neste artigo, como uma etapa ou um exemplo de código, por favor, diga-nos. Você pode clicar no botão Esta página na seção Comentários na parte inferior desta página. Lemos todos os comentários sobre SQL, normalmente no dia seguinte. Thanks.

Criar um login

Para acessar o Mecanismo de Banco de Dados, os usuários precisam de um login. O logon pode representar a identidade do usuário como uma conta do Windows ou como um membro de um grupo do Windows, ou o logon pode ser um logon do SQL Server que existe apenas no SQL Server. Sempre que possível, você deve usar a Autenticação do Windows.

Por padrão, os administradores no seu computador têm acesso total ao SQL Server. Para esta lição, queremos ter um utilizador menos privilegiado; portanto, você criará uma nova conta de Autenticação do Windows local no seu computador. Para fazer isso, você deve ser um administrador no seu computador. Em seguida, você concede a esse novo usuário acesso ao SQL Server.

Criar uma nova conta do Windows

  1. Selecione Iniciar, selecione Executar, na caixa Abrir , digite %SystemRoot%\system32\compmgmt.msc /s e selecione OK para abrir o programa Gerenciamento do Computador.
  2. Em Ferramentas do Sistema, expanda Usuários e Grupos Locais, clique com o botão direito do mouse em Usuários e selecione Novo Usuário.
  3. Na caixa Nome de usuário , digite Mary.
  4. Na caixa Senha e Confirmar senha , digite uma senha forte e selecione Criar para criar um novo usuário local do Windows.

Criar um login SQL

Em uma janela do Editor de Consultas do SQL Server Management Studio, digite e execute o código a seguir substituindo computer_name pelo nome do seu computador. FROM WINDOWS indica que o Windows autentica o usuário. O argumento opcional DEFAULT_DATABASE se conecta Mary ao banco de dados, a TestData menos que a cadeia de conexão indique outro banco de dados. Esta instrução introduz o ponto-e-vírgula como uma terminação opcional para uma instrução Transact-SQL.

CREATE LOGIN [computer_name\Mary]
    FROM WINDOWS
    WITH DEFAULT_DATABASE = [TestData];
GO

Isso autoriza um nome Maryde usuário, autenticado pelo seu computador, para acessar essa instância do SQL Server. Se houver mais de uma instância do SQL Server no computador, você deverá criar o logon em cada instância que Mary deve acessar.

Note

Como Mary não é uma conta de domínio, esse nome de usuário só pode ser autenticado neste computador.

Conceder acesso a um banco de dados

A Mary conta agora tem acesso a essa instância do SQL Server, mas não tem permissão para acessar os bancos de dados. A conta nem sequer tem acesso ao banco de dados TestData padrão até que você autorize a conta como um usuário do banco de dados.

Para conceder Mary acesso, alterne para o TestData banco de dados e use a instrução CREATE USER para mapear o logon para um usuário chamado Mary.

Criar um usuário em um banco de dados

Digite e execute as instruções a seguir (substituindo computer_name pelo nome do seu computador) para conceder Mary acesso ao TestData banco de dados.

USE [TestData];
GO

CREATE USER [Mary] FOR LOGIN [computer_name\Mary];
GO

Agora, Mary tem acesso ao SQL Server e ao TestData banco de dados.

Criar modos de exibição e procedimentos armazenados

Como administrador, você pode executar o SELECT a Products partir da tabela e da vw_Names exibição, e executar o pr_Names procedimento, no entanto, Mary não pode. Para conceder a Mary as permissões necessárias, use a declaração GRANT.

Conceder permissão ao procedimento armazenado

Execute a instrução a seguir para dar Mary a EXECUTE permissão para o pr_Names procedimento armazenado.

GRANT EXECUTE ON pr_Names TO Mary;
GO

Nesse cenário, Mary só pode acessar a Products tabela usando o procedimento armazenado. Se você quiser que Mary seja capaz de executar uma instrução SELECT contra a exibição, então você também deve executar GRANT SELECT ON vw_Names TO Mary. Para remover o acesso a objetos de banco de dados, use a instrução REVOKE.

Note

Se a tabela, a exibição e o procedimento armazenado não pertencerem ao mesmo esquema, a concessão de permissões se tornará mais complexa.

Sobre o GRANT

Você deve ter permissão EXECUTE para executar um procedimento armazenado. Você deve ter permissões SELECT, INSERT, UPDATE e DELETE para acessar e alterar dados. A instrução GRANT também é usada para outras permissões, como permissão para criar tabelas.

Próximos passos

O próximo artigo ensina como remover objetos de banco de dados criados nas outras lições.

Vá para o próximo artigo para saber mais: