top of page
Foto do escritorAmanda Nascimento

Novo usuário (logon) - SQL SERVER

Atualizado: 30 de nov.


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


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



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.


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



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:




Configurações de permissões


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.





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:



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



Abro o SQL Server Configuration







Parar serviço



Iniciar Serviço


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




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

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



Para sanar isso, se for um banco de dados simples, em Criptografia, marque como opcional.




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:



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


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.



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


Erro ao logar 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"


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.



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".



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)





Databases no SQL SERVER e seus significados



🔸Master: Banco de dados mestre. Armazena sa informações de metadados de toda a instância, configurações do servidor, informações de todos os bancos da instância e as informações de inicialização.


🔸Model: É um guia ou um modelo para os bancos de dados que serão criados. Tipo um CTRL+C CTRL+ V para levar as configurações de backup, etc.


🔸Msdb: É um banco que armazena o serviço SQL "height" e o local onde são armazenados os dados. É usado para programação de alertas e jobs.


🔸Tempdb: Área de memória para retenção de objetos temporários ou conjunto de resultados de carater intermediário.


bottom of page