--创建登录用户:
create login jira with password='123456',default_database=master
--创建数据库用户
create user jira for login jira with default_schema=dbo
--通过加入数据库角色,赋予数据库用户“db_owner”权限
exec sp_addrolemember 'db_owner', 'jira'
--禁用登录用户
alter login jira disable
--启用登录账户
alter login jira enable
--登录账户改密码
alter login jira with password='aabb'
--登录账户改名
alter login jira with name=jiar
--数据库用户改名
alter user jira with name=jiar
--更改数据库用户 DEFAULT_SCHEMA
alter user jira with default_schema=stg
--删除数据库用户
drop user jira
--删除登录账户
drop login jira
--授予用户建表权限
GRANT CREATE TABLE to jira
--授予角色dba对HR.Employees表的所有权限
GRANT ALL ON HR.Employees to jira
--收回权限
revoke all on HR.Employees from jira
--授予角色dba对HR.Employees表的SELECT权限
GRANT SELECT ON HR.Employees TO jira
--拒绝安全账户dba对HR.Employees表的select权限
deny select on HR.Employees to jira
--重新授权
grant select on HR.Employees to jira
--从数据库中删除安全账户,failed
EXEC sp_revokedbaccess 'jira'
--删除角色 r_test,failed
EXEC sp_droprole 'jira'
--删除登录 l_test,success
EXEC sp_droplogin 'jira'
--recoke和deny的区别
--revoke:收回之前被授予的权限
--deny:拒绝给当前数据库内的安全账户授予权限并防止安全账户通过其组或角色成员资格继承权限。
--deny是将来都不许给,revoke是收回已经给予的。
deny 和revoke 的区别:
revoke收回权限后,可以从其他角色中重新继承权限
deny拒绝权限后,不可以从其他角色继承权限。
GRANT INSERT ON TableA TO RoleA
GO
EXEC sp_addrolemember RoleA, 'UserA' -- 用户UserA将有TableA的INSERT权限
GO
REVOKE INSERT ON TableA FROM RoleA -- 用户UserA将没有TableA的INSERT权限,收回权限
GO
GRANT INSERT ON TableA TORoleA --重新给RoleA以TableA的INSERT权限
GO
-- 虽然用户UserA所在RoleA有TableA的INSERT权限,但UserA本身被DENY了,所以用户UserA将没有TableA的INSERT权限。
DENY INSERT ON TableA TO UserA
--检查数据库中孤立用户
exec sp_change_users_login @action='Report'
-- 对孤立用户连接到现有的登录名
exec sp_change_users_login
@action='update_one',
@usernamepattern='kk', --数据库孤立用户
@loginname='kk'; --关联到sql server登录名
go
SQL SERVER 创建登录用户,授予权限
最新推荐文章于 2024-05-28 14:31:55 发布