当前位置:首页 » 编程语言 » sql什么角色没有成员
扩展阅读
webinf下怎么引入js 2023-08-31 21:54:13
堡垒机怎么打开web 2023-08-31 21:54:11

sql什么角色没有成员

发布时间: 2022-11-08 08:06:40

sql 数据库中syadmin固定服务器怎么添加角色

数据库角色的成员可以分为如下几类:

Windows用户组或用户账户

SQL Server登录

其他角色

SQL Server的安全体系结构中包括了几个含有特定隐含权限的角色。除了数据库拥有者创建的角色之外,还有两类预定义的角色。这些可以创建的角色可以分为如下几类:

固定服务器

固定数据库

用户自定义

固定服务器

由于固定服务器是在服务器层次上定义的,因此它们位于从属于数据库服务器的数据库外面。下表列出了所有现有的固定服务器角色。

固定服务器角色

说 明

sysadmin

执行SQL Server中的任何动作

serveradmin

配置服务器设置

setupadmin

安装复制和管理扩展过程

securityadmin

管理登录和CREATE DATABASE的权限以及阅读审计

processadmin

管理SQL Server进程

dbcreator

创建和修改数据库

diskadmin

管理磁盘文件

下面两个系统过程用来添加或删除固定服务器角色成员:

sp_addsrvrolemember

sp_dropsrvrolemember

注意:您不能添加、修改或删除固定服务器角色。另外,只有固定服务器角色的成员才能执行上述两个系统过程来从角色中添加或删除登录账户。

sa登录

sa登录是系统管理员的登录。在以前的SQL Server版本中不存在角色,sa登录具有所有可能的关于系统管理工作的权限。在SQL Server 2005中,sa登录保持了向后兼容性。sa登录永远是固定服务器角色syadmin中的成员,并且不能从该角色中删除。

注意:只有当没有其他方法登录到SQL Server系统中时,再使用sa登录。

固定服务器角色及其权限

在某个SQL Server系统中,每个固定服务器角色都有其隐含的权限。使用系统过程sp_srvrolepermission可以浏览每个固定服务器角色的权限。该系统过程的语法形式为:

sp_srvrolepermission[[@srvrolename =] 'role']

如果没有指定role的值,那么所有的固定服务器角色的权限都将显示出来。下面的部分将讨论每个固定服务器角色的权限。

1. sysadmin

固定服务器角色sysadmin的成员被赋予了SQL Server系统中所有可能的权限。例如,只有这个角色中的成员(或一个被这个角色中的成员赋予了CREATE DATABASE权限的用户)才能够创建数据库。

固定服务器角色和sa登录之间有着特殊的关系。sa登录一直都是固定服务器角色中的成员,并且不能从该角色中删除。

2. serveradmin

固定服务器角色serveradmin的成员可以执行如下的动作:

向该服务器角色中添加其他登录

运行dbcc pintable命令(从而使表常驻于主内存中)

运行系统过程sp_configure(以显示或更改系统选项)

运行reconfigure选项(以更新系统过程sp_configure所做的所有改动)

使用shutdown命令关掉数据库服务器

运行系统过程sp_tableoption为用户自定义表设置选项的值

3. setupadmin

固定服务器角色setupadmin中的成员可以执行如下的动作:

向该服务器角色中添加其他登录

添加、删除或配置链接的服务器

执行一些系统过程,如sp_serveroption

4. securityadmin

固定服务器角色securitypadmin中的成员可以执行关于服务器访问和安全的所有动作。这些成员可以进行如下的系统动作:

向该服务器角色中添加其他登录

读取SQL Server的错误日志

运行如下的系统过程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有这些系统过程都与系统安全相关。)

5. processadmin

固定服务器角色processadmin中的成员用来管理SQL Server进程,如中止用户正在运行的查询。这些成员可以进行如下的动作:

向该服务器角色中添加其他登录

执行KILL命令(以取消用户进程)

6. dbcreator

固定服务器角色dbcreator中的成员用来管理与数据库创建和修改有关的所有动作。这些成员可以进行如下的动作:

向该服务器角色中添加其他登录

运行CREATE DATABASE和ALTER DATABASE语句

使用系统过程sp_renamedb来修改数据库的名称

7. diskadmin

固定服务器角色diskadmin的成员可以进行如下与用来存储数据库对象的文件和文件组有关的动作:

向该服务器角色中添加其他登录

运行如下系统过程:sp_dmpdevice和sp_dropdevice。

运行DISK INIT语句

固定数据库角色

固定数据库角色在数据库层上进行定义,因此它们存在于属于数据库服务器的每个数据库中。下表列出了所有的固定数据库角色。

固定数据库角色

说 明

db_owner

可以执行数据库中技术所有动作的用户

db_accessadmin

可以添加、删除用户的用户

db_datareader

可以查看所有数据库中用户表内数据的用户

db_datawriter

可以添加、修改或删除所有数据库中用户表内数据的用户

db_ddladmin

可以在数据库中执行所有DDL操作的用户

db_securityadmin

可以管理数据库中与安全权限有关所有动作的用户

db_backoperator

可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)

db_denydatareader

不能看到数据库中任何数据的用户

db_denydatawriter

不能改变数据库中任何数据的用户

除了上表中列出的固定数据库角色之外,还有一种特殊的固定数据库角色,名为public,这里将首先介绍这一角色。

public角色

public角色是一种特殊的固定数据库角色,数据库的每个合法用户都属于该角色。它为数据库中的用户提供了所有默认权限。这样就提供了一种机制,即给予那些没有适当权限的所有用户以一定的(通常是有限的)权限。public角色为数据库中的所有用户都保留了默认的权限,因此是不能被删除的。

一般情况下,public角色允许用户进行如下的操作:

使用某些系统过程查看并显示master数据库中的信息

执行一些不需要一些权限的语句(例如PRINT)

固定数据库角色及其权限

在数据库中,每个固定数据库角色都有其特定的权限。这就意味着对于某个数据库来说,固定数据库角色的成员的权限是有限的。使用系统过程sp_dbfixedrolepermission就可以查看每个固定数据库角色的权限。该系统过程的语法为:

sp_db.xedrolepermission [[@rolename =] 'role']

如果没有指定role的值,那么所有固定数据库角色的权限都可以显示出来。下面的几节将讨论每个固定数据库角色的权限。

1. db_owner

固定数据库角色db_owner的成员可以在特定的数据库中进行如下的动作:

向其他固定数据库角色中添加成员,或从其中删除成员

运行所有的DDL语句

运行BACKUP DATABASE和BACKUP LOG语句

使用CHECKPOINT语句显式地启动检查点进程

运行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

授予、取消或剥夺每一个数据库对象上的下列权限:SELECT、INSERT、UPDATE、DELETE和REFERENCES

使用下列系统过程向数据库中添加用户或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess

使用系统过程sp_rename为任何数据库对象重新命名

2. db_accessadmin

固定数据库角色db_accessadmin的成员可以执行与数据库访问有关的所有动作。这些角色可以在具体的数据库中执行下列操作:

运行下列系统过程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess

为Windows用户账户、Windows组和SQL Server登录添加或删除访问

3. dbdatareader

固定数据库角色dbdatareader的成员对数据库中的数据库对象(表或视图)具有SELECT权限。然而,这些成员不能把这个权限授予其他任何用户或角色。(这个限制对REVOKE语句来说同样成立。)

4. dbdatawriter

固定数据库角色dbdatawriter的成员对数据库中的数据库对象(表或视图)具有INSERT、UPDATE和DELETE权限。然而,这些成员不能把这个权限授予其他任何用户或角色。(这个限制对REVOKE语句来说也同样成立。)

5. db_ddladmin

固定数据库角色db_ddladmin的成员可以进行如下的动作:

运行所有DDL语句

对任何表上授予REFERENCESE权限

使用系统过程sp_procoption和sp_recompile来修改任何存储过程的结构

使用系统过程sp_rename为任何数据库对象重命名

使用系统过程sp_tableoption和sp_changeobjectowner分别修改表的选项和任何数据库对象的拥有者

6. db_securityadmin

固定数据库角色db_securityadmin的成员可以管理数据库中的安全。这些成员可以进行如下的动作:

运行与安全有关的所有Transact-SQL语句(GRANT、DENY和REVOKE)

运行以下系统过程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember

7. db_backupoperator

固定数据库角色db_backupoperator的成员可以管理数据库备份的过程。这些成员可以进行如下动作:

运行BACKUP DATABASE和BACKUP LOG语句

用CHECKPOINT语句显式地启动检查点进程

运行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage

8. db_denydatareader和db_denydatawriter

顾名思义,固定数据库角色db_denydatareader的成员对数据库中的数据库对象(表或视图)没有SELECT权限。如果数据库中含有敏感数据并且其他用户不能读取这些数据,那么就可以使用这个角色。

固定数据库角色db_denydatawriter的成员对数据库中的任何数据库对象(表或视图)没有INSERT、UPDATE和DELETE权限。

㈡ sql server2005里什么叫角色分哪两种

分为:服务器级别角色和数据库级别的角色 服务器级别角色 固定服务器角色在其作用域内属于服务器范围。固定服务器角色的每个成员都可以向其所属角色添加其他登录名。 固定服务器角色有: bulkadmin dbcreator diskadmin processadmin securityadmin serveradmin setupadmin sysadmin 数据库级别的角色 固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。 db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份;但是,只有 db_owner 数据库的成员可以向 db_owner 固定数据库角色中添加成员。 固定数据库角色包括: db_accessadmin db_backupoperator db_datareader db_datawriter db_ddladmin db_denydatareader db_denydatawriter db_owner db_securityadmin public 数据库角色 每个数据库用户都属于 public 数据库角色。当尚未对某个用户授予或拒绝对安全对象的特定权限时,则该用户将继承授予该安全对象的 public 角色的权限。

㈢ SQL查询问题:想在用户表查询哪些系统角色没有用户

1, Select 表B.角色名称,表B.用户号 from 表B left join 表A on 表B.角色名称=表A.角色名称
where 表B.用户号 is null
2,select * from 表B where 表B.角色名称 not in (select 角色名称 from 表A)
3,select * from 表B where not exists (select 角色名称 from 表A where 表B.角色名称=表A.角色名称)

㈣ SQL试题 解答题: 角色有哪几种,角色和用户有哪些关系

--用户指的是数据库用户,单纯的用户是没有任何权限的,需要给相应的角色才可以
--不明白可以随时来问我,希望采纳
SqlServer固定服务器角色:
1、bulkadmin服务器级权限已授予:ADMINISTERBULKOPERATIONS
2、dbcreator服务器级权限已授予:CREATEDATABASE
3、diskadmin服务器级权限已授予:ALTERRESOURCESSqlServer2005固定服务器角色:
4、processadmin服务器级权限已授予:ALTERANYCONNECTION、ALTERSERVERSTATE
5、securityadmin服务器级权限已授予:ALTERANYLOGIN6、serveradmin服务器级权限已授予:ALTERANYENDPOINT、ALTERRESOURCES、ALTERSERVERSTATE、ALTERSETTINGS、SHUTDOWN、VIEWSERVERSTATE
7、setupadmin服务器级权限已授予:固定服务器角色:
8、sysadmin服务器级权限已使用GRANT选项授予:CONTROLSERVER

㈤ sql server 2005中数据库角色成员身份中那些东西都是什么意思啊,如果只选public会有哪些权限

12.4 角色 当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。数据库角色的成员可以分为如下几类:Windows用户组或用户账户SQL Server登录其他角色SQL Server的安全体系结构中包括了几个含有特定隐含权限的角色。除了数据库拥有者创建的角色之外,还有两类预定义的角色。这些可以创建的角色可以分为如下几类:固定服务器固定数据库用户自定义12.4.1 固定服务器 由于固定服务器是在服务器层次上定义的,因此它们位于从属于数据库服务器的数据库外面。表12-1列出了所有现有的固定服务器角色。表12-1 固定服务器角色固定服务器角色说 明sysadmin执行SQL Server中的任何动作serveradmin配置服务器设置setupadmin安装复制和管理扩展过程securityadmin管理登录和CREATE DATABASE的权限以及阅读审计processadmin管理SQL Server进程dbcreator创建和修改数据库diskadmin管理磁盘文件下面两个系统过程用来添加或删除固定服务器角色成员:sp_addsrvrolemember sp_dropsrvrolemember 注意:您不能添加、修改或删除固定服务器角色。另外,只有固定服务器角色的成员才能执行上述两个系统过程来从角色中添加或删除登录账户。sa登录 sa登录是系统管理员的登录。在以前的SQL Server版本中不存在角色,sa登录具有所有可能的关于系统管理工作的权限。在SQL Server 2005中,sa登录保持了向后兼容性。sa登录永远是固定服务器角色syadmin中的成员,并且不能从该角色中删除。注意:只有当没有其他方法登录到SQL Server系统中时,再使用sa登录。12.4.2 固定服务器角色及其权限 在某个SQL Server系统中,每个固定服务器角色都有其隐含的权限。使用系统过程sp_srvrolepermission可以浏览每个固定服务器角色的权限。该系统过程的语法形式为:sp_srvrolepermission[[@srvrolename =] 'role'] 如果没有指定role的值,那么所有的固定服务器角色的权限都将显示出来。下面的部分将讨论每个固定服务器角色的权限。1. sysadmin 固定服务器角色sysadmin的成员被赋予了SQL Server系统中所有可能的权限。例如,只有这个角色中的成员(或一个被这个角色中的成员赋予了CREATE DATABASE权限的用户)才能够创建数据库。固定服务器角色和sa登录之间有着特殊的关系。sa登录一直都是固定服务器角色中的成员,并且不能从该角色中删除。2. serveradmin 固定服务器角色serveradmin的成员可以执行如下的动作:向该服务器角色中添加其他登录运行dbcc pintable命令(从而使表常驻于主内存中)运行系统过程sp_configure(以显示或更改系统选项)运行reconfigure选项(以更新系统过程sp_configure所做的所有改动)使用shutdown命令关掉数据库服务器运行系统过程sp_tableoption为用户自定义表设置选项的值3. setupadmin 固定服务器角色setupadmin中的成员可以执行如下的动作:向该服务器角色中添加其他登录添加、删除或配置链接的服务器执行一些系统过程,如sp_serveroption4. securityadmin 固定服务器角色securitypadmin中的成员可以执行关于服务器访问和安全的所有动作。这些成员可以进行如下的系统动作:向该服务器角色中添加其他登录读取SQL Server的错误日志运行如下的系统过程:如sp_addlinkedsrvlogin、sp_addlogin、sp_defaultdb、sp_defaultlanguage、sp_denylogin、sp_droplinkedsrvlogin、sp_droplogin、sp_grantlogin、sp_helplogins、sp_remoteoption和sp_revokelogin(所有这些系统过程都与系统安全相关。)5. processadmin 固定服务器角色processadmin中的成员用来管理SQL Server进程,如中止用户正在运行的查询。这些成员可以进行如下的动作:向该服务器角色中添加其他登录执行KILL命令(以取消用户进程)6. dbcreator 固定服务器角色dbcreator中的成员用来管理与数据库创建和修改有关的所有动作。这些成员可以进行如下的动作:向该服务器角色中添加其他登录运行CREATE DATABASE和ALTER DATABASE语句使用系统过程sp_renamedb来修改数据库的名称7. diskadmin 固定服务器角色diskadmin的成员可以进行如下与用来存储数据库对象的文件和文件组有关的动作:向该服务器角色中添加其他登录运行如下系统过程:sp_dmpdevice和sp_dropdevice。运行DISK INIT语句12.4.3 固定数据库角色 固定数据库角色在数据库层上进行定义,因此它们存在于属于数据库服务器的每个数据库中。表12-2列出了所有的固定数据库角色。表12-2 固定数据库角色固定数据库角色说 明db_owner可以执行数据库中技术所有动作的用户db_accessadmin可以添加、删除用户的用户db_datareader可以查看所有数据库中用户表内数据的用户db_datawriter可以添加、修改或删除所有数据库中用户表内数据的用户db_ddladmin可以在数据库中执行所有DDL操作的用户db_securityadmin可以管理数据库中与安全权限有关所有动作的用户db_backoperator可以备份数据库的用户(并可以发布DBCC和CHECKPOINT语句,这两个语句一般在备份前都会被执行)db_denydatareader不能看到数据库中任何数据的用户db_denydatawriter不能改变数据库中任何数据的用户除了表12-2中列出的固定数据库角色之外,还有一种特殊的固定数据库角色,名为public,这里将首先介绍这一角色。public角色 public角色是一种特殊的固定数据库角色,数据库的每个合法用户都属于该角色。它为数据库中的用户提供了所有默认权限。这样就提供了一种机制,即给予那些没有适当权限的所有用户以一定的(通常是有限的)权限。public角色为数据库中的所有用户都保留了默认的权限,因此是不能被删除的。(示例12.12给出了public角色的使用方法。)一般情况下,public角色允许用户进行如下的操作:使用某些系统过程查看并显示master数据库中的信息执行一些不需要一些权限的语句(例如PRINT)12.4.4 固定数据库角色及其权限 在数据库中,每个固定数据库角色都有其特定的权限。这就意味着对于某个数据库来说,固定数据库角色的成员的权限是有限的。使用系统过程sp_dbfixedrolepermission就可以查看每个固定数据库角色的权限。该系统过程的语法为:sp_db.xedrolepermission [[@rolename =] 'role'] 如果没有指定role的值,那么所有固定数据库角色的权限都可以显示出来。下面的几节将讨论每个固定数据库角色的权限。1. db_owner 固定数据库角色db_owner的成员可以在特定的数据库中进行如下的动作:向其他固定数据库角色中添加成员,或从其中删除成员运行所有的DDL语句运行BACKUP DATABASE和BACKUP LOG语句使用CHECKPOINT语句显式地启动检查点进程运行下列dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage授予、取消或剥夺每一个数据库对象上的下列权限:SELECT、INSERT、UPDATE、DELETE和REFERENCES使用下列系统过程向数据库中添加用户或角色:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember、sp_dropuser、sp_grantdbaccess使用系统过程sp_rename为任何数据库对象重新命名2. db_accessadmin 固定数据库角色db_accessadmin的成员可以执行与数据库访问有关的所有动作。这些角色可以在具体的数据库中执行下列操作:运行下列系统过程:sp_addalias、sp_dropalias、sp_dropuser、sp_grantdbacess、sp_revokedbaccess为Windows用户账户、Windows组和SQL Server登录添加或删除访问3. dbdatareader 固定数据库角色dbdatareader的成员对数据库中的数据库对象(表或视图)具有SELECT权限。然而,这些成员不能把这个权限授予其他任何用户或角色。(这个限制对REVOKE语句来说同样成立。)4. dbdatawriter 固定数据库角色dbdatawriter的成员对数据库中的数据库对象(表或视图)具有INSERT、UPDATE和DELETE权限。然而,这些成员不能把这个权限授予其他任何用户或角色。(这个限制对REVOKE语句来说也同样成立。)5. db_ddladmin 固定数据库角色db_ddladmin的成员可以进行如下的动作:运行所有DDL语句对任何表上授予REFERENCESE权限使用系统过程sp_procoption和sp_recompile来修改任何存储过程的结构使用系统过程sp_rename为任何数据库对象重命名使用系统过程sp_tableoption和sp_changeobjectowner分别修改表的选项和任何数据库对象的拥有者6. db_securityadmin 固定数据库角色db_securityadmin的成员可以管理数据库中的安全。这些成员可以进行如下的动作:运行与安全有关的所有Transact-SQL语句(GRANT、DENY和REVOKE)运行以下系统过程:sp_addapprole、sp_addrole、sp_addrolemember、sp_approlepassword、sp_changeobjectowner、sp_dropapprole、sp_droprole、sp_droprolemember7. db_backupoperator 固定数据库角色db_backupoperator的成员可以管理数据库备份的过程。这些成员可以进行如下动作:运行BACKUP DATABASE和BACKUP LOG语句用CHECKPOINT语句显式地启动检查点进程运行如下dbcc命令:dbcc checkalloc、dbcc checkcatalog、dbcc checkdb、dbcc updateusage8. db_denydatareader和db_denydatawriter 顾名思义,固定数据库角色db_denydatareader的成员对数据库中的数据库对象(表或视图)没有SELECT权限。如果数据库中含有敏感数据并且其他用户不能读取这些数据,那么就可以使用这个角色。固定数据库角色db_denydatawriter的成员对数据库中的任何数据库对象(表或视图)没有INSERT、UPDATE和DELETE权限。12.4.5 应用程序角色 应用程序角色可以加强对某个特定的应用程序的安全。换句话说,这些角色允许应用程序自己代替SQL Server接管用户身份验证的职责。比如,如果公司中的员工只是使用某个特定的应用程序(而不是Transact-SQL语句或其他任何工具)来修改员工的数据信息,那么就可以为它创建一个应用程序角色。应用程序角色与其他的角色类型有着显着不同。首先,因为应用程序角色只使用应用程序,因而不需要把权限直接赋予用户,所以应用程序角色没有任何成员。其次,您需要为应用程序设置一个口令来激活它。当应用程序角色被应用程序的会话激活以后,在会话期间,会话就失去了适用于登录、用户账户或所有数据库中的角色的权限。1. 创建应用程序角色 使用下列方法可以创建应用程序角色:CREATE APPLICATION ROLE语句系统过程sp_addapproleCREATE APPLICATION ROLE语句可以为当前数据库创建一个应用程序角色。该语句有两个选项:一个与口令的规范有关,另一个用于默认模式的定义,也就是,当服务器为该角色指定对象的名称时,服务器将要搜索的第一个模式。示例12.10显示了一个应用程序角色的创建方法。示例12.10USE sample CREATE APPLICATION ROLE weekly_reports WITH PASSWORD ='x1y2z3w4', DEFAULT_SCHEMA =my_schema 示例12.10向当前数据库中添加了一个名为weekly_reports的新的应用程序角色。创建新的应用程序角色的第二种方法是使用系统过程sp_addapprole。使用系统过程sp_addapprole,就可以创建应用程序角色并把权限授予它们。该系统过程有如下的语法形式:sp_addapprole [@rolename =] 'role', [@passwd_name =] 'password'其中role指定了应用程序角色的名称,password是相应的口令。(激活角需要用到password的值。)注意:SQL Server将来的版本中将删除系统过程sp_addapprole这部分内容。请避免使用这一功能。您可以使用CREATE APPLICATION ROLE语句来代替。2. 激活应用程序角色 当启动连接以后,必须执行sp_setapprole系统过程来激活与应用程序角色有关的权限。该过程的语法形式如下所示:sp_setapprole[@rolename =] 'role', [@password =] 'password'[,[@encrypt =] 'encrypt_style'] 其中role是在当前数据库中定义的应用程序角色的名称。password指定了相应的口令,而encrypt_style则定义了口令的加密样式。在使用系统过程sp_setapprole激活应用程序角色时,必须知道如下的一些事项:在激活了应用程序角色之后,在当前数据库中就不能使这个角色无效,而必须等到会话从SQL Server中断开连接之后才可以。应用程序角色总是和数据库绑定在一起的。也就是说,应用程序角色的作用域是当前数据库。如果在会话中改变了当前数据库,那么根据那个数据库的权限,只能执行那个数据库中允许的(其他)动作。注意:通过提供应用程序角色的正确口令,任何用户都可以执行系统过程sp_setapprole。3. 修改应用程序角色 使用下列Transact SQL语句可以修改应用程序角色:ALTER APPLICATION ROLEDROP APPLICATION ROLEALTER APPLICATION ROLE语句可以修改已有的应用程序角色的名称、口令或默认模式。该语句的语法与CREATE APPLICATION ROLE语句的语法形式类似。要想执行ALTER APPLICATION ROLE语句,需要取得对该对象的ALTER权限。DROP APPLICATION ROLE语句可以从当前数据库中删除应用程序角色。如果应用程序角色拥有任何对象(可保护对象),就不能删除该角色。注意:您同样可以使用系统过程sp_dropapprole来删除某个应用程序角色,但是在SQL Server将来的版本将删除该系统过程,不再使用它。12.4.6 用户自定义的数据库角色 一般来说,在一组数据库用户需要在数据库中执行一套常用操作并且不存在可用的Windows用户组的情况下,才可能用到用户自定义的数据库角色。这些角色通过Transact-SQL语句或SQL Server系统过程进行管理。接下来我们将讨论Transact-SQL语句,然后介绍相应的系统过程。1. 角色和Transact-SQL CREATE ROLE语句可以在当前数据库中创建一个新的数据库角色。该语句的语法格式为:CREATE ROLE role_name[AUTHORIZATION owner_name] 其中role_name是创建的用户自定义的角色的名称。Owner_name指定了即将拥有这个新角色的数据库用户或角色。(如果没有指定用户,那么该角色将由执行CREATE ROLE语句的用户所拥有。)CREATE ROLE语句可以修改用户自定义的数据库角色的名称。类似地,DROP ROLE语句可以从数据库中删除角色。拥有数据库对象(可保护对象)的角色不能从数据库中删除。要想删除这类角色,必须首先转换那些对象的从属关系。DROP ROLE语句的语法形式如下所示:DROP ROLE role_name 2. 角色和系统过程 创建或修改用户自定义角色的另一个方法是使用SQL Server系统过程。下列系统过程可以用来创建和显示用户自定义的数据库角色:sp_addrole sp_addrolemember sp_droprolemember sp_droprole sp_helprole 系统过程sp_addrole可以在当前数据库中创建一个新的角色。只有数据库角色db_securityadmin或db_owner才能够执行这个系统过程。注意:SQL Server 2005中包含的系统过程sp_addrole只是向后兼容的,在将来发布的SQL Server版本中可能不再支持该系统过程。所以请使用CREATE ROLE语句来代替。向当前数据库中添加了一个角色之后,就可以使用系统过程sp_addrolemember来添加该角色的成员。角色的成员可以是任何SQL Server中的合法用户、Windows用户组或用户,或另一个SQL Server角色。只有数据库角色db_owner的成员才能执行该系统过程。另外,角色拥有者也可以执行sp_addrolemember来向它所拥有的任何角色中添加成员。系统过程sp_droprolemember可以用来从角色中删除现有的成员。(但是不能使用这一系统过程来从某个Windows组中删除现有的Windows用户。)只有数据库角色db_owner或db_securityadmin才能执行该系统过程。在使用系统过程sp_droprolemember删除了角色中的所有成员之后,可以使用系统过程sp_droprole来从当前数据库中删除角色。(含有现有成员的角色不能删除。)只有数据库角色db_owner或db_securityadmin才能执行该系统过程。注意:SQL Server 2005中包含的系统过程sp_droprole只是向后兼容的,在将来发布的SQL Server版本中可能不再支持该系统过程。所以请使用DROP ROLE语句来代替。系统过程sp_helprole可以用来显示当前数据库中某个特定的角色或所有角色(如果没有提供角色名称)的相关信息(角色名称和角色的ID号)。只有数据库角色db_owner或db_securityadmin才能执行该系统过程。

㈥ SQL中什么角色没有成员

SQL中的角色:
当几个用户需要在某个特定的数据库中执行类似的动作时(这里没有相应的Windows用户组),就可以向该数据库中添加一个角色(role)。数据库角色指定了可以访问相同数据库对象的一组数据库用户。

数据库角色的成员可以分为如下几类:

Windows用户组或用户账户

SQL Server登录

其他角色

SQL Server的安全体系结构中包括了几个含有特定隐含权限的角色。除了数据库拥有者创建的角色之外,还有两类预定义的角色。这些可以创建的角色可以分为如下几类:

固定服务器

固定数据库

用户自定义

㈦ SQL 角色有哪几种 角色和用户有哪些关系

这个不太好说,没有系统的总结过,简单的说一下个人理解吧

角色可以分:固定服务器级别、固定数据库级别
服务器级别角色用户无法创建,而数据库级别角色用户可以自定义

角色是权限的集合,是一个组,用户从属于角色,是组的成员
数据库用户是数据库级别上的主体,每个数据库用户都是 public 角色的成员,
如果未向某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该对象的 public 角色的权限

简单的说,每个角色都有一定的权限,其中的用户成员享有其角色拥有的权限
用户可以从属于多个角色,也就是可以同时享有多重权限

㈧ sql server里 服务器角色都是什么意思

各个角色是对应不同权限的,sql server中有很多权限,可以把这些权限组合或单独赋给各个角色,从而使不同角色的用户的权限不同,你列出的都是内置角色。你看看下面这些对你有没有帮助,希望你解决你的问题。
为便于管理数据库中的权限,SQL Server 提供了若干“角色”,这些角色是用于分组其他主体的安全主体。它们类似于 Microsoft Windows 操作系统中的组。数据库级角色的权限作用域为数据库范围。

SQL Server 中有两种类型的数据库级角色:数据库中预定义的“固定数据库角色”和您可以创建的“灵活数据库角色”。

固定数据库角色是在数据库级别定义的,并且存在于每个数据库中。db_owner 和 db_securityadmin 数据库角色的成员可以管理固定数据库角色成员身份。但是,只有 db_owner 数据库角色的成员能够向 db_owner 固定数据库角色中添加成员。msdb 数据库中还有一些特殊用途的固定数据库角色。

您可以向数据库级角色中添加任何数据库帐户和其他 SQL Server 角色。固定数据库角色的每个成员都可向同一个角色添加其他登录名。

重要提示:
请不要将灵活数据库角色添加为固定角色的成员。这会导致意外的权限升级。

下表显示了固定数据库级角色及其能够执行的操作。所有数据库中都有这些角色。

数据库级别的角色名称 说明
db_owner
db_owner 固定数据库角色的成员可以执行数据库的所有配置和维护活动,还可以删除数据库。

db_securityadmin
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_denydatawriter
db_denydatawriter 固定数据库角色的成员不能添加、修改或删除数据库内用户表中的任何数据。

db_denydatareader
db_denydatareader 固定数据库角色的成员不能读取数据库内用户表中的任何数据。

有关数据库级固定角色权限的特定信息,请参阅固定数据库角色的权限(数据库引擎)。

msdb 角色
msdb 数据库中包含下表显示的特殊用途的角色。

msdb 角色名称 说明
db_ssisadmin

db_ssisoperator

db_ssisltser
这些数据库角色的成员可以管理和使用 SSIS。从早期版本升级的 SQL Server 实例可能包含使用 Data Transformation Services (DTS)(而不是 SSIS)命名的旧版本角色。有关详细信息,请参阅 使用 Integration Services 角色。

dc_admin

dc_operator

dc_proxy
这些数据库角色的成员可以管理和使用数据收集器。有关详细信息,请参阅数据收集器的安全性。

PolicyAdministratorRole
db_ PolicyAdministratorRole 数据库角色的成员可以对基于策略的管理策略和条件执行所有配置和维护活动。有关详细信息,请参阅使用基于策略的管理来管理服务器。

ServerGroupAdministratorRole

ServerGroupReaderRole
这些数据库角色的成员可以管理和使用注册的服务器组。有关详细信息,请参阅创建服务器组。

重要提示:
db_ssisadmin 角色和 dc_admin 角色的成员也许可以将其权限提升到 sysadmin。之所以会发生此权限提升,是因为这些角色可以修改 Integration Services 包,而 SQL Server 可以使用 SQL Server 代理的 sysadmin 安全上下文来执行 Integration Services 包。若要防止在运行维护计划、数据收集组和其他 Integration Services 包时出现此权限提升,请将运行包的 SQL Server 代理作业配置为使用拥有有限权限的代理帐户,或只将 sysadmin 成员添加到 db_ssisadmin 和 dc_admin 角色。

使用服务器级角色
下表说明了用于服务器级角色的命令、视图和函数。

功能 类型 说明
sp_helpdbfixedrole (Transact-SQL)
元数据
返回固定数据库角色的列表。

sp_dbfixedrolepermission (Transact-SQL)
元数据
显示固定数据库角色的权限。

sp_helprole (Transact-SQL)
元数据
返回当前数据库中有关角色的信息。

sp_helprolemember (Transact-SQL)
元数据
返回有关当前数据库中某个角色的成员的信息。

sys.database_role_members (Transact-SQL)
元数据
为每个数据库角色的每个成员返回一行。

IS_MEMBER (Transact-SQL)
元数据
指示当前用户是否为指定 Microsoft Windows 组或 Microsoft SQL Server 数据库角色的成员。

CREATE ROLE (Transact-SQL)
命令
在当前数据库中创建新的数据库角色。

ALTER ROLE (Transact-SQL)
命令
更改数据库角色的名称。

DROP ROLE (Transact-SQL)
命令
从数据库中删除角色。

sp_addrole (Transact-SQL)
命令
在当前数据库中创建新的数据库角色。

sp_droprole (Transact-SQL)
命令
从当前数据库中删除数据库角色。

sp_addrolemember (Transact-SQL)
命令
为当前数据库中的数据库角色添加数据库用户、数据库角色、Windows 登录名或 Windows 组。

sp_droprolemember (Transact-SQL)
命令
从当前数据库的 SQL Server 角色中删除安全帐户。

public 数据库角色
每个数据库用户都属于 public 数据库角色。如果未向某个用户授予或拒绝对安全对象的特定权限时,该用户将继承授予该对象的 public 角色的权限。

㈨ 简答SQL固定数据库角色类型及其功能。

权限角色,是争对用户说的,我们新建用户的时候,往往是新建一类人,然后给这个用户这一类人的角色,这样易与管理,否则,用户多了,每个人权限又都不同,
在sql中不同的角色,其权限,操作的对象,都不同,小应用系统用的不多,大一点的公司,特别是用到的《域》的时候,数据库工作要多人分工的时候,就用到了,有负责备份,有负表开发的,等等。

㈩ 什么是角色,SQL Server有哪些角色种类

角色是一个强大的工具,使您得以将用户集中到一个单元中,然后对该单元应用权限。对一个角色授予、拒绝或废除的权限也适用于该角色的任何成员。可以建立一个角色来代表单位中一类工作人员所执行的工作,然后给这个角色授予适当的权限。当工作人员开始工作时,只须将他们添加为该角色成员,当他们离开工作时,将他们从该角色中删除。而不必在每个人接受或离开工作时,反复授予、拒绝和废除其权限。权限在用户成为角色成员时自动生效。

Microsoft�0�3 Windows NT�0�3 和 Windows�0�3 2000 组的使用方式与角色很相似。有关更多信息,请参见组。

如果根据工作职能定义了一系列角色,并给每个角色指派了适合这项工作的权限,则很容易在数据库中管理这些权限。之后,不用管理各个用户的权限,而只须在角色之间移动用户即可。如果工作职能发生改变,则只须更改一次角色的权限,并使更改自动应用于角色的所有成员,操作比较容易。

在 Microsoft�0�3 SQL Server�6�4 2000 和 SQL Server 7.0 版中,用户可属于多个角色。

以下脚本说明登录、用户和角色的添加,并为角色授予权限。

USE master

GO

sp_grantlogin 'NETDOMAIN\John'

GO

sp_defaultdb 'NETDOMAIN\John', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Sarah'

GO

sp_defaultdb 'NETDOMAIN\Sarah', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Betty'

GO

sp_defaultdb 'NETDOMAIN\Betty', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Ralph'

GO

sp_defaultdb 'NETDOMAIN\Ralph', 'courses'

GO

sp_grantlogin 'NETDOMAIN\Diane'

GO

sp_defaultdb 'NETDOMAIN\Diane', 'courses'

GO

USE courses

GO

sp_grantdbaccess 'NETDOMAIN\John'

GO

sp_grantdbaccess 'NETDOMAIN\Sarah'

GO

sp_grantdbaccess 'NETDOMAIN\Betty'

GO

sp_grantdbaccess 'NETDOMAIN\Ralph'

GO

sp_grantdbaccess 'NETDOMAIN\Diane'

GO

sp_addrole 'Professor'

GO

sp_addrole 'Student'

GO

sp_addrolemember 'Professor', 'NETDOMAIN\John'

GO

sp_addrolemember 'Professor', 'NETDOMAIN\Sarah'

GO

sp_addrolemember 'Professor', 'NETDOMAIN\Diane'

GO

sp_addrolemember 'Student', 'NETDOMAIN\Betty'

GO

sp_addrolemember 'Student', 'NETDOMAIN\Ralph'

GO

sp_addrolemember 'Student', 'NETDOMAIN\Diane'

GO

GRANT SELECT ON StudentGradeView TO Student

GO

GRANT SELECT, UPDATE ON ProfessorGradeView TO Professor

GO

该脚本给 John 和 Sarah 教授提供了更新学生成绩的权限,而学生 Betty 和 Ralph 只能选择他们自己的成绩。Diane 因同时教两个班,所以添加到两个角色中。ProfessorGradeView 视图应将教授限制在自己班学生的行上,而 StudentGradeView 应限制学生只能选择自己的成绩。

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 角色的权限。