Scrip exemplo criação ou recriação de usuários já configurando os tipo(s) de acesso(s).
-- INICIO SCRIPT
-- << NOME DO USUARIO >> Exemplo : EMPRESA\usuario.teste
DECLARE @usuario varchar(50)
DECLARE @base varchar(50)
SET @usuario='<< NOME DO USUARIO >>'
PRINT '
use master
IF EXISTS (SELECT * FROM sys.server_principals WHERE name = '''+@usuario+''')
DROP USER ['+@usuario+']
GO
IF EXISTS (SELECT * FROM sys.server_principals WHERE name ='''+@usuario+''')
DROP LOGIN ['+@usuario+']
GO
CREATE LOGIN ['+@usuario+'] FROM WINDOWS WITH DEFAULT_DATABASE=[master], DEFAULT_LANGUAGE=[us_english]
GO
CREATE USER ['+@usuario+'] FOR LOGIN ['+@usuario+']
GO
'
PRINT '
-- Dando acesso aos Usuarios nas bases -- '
DECLARE lista CURSOR SCROLL FOR SELECT name FROM master.dbo.sysdatabases where name LIKE '%sga%' OR name = 'SIG00'
OPEN lista
-- Primeiro registro
FETCH FIRST FROM lista INTO @base
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT '
USE ['+@base+']
GO
IF EXISTS (SELECT * FROM sys.database_principals WHERE name = N'''+@usuario+''')
ALTER AUTHORIZATION ON SCHEMA::['+@usuario+'] TO dbo;
DROP USER ['+@usuario+']
GO
CREATE USER [Dominio\usuario] FOR LOGIN ['+@usuario+'] WITH DEFAULT_SCHEMA=[dbo]
GO
-- ALTER AUTHORIZATION ON SCHEMA::[db_datareader] TO '+@usuario+'
EXEC sp_addrolemember N''db_datareader'', N'''+@usuario+'''
EXEC sp_addrolemember N''db_datawriter'', N'''+@usuario+'''
GO'
-- Próximo registro
FETCH NEXT FROM lista INTO @base
END
CLOSE lista
DEALLOCATE lista
-- FIM DO SCRIP
Nome da função de banco de dados fixaDescrição
db_ownerOs membros da função de banco de dados fixa db_owner podem executar todas as atividades de configuração e manutenção no banco de dados, bem como remover o banco de dados no SQL Server. (No Banco de Dados SQL e SQL Data Warehouse, algumas atividades de manutenção exigem permissões em nível de servidor e não podem ser executadas por db_owners.)
db_securityadminOs membros da função de banco de dados fixa db_securityadmin podem modificar a associação de funções e gerenciar permissões. A adição de entidades nesta função pode habilitar o escalonamento não intencional de privilégios.
db_accessadminOs membros da função de banco de dados fixa db_accessadmin podem adicionar ou remover o acesso ao banco de dados para logons do Windows, grupos do Windows e logons do SQL Server .
db_backupoperatorOs membros da função de banco de dados fixa db_backupoperator podem fazer backup do banco de dados.
db_ddladminOs membros da função de banco de dados fixa db_ddladmin podem executar qualquer comando Data Definition Language (DDL) em um banco de dados.
db_datawriterOs membros da função de banco de dados fixa db_datawriter podem adicionar, excluir ou alterar dados em todas as tabelas de usuário.
db_datareaderOs membros da função de banco de dados fixa db_datareader podem ler todos os dados de todas as tabelas de usuário.
db_denydatawriterOs membros da função de banco de dados fixa db_denydatawriter não podem adicionar, modificar ou excluir nenhum dado nas tabelas de usuário de um banco de dados.
db_denydatareaderOs membros da função de banco de dados fixa db_denydatareader não podem ler nenhum dado nas tabelas de usuário de um banco de dados.
FONTE : https://docs.microsoft.com/pt-br/sql/relational-databases/security/authentication-access/database-level-roles?view=sql-server-2017
v