• Imprimir

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