赞
踩
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
--禁用登陆帐户 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
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。