当前位置:   article > 正文

sqlserver创建用户角色与授权_sqlserver创建三权用户

sqlserver创建三权用户

sqlserver创建用户角色与授权

需求描述:

web应用开发sqlserver作为数据存储,默认使用sa进行业务操作,如果发生用户密码泄露,危害性极大。

解决办法:

根据各业务库新建用户,专门用于特定数据库;

创建用户与授权脚本

--创建登陆帐户(create login)
create login new_user with password='123456', default_database=master
go 
--为登陆账户创建数据库用户(create user)
create user new_user for login new_user with default_schema=dbo
go 
--通过加入数据库角色,赋予数据库用户“db_owner”权限
exec sp_addrolemember 'db_owner', 'new_user'
go 
-- 赋予查看系统进程权限(可选,用于查看sys.dm_*相关视图)
GRANT  VIEW SERVER STATE TO new_user;
go
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

常用命令

--禁用登陆帐户
alter login new_user disable
--启用登陆帐户
alter login new_user enable

--登陆帐户改名
alter login new_user with name=new_user_z3

--登陆帐户改密码: 
alter login new_user with password='654321'

--数据库用户改名: 
alter user new_user with name=new_user_z3

--更改数据库用户 defult_schema: 
alter user new_user with default_schema=product

--删除数据库用户: 
drop user new_user

--删除 SQL Server登陆帐户: 
drop login new_user

-- 赋予角色 roleA 表 tableA 的写权限
GRANT INSERT ON TableA TO RoleA
GO
-- 用户UserA将有TableA的INSERT权限
EXEC sp_addrolemember RoleA, 'UserA' 
GO

-- 用户UserA将没有TableA的INSERT权限,收回权限
REVOKE INSERT ON TableA FROM RoleA 
GO

--重新给RoleA以TableA的INSERT权限
GRANT INSERT ON TableA TO RoleA 
GO 

-- 虽然用户UserA所在RoleA有TableA的INSERT权限,但UserA本身被DENY了,
-- 所以用户UserA将没有TableA的INSERT权限。
DENY INSERT ON TableA TO UserA 
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/619164
推荐阅读
相关标签
  

闽ICP备14008679号