重庆分公司,新征程启航
为企业提供网站建设、域名注册、服务器等服务
SQL数据库中的public是一个默认的用户角色。为便于管理数据库中的权限,SQL提供了若干“角色”,这些角色是用于对其他主体进行分组的安全主体。它们类似于MicrosoftWindows操作系统中的组。数据库级角色的权限作用域为数据库范围。每个SQLServer登录名均属于public服务器角色。如果未向某个服务器主体授予或拒绝对某个安全对象的特定权限,该用户将继承授予该对象的public角色的权限。当希望该对象对所有用户可用时,只需对任何对象分配public权限即可。但是,无法更改public中的成员关系。默认情况下,所有的数据库用户都属于public角色,因此赋予public角色的权限,所有的用户都会具备。
十多年的凭祥网站建设经验,针对设计、前端、开发、售后、文案、推广等六对一服务,响应快,48小时及时工作处理。成都全网营销推广的优势是能够根据用户设备显示端的尺寸不同,自动调整凭祥建站的显示方式,使网站能够适用不同显示终端,在浏览器中调整网站的宽度,无论在任何一种浏览器上浏览网站,都能展现优雅布局与设计,从而大程度地提升浏览体验。创新互联建站从事“凭祥网站设计”,“凭祥网站推广”以来,每个客户项目都认真落实执行。
1. 创建服务器角色
[sql] view plain copy print?
-- 【创建服务器角色】
CREATE SERVER ROLE TestServerRole --服务器角色
AUTHORIZATION KK --所有者
GO
ALTER AUTHORIZATION ON SERVER ROLE::[TestServerRole] TO [PC\Administrator]--更改所有者为[PC\Administrator]
GO
2. 更改服务器角色
[sql] view plain copy print?
-- 【更改服务器角色】
-- 注: 以下MEMBER 可以是登录名或用户定义的服务器角色。MEMBER 不能是固定服务器角色、数据库角色或 sa。
--即登录账号[kk]拥有服务器角色[TestServerRole]权限
ALTER SERVER ROLE [TestServerRole] ADD MEMBER [kk]
GO
--更名
ALTER SERVER ROLE [TestServerRole] WITH NAME = [NewTestServerRole]
GO
--即服务器角色[TestServerRole]拥有服务器角色[dbcreator]权限
ALTER SERVER ROLE [dbcreator] ADD MEMBER [NewTestServerRole]
GO
可以看到服务器角色名字变更了,同时角色成员用记录有登录账号 “KK”
数据库角色 NewTestServerRole 的服务器角色成关系中 勾选上了 dbcreator ,即服务器角色NewTestServerRole 也有了角色 dbcreator 的权限!
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 角色的权限。