Use Test --创建角色 create role rtt create user username for login username --将用户TestUser添加到TestRole角色中 exec sp_addrolemember 'ProgramerRole','username ' --分配整表权限 GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO [用户名] --分配权限到具体的列 GRANT SELECT , UPDATE ON table1(id,AA) TO [用户名] --角色拥有dbo下所有对象的3个权限。 grant select,insert,execute on schema::dbo to rtt --下面的权限不给他 --grant create table,create procedure,create view to rtt --添加登录 l_test,设置密码为pwd,默认数据库为pubs EXEC sp_addlogin 'l_test','a@cd123','InsideTSQL2008' --为登录 l_test 在数据库 pubs 中添加安全账户 u_test EXEC sp_grantdbaccess 'l_test','u_test' --添加 u_test 为角色 r_test 的成员 EXEC sp_addrolemember 'r_test','u_test' --授予角色 r_test 对 HR.Employees 表的所有权限 GRANT ALL ON HR.Employees TO r_test --如果要收回权限,可以使用如下语句。(可选择执行) revoke all on HR.Employees from r_test --授予角色 r_test 对 Sales.Orders 表的 SELECT 权限 GRANT SELECT ON Sales.Orders TO r_test --拒绝安全账户 u_test 对 HR.Employees 表的 SELECT 权限 DENY SELECT ON HR.Employees TO u_test
revoke 与 deny的区别
http://www.cnblogs.com/xwdreamer/archive/2012/06/25/2562828.html
http://bbs.csdn.net/topics/390120919
禁用sa
打开security(安全性)
-- logins(登录名) ,右键选中sa,选择properties(属性),点击Status(状态)切换到状态面板,将Login(登录)设置为Enabled(禁用)。
给新建的账户分配好权限,配合禁用sa,那安全性就无需担心了。