首先在 SQL Server 服务器级别,创建登陆帐户(create login)
--创建登陆帐户(create login)
create login dba with password='abcd1234@', default_database=mydb
--为登陆账户创建数据库用户(create user),在mydb数据库中的security中的user下可以找到新创建的dba
create user dba for login dba with default_schema=dbo
通过加入数据库角色,赋予数据库用户“dba”权限:
--通过加入数据库角色,赋予数据库用户“db_owner”权限
exec sp_addrolemember 'db_owner', 'dba'
SQL Server 2000 和 SQL Server 7.0 版在安装过程中定义几个固定角色。可以在这些角色中添加用户以获得相关的管理权限。下面是服务器范围内的角色。固定服务器角色 描述
sysadmin 可以在 SQL Server 中执行任何活动。
serveradmin 可以设置服务器范围的配置选项,关闭服务器。
setupadmin 可以管理链接服务器和启动过程。
securityadmin 可以管理登录和 CREATE DATABASE 权限,还可以读取错误日志和更改密码。
processadmin 可以管理在 SQL Server 中运行的进程。
dbcreator 可以创建、更改和除去数据库。
diskadmin 可以管理磁盘文件。
bulkadmin 可以执行 BULK INSERT 语句。
可以从 sp_helpsrvrole 获得固定服务器角色的列表,可以从 sp_srvrolepermission 获得每个角色的特定权限。
每个数据库都有一系列固定数据库角色。虽然每个数据库中都存在名称相同的角色,但各个角色的作用域只是在特定的数据库内。例如,如果 Database1 和 Database2 中都有叫 UserX 的用户 ID,将 Database1 中的 UserX 添加到 Database1 的 db_owner 固定数据库角色中,对 Database2 中的 UserX 是否是 Database2 的 db_owner 角色成员没有任何影响。
固定数据库角色 描述
db_owner 在数据库中有全部权限。
db_accessadmin 可以添加或删除用户 ID。
db_securityadmin 可以管理全部权限、对象所有权、角色和角色成员资格。
db_ddladmin 可以发出 ALL DDL,但不能发出 GRANT、REVOKE 或 DENY 语句。
db_backupoperator 可以发出 DBCC、CHECKPOINT 和 BACKUP 语句。
db_datareader 可以选择数据库内任何用户表中的所有数据。
db_datawriter 可以更改数据库内任何用户表中的所有数据。
db_denydatareader 不能选择数据库内任何用户表中的任何数据。
db_denydatawriter 不能更改数据库内任何用户表中的任何数据。
可以从 sp_helpdbfixedrole 获得固定数据库角色的列表,可以从 sp_dbfixedrolepermission 获得每个角色的特定权限。
数据库中的每个用户都属于 public 数据库角色。如果想让数据库中的每个用户都能有某个特定的权限,则将该权限指派给 public 角色。如果没有给用户专门授予对某个对象的权限,他们就使用指派给 public 角色的权限。
举个例子:通过加入
数据库角色
,赋予数据库用户“dba”权限:
--通过加入数据库角色,赋予数据库用户“db_owner”权限
exec sp_addrolemember 'db_owner', 'dba'此时,dba
就可以全权管理数据库中的对象了。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)