1、sql server2000 如何创建用户use 你的库名 go -新增用户 exec sp_addlogin test -添加登录 exec sp_grantdbaccess Ntest -使其成为当前数据库的合法用户 exec sp_addrolemember Ndb_owner, Ntest -授予对自己数据库的所有权限 -这样创建的用户就只能访问自己的数据库,及数据库中包含了 guest 用户的公共表 go -删除测试用户 exec sp_revokedbaccess Ntest -移除对数据库的访问权限 exec sp_droplogin Ntest -删除登录 如果在企业管理器中创
2、建的话,就用: 企业管理器-安全性-右键登录- 新建登录常规项 -名称中输入用户名 -身份验证方式根据你的需要选择 (如果是使用 windows 身份验证,则要先在操作系统的用户中新建用户)-默认设置中,选择你新建的用户要访问的数据库名服务器角色项 这个里面不要选择任何东西数据库访问项 勾选你创建的用户需要访问的数据库名 数据库角色中允许,勾选“public“,“db_ownew“ 确定,这样建好的用户与上面语句建立的用户一样 - 最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例: -添加只允许访问指定表的用户: exec sp_addlogin 用户名,密码,默认数据库名
3、 -添加到数据库 exec sp_grantdbaccess 用户名 -分配整表权限 GRANT SELECT , INSERT , UPDATE , DELETE ON table1 TO 用户名 -分配权限到具体的列 GRANT SELECT , UPDATE ON table1(id,AA) TO 用户名 -建角色,用户,权限 /*-示例说明 示例在数据库 pubs 中创建一个拥有表 jobs 的所有权限、拥有表 titles 的 SELECT 权限的角色 r_test 随后创建了一个登录 l_test,然后在数据库 pubs中为登录 l_test 创建了用户账户 u_test 同时将用
4、户账户 u_test 添加到角色 r_test 中,使其通过权限继承获取了与角色 r_test 一样的权限 最后使用 DENY 语句拒绝了用户账户 u_test 对表 titles 的 SELECT 权限。 经过这样的处理,使用 l_test 登录 SQL Server 实例后,它只具有表 jobs 的所有权限。-*/ USE pubs-创建角色 r_testEXEC sp_addrole r_test -授予 r_test 对 jobs 表的所有权限 GRANT ALL ON jobs TO r_test -授予角色 r_test 对 titles 表的 SELECT 权限 GRANT SE
5、LECT ON titles TO r_test -添加登录 l_test,设置密码为 pwd,默认数据库为 pubsEXEC sp_addlogin l_test,pwd,pubs-为登录 l_test 在数据库 pubs 中添加安全账户 u_testEXEC sp_grantdbaccess l_test,u_test -添加 u_test 为角色 r_test 的成员 EXEC sp_addrolemember r_test,u_test -拒绝安全账户 u_test 对 titles 表的 SELECT 权限 DENY SELECT ON titles TO u_test/*-完成上述
6、步骤后,用 l_test 登录,可以对 jobs 表进行所有操作 ,但无法对 titles 表查询,虽然角色 r_test 有 titles 表的 select 权限,但已经在安全账户中明确拒绝了对 titles 的 select 权限,所以 l_test 无 titles 表的 select 权限-*/ -从数据库 pubs 中删除安全账户 EXEC sp_revokedbaccess u_test -删除登录 l_testEXEC sp_droplogin l_test -删除角色 r_testEXEC sp_droprole r_test-假设你的用户为 bb -1. 报告孤立用户 USE db EXEC sp_change_users_login Report GO -2. 处理孤立用户 USE db EXEC sp_change_users_login Auto_Fix,bb,null,bb