服务器级的固定角色及其权限
sysadmin | sysadmin 固定服务器角色成员可以在服务器执行任何操作 |
serveradmin | serveradmin 固定服务器角色的成员可以更该服务器范围的配置选项和关闭服务器 |
sercurityadmin | sercurityadmin 固定服务器角色的成员管理登录名及其属性,他们可以grant、deny、revoke服务器级权限。 他们还可以grant、deny、revoke数据库权限(如果他们具有数据库的访问权限)。 此外,他们还可以重置SQL Server登录名密码 |
processadmin | processadmin 固定服务器角色的成员可以终止在SQL Server实例中运行的进程 |
setupadmin | setupadmin 固定服务器角色的成员可以使用Transact-SQL语句添加和删除链接服务器(使用Management Studio时需要sysadmin成员资格。) |
bulkadmin | bulkadmin 固定服务器角色的成员可以运行bulk insert语句 |
diskadmin | diskadmin 固定服务器角色用于管理磁盘文件 |
dbcreator | dbcreator 固定服务器角色的成员可以创建、更改、删除和还原任何数据库 |
数据库级别的固定角色及其权限
db_owner | db_owner 固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以drop SQL Server中的数据库 |
db_secuityadmin | db_securityadmin 固定数据库角色的成员可以仅修改自定义角色的角色成员资格和管理权限,此角色的成员可能会提升其权限,应监视其操作。 |
db_accessadmin | db_accessadmin 固定数据库角色的成员可以为Windows登录名、Windows组和SQL Server登录名添加和删除数据库访问权限. |
db_backupoperator |
db_backupoperator 固定数据库角色的成员可以备份数据库 |
db_ddladmin | db_ddladmin 固定数据库角色的成员可以在数据库中运行任何数据定义语言 (DDL) 命令。 此角色的成员可以通过操作可能在高特权下执行的代码来提升其特权,并且应监视其操作。 |
db_datawriter | db_datawriter 固定数据库角色的成员可以在所有用户表中添加、删除或更改数据。在大多数情况下,此角色将与db_datareader成员身份相结合, 以允许读取要修改的数据. |
db_datareader | db_datareader 固定数据库角色的成员可以从所有用户表和视图中读取所有数据。用户对象可能存在于除sys和information_schema 以外的任何架构中。 |
db_denydatawriter | db_denydatawriter 固定数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据 |
db_denydatareader | db_denydatareader 固定数据库角色的成员不能读取数据库内用户表和视图中的任何数据。 |
---创建dba登录账号
create login dba with password='012345@@!'
GO
---为dba用户创建用户名,并赋予resset_db数据库db_owner权限
use resset_db
create user dba for login dba
exec sp_addrolemember 'db_owner','dba'
GO
---为dba用户创建用户名,并赋予Company_report20221019数据库db_owner权限
use Company_report20221019
create user dba for login dba
exec sp_addrolemember 'db_owner','dba'
---回收dba用户db_owner角色的权限
exec sp_droprolemember 'db_owner','dba'
---删除登录用户
drop login dba
---删除数据库用户
drop user dba
select * from sys.database_principals --查看数据库中全部用户
EXEC sp_srvrolepermission --查看服务器角色
EXEC sp_srvrolepermission @srvrolename = 'sysadmin' --查看某角色详细权限EXEC sp_dbfixedrolepermission @rolename = 'db_owner' --查看db_owner觉得详细权限
EXEC sp_helpdbfixedrole --查看数据库中所有角色成员
EXEC sp_helprolemember @rolename = 'db_owner' --查看db_owner角色成员与哪些有映射关系