top of page

Criar novo usuário ou editar - SQL SERVER

  • Foto do escritor: Amanda Nascimento
    Amanda Nascimento
  • 13 de dez. de 2023
  • 5 min de leitura

Atualizado: 1 de jun.


Como criar um novo usuário em um banco de dados SQL Server,

no seu banco, logado, clique com o botão direito no nome do servidor, e em

segurança, clique com o botão direito do mouse em Logons | Novo Logon...


Obs: Se deseja conectar este usuário em um servidor que esta em outra máquina, dentro da mesma rede, clique aqui para saber mais.


ree


Em Geral, insira um nome de usuário, marque a opção de Autenticação do SQL Server e as outras opções de sua preferência.

Também é possível autenticar o usuário logado pelo windows e ou pelo Microsoft Entra ID (serviço de gerenciamento de identidade e acesso baseado na nuvem da Microsoft), podendo ser feita a autenticação multifator (MFA) ou autenticação única para aplicativos SaaS e locais.


ree

Em mapeamento de usuário, selecione o banco de dados que esse usuário que criamos, terá acesso.

ree


Após criar o usuário e configurar o acesso, é necessário reiniciar o sql server, para isso, abra o Sql Server Configuration Manager e clique em Serviços do SQL Server e depois, com o botão direito clique em reiniciar conforme imagem abaixo:


ree


Criando um novo usuário via script


-- PRIMEIRA PARTE: Criar login no servidor (executar no master)

USE [master]

GO

 

-- 1. Cria o login (se não existir)

IF NOT EXISTS (SELECT * FROM sys.server_principals WHERE name = 'usuario_g')

BEGIN

    CREATE LOGIN [usuario_g]

    WITH PASSWORD = 'senha123', 

    DEFAULT_DATABASE = [nomedatabase],

    CHECK_EXPIRATION = OFF,

    CHECK_POLICY = OFF -- Apenas para desenvolvimento

    -- Para produção, defina como ON

END

GO

 

-- 2. Concede permissões de servidor (executar aqui mesmo no master)

GRANT CONTROL SERVER TO [usuario_g]

GO



-----------------------------------


-- SEGUNDA PARTE: Configurar acesso ao banco específico (executar no contexto do banco nomedatabase)

USE [nomedatabase]

GO

 

-- 3. Cria usuário mapeado para o login (se não existir)

IF NOT EXISTS (SELECT * FROM sys.database_principals WHERE name = 'usuario_g')

BEGIN

    CREATE USER [usuario_g]

    FOR LOGIN [usuario_g]

END

GO

 

-- 4. Concede papel de proprietário do banco de dados

EXEC sp_addrolemember 'db_owner', 'usuario_gilvieira'

GO

 

-- 5. Permissões explícitas adicionais (opcional)

GRANT SELECT, INSERT, UPDATE, DELETE ON SCHEMA::dbo TO [usuario_g]

GO



Para permitir alteração em produção:


ALTER LOGIN [usuario_g]

WITH CHECK_EXPIRATION = ON,

     CHECK_POLICY = ON



Configurações de permissões


Para criar grupo ou incluir o usuário em um grupo existente, clique aqui para saber mais!


substituir user1 pelo nome do seu usuário


⏺ Permitir Apenas Leitura

EXEC sp_addrolemember 'db_datareader', 'user1'; GO


⏺ Permitir Apenas Escrita

EXEC sp_addrolemember 'db_datawriter', 'user1'; GO


⏺ Permitir apenas atualização

GRANT UPDATE ON NomeDaTabela TO user1; GO


⏺ Permitir Exclusão de Dados

para uma tabela específica:

GRANT DELETE ON NomeDaTabela TO user1; GO


para todas as tabelas:

GRANT DELETE TO user1; GO


⏺ Permitir CRUD Completo (Create, Read, Update, Delete)

EXEC sp_addrolemember 'db_datareader', 'user1'; EXEC sp_addrolemember 'db_datawriter', 'user1'; GO



⏺ Permitir exclusão de uma tabela específica GRANT DELETE ON NomeDaTabela TO user1; GO



⏺ Para verificar permissões do usuário

SELECT dp.name AS UserName, dp.type_desc AS UserType, o.name AS ObjectName, p.permission_name, p.state_desc FROM sys.database_permissions p JOIN sys.database_principals dp ON p.grantee_principal_id = dp.principal_id LEFT JOIN sys.objects o ON p.major_id = o.object_id WHERE dp.name = 'user1';




Possíveis erros e tratativas após criar login


Após criar o login e tentar logar e der certo, ok mas se aparecer o erro abaixo, será necessário ajustar uma configuração, pois na hora da instalação, não foi habilitado para este tipo de login.


ree



Habilitando login autenticação do SQL Server e Windows


Com o usuário autenticado pelo windows (usuário admin do servidor que criei localmente), clico com o botão direito no servidor, e em propriedades:


ree

Em Segurança, marco a opção de: "modo de Autenticação do SQL Server e do windows"


ree

Abro o SQL Server Configuration

ree


Clique com o botão direito no nome do seu servidor e clique em: Parar serviço

ree

ree

Iniciar Serviço

ree

E ao voltar para o SGBD (management studio), e logar com o usuário que acabamos de criar e provavelmente irá funcionar.

ree


Verificar se um login existe e esta habilitado


 

SELECT name, is_disabled FROM sys.server_principals 

WHERE type_desc = 'SQL_LOGIN' AND name = 'usuario_g'


Se is_disabled = 1, habilite-o:

ALTER LOGIN [usuario_gilvieira] ENABLE



Alterar senha do usuário


ALTER LOGIN [usuario_g] WITH PASSWORD = 'NovaSenha!'



Desabilitar as políticas de senha


ALTER LOGIN [usuario_gilvieira]

WITH CHECK_EXPIRATION = OFF,

CHECK_POLICY = OFF



Erro de conexão, usuário não consegue conectar ao servidor



2º possibilidade de erro após os procedimentos acima:



------------------------------

Não é possível conectar-se a localhost\SQLEXPRESS.

------------------------------

INFORMAÇÕES ADICIONAIS:

A connection was successfully established with the server, but then an error occurred during the login process. (provider: SSL Provider, error: 0 - A cadeia de certificação foi emitida por uma autoridade que não é de confiança.) (Microsoft SQL Server, Erro: -2146893019)

------------------------------

A cadeia de certificação foi emitida por uma autoridade que não é de confiança

------------------------------

ree


Para sanar isso, em Criptografia, marque como opcional.

ree



Desabilitar a exigência de criptografia SSL/TLS pelo editor de registro


Se ainda assim não estiver conseguindo conectar, podemos desabilitar a exigência de criptografia SSL/TLS pelo editor de registro.


Primeiro passo, com o usuário logado por autenticação do windows, vamos certificar qual versão estamos utilizando:


ree

Pressione Win + R para abrir a caixa de diálogo Executar e digite regedit e pressione Enter para abrir o Editor do Registro.

ree

No Editor do Registro, navegue até o seguinte caminho:

HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Microsoft SQL Server\MSSQL15.SQLEXPRESS\MSSQLServer\SuperSocketNetLib


No valor ForceEncryption, se já existir, altere ele para 0, se não existir o arquivo, crie clicando com o botão direito em novo, Valor DWORD (32 bits) e atribua o valor de 0 para desabilitar a exigência de criptografia SSL/TLS.

ree


Reinicie e faça o teste, se ainda assim o problema persistir, pode ser as configurações do Firewall do Windows.


Erro ao logar no banco persiste


Abra o painel de controle do windows, Sistema e Segurança, Windows Defender Firewall, configurações avançadas, regra de entrada (lado esquerdo) e posterior, lado direito clica em "Nova Regra"

ree

Selecione "Porta" como o tipo de regra e clique em "Avançar".

Especifique o número da porta usada pelo SQL Server. Por padrão, o SQL Server usa a porta TCP 1433 para conexões.


ree

Selecione "Permitir a conexão" e clique em "Avançar".

Especifique quando a regra deve ser aplicada (público, privado ou domínio) e clique em "Avançar".


ree
ree

Após adicionar essa regra de entrada, o Firewall do Windows permitirá conexões na porta especificada pelo SQL Server. Certifique-se de testar a conexão novamente para ver se o problema foi resolvido.



TÍTULO: Conectar ao Servidor

------------------------------

Não é possível conectar-se a nomeservidor

------------------------------

INFORMAÇÕES ADICIONAIS:


Não é possível abrir o banco de dados padrão do usuário. Falha de logon.

Falha de logon do usuário 'user1'. (Microsoft SQL Server, Erro: 4064)




Criar login com autenticação windows


CREATE LOGIN [DOMINIO\usuario] FROM WINDOWS

WITH DEFAULT_DATABASE = [nomedatabase]

GO

 

USE [nomedatabase]

GO

CREATE USER [DOMINIO\usuario] FOR LOGIN [DOMINIO\usuario]

GO

EXEC sp_addrolemember 'db_owner', 'DOMINIO\usuario'

GO

© 2017-2025  Criado e desenvolvido por Amanda Nascimento

  • Discord
  • GitHub
  • youtube
  • LinkedIn Amanda
bottom of page