MS-SQL (sql server)添加数据库只读用户K3DBSQP,并遍历所有数据库添加访问只读访问权限

MS-SQL添加数据库只读用户K3DBSQP

--添加只允许访问指定表的用户:       

exec sp_addlogin 'K3DBSQP','密码','master'   
      
--添加到数据库       
exec sp_grantdbaccess 'K3DBSQP'   
    
--添加到角色   
exec sp_addrolemember 'db_datareader','K3DBSQP'

为K3DBSQP开启只读访问数据库CM000000
USE [cm000000] 
GO
CREATE USER [K3DBSQP] FOR LOGIN [K3DBSQP]
GO
USE [cm000000]
EXEC sp_addrolemember N'db_datareader',N'K3DBSQP'

 

为K3DBSQP开启只读访问所有数据库。

遍历所有数据库循环执行修改数据库的sql命令

declare @login_name varchar(100)
set @login_name='K3DBSQP'
declare @sql varchar(max)
set @sql='
exec sp_msforeachdb ''
use [?]
if db_name() not in(''''master'''',''''model'''',''''msdb'''',''''distribution'''',''''tempdb'''')
begin
CREATE USER '+@login_name+' FOR LOGIN '+@login_name+'; 
exec sp_addrolemember ''''db_datareader'''','''''+@login_name+'''''
end
''
'
exec(@sql)

 

 

 

附(用户映射)数据库角色成员身份

db_owner 执行数据库中的所有维护和配置活动。
db_accessadmin 添加或删除 Windows 用户、组和 SQL Server 登录的访问权限。
db_datareader 读取所有用户表中的所有数据。
db_datawriter 添加、删除或更改所有用户表中的数据。
db_ddladmin 在数据库中运行任何数据定义语言 (DDL) 命令。
db_securityadmin 修改角色成员身份并管理权限。
db_backupoperator 备份数据库。
db_denydatareader 无法读取数据库用户表中的任何数据。
db_denydatawriter 无法添加、修改或删除任何用户表或视图中的数据。

你可能感兴趣的:(SQL,SERVEER,windows)