现在的位置: 首页 > 综合 > 正文

SQL Server2000 新增用户 角色设置 权限管理等一般问题

2013年03月18日 ⁄ 综合 ⁄ 共 1569字 ⁄ 字号 评论关闭

服务器角色是服务器级别的,由SQL server在安装过程中定义,属于固定角色,一共8个。用户不能定义服务器角色,但是可以在这些角色中添加用户以获得相关权限。

重要   身为 BUILTIN/Administrators 组成员的 Windows NT 4.0 或 Windows 2000 用户自动成为 sysadmin 固定服务器角色成员。

 

下表描述固定服务器角色。

固定服务器角色 描述
sysadmin 在 SQL Server 中进行任何活动。该角色的权限跨越所有其它固定服务器角色。
serveradmin 配置服务器范围的设置。
setupadmin 添加和删除链接服务器,并执行某些系统存储过程(如 sp_serveroption)。
securityadmin 管理服务器登录。
processadmin 管理在 SQL Server 实例中运行的进程。
dbcreator 创建和改变数据库。
diskadmin 管理磁盘文件。
bulkadmin 执行 BULK INSERT 语句。

--下面的示例将 Windows NT 用户 Corporate/HelenS 添加到 sysadmin 固定服务器角色中。

 
--T-SQL demo
EXEC sp_addsrvrolemember 'Corporate/HelenS', 'sysadmin'

sysadmin 角色成员以外的所有用户,securityadmin 具有执行 sp_password 存储过程的权限。

bulkadmin 固定服务器角色具有执行 BULK INSERT 语句的权限。与所有指定固定服务器角色成员一样,bulkadmin 角色成员也可以将其它登录添加到角色。但是,由于与执行 BULK INSERT 语句相关联的安全含义(BULK INSERT 语句要求对运行服务器的网络和计算机上的任何数据具有读权限),bulkadmin 角色成员授予其它角色成员权限可能并不理想。bulkadmin 角色为 sysadmin 固定服务器角色成员提供了一种方法,可以委托要求执行 BULK INSERT 语句的任务,而不用授予用户 sysadmin 权限。允许 bulkadmin 角色成员执行 BULK INSERT 语句,但是这些成员对要插入数据的表仍必须具有 INSERT 权限。

--切换到你新增的用户要控制的数据库  
use   数据库名
go  

--新增用户  
exec   sp_addlogin   'test'             --添加登录  
exec   sp_grantdbaccess   N'test'             --使其成为当前数据库的合法用户  
exec   sp_addrolemember   N'db_owner',   N'test'             --授予对自己数据库的所有权限  

--这样创建的用户就只能访问自己的数据库,及数据库中包含了guest用户的公共表  
go  

--删除测试用户  
exec   sp_revokedbaccess   N'test'             --移除对数据库的访问权限  
exec   sp_droplogin   N'test'             --删除登录  

---------------------------------------------------------------------------  
最后一步,为具体的用户设置具体的访问权限,这个可以参考下面的最简示例:  
--添加  
--添加用户:  
exec   sp_addlogin   '用户名','密码','默认数据库名'  

--添加到数据库  
exec   sp_grantdbaccess   '用户名','数据库名'  

--权限  
grant   insert,select,update,delete   on   table1   to   public  

 

抱歉!评论已关闭.