sp_helprotect
返回一个报表,报表中包含当前数据库中某对象的用户权限或语句权限的信息。
语法
sp_helprotect [ [ @name = ] 'object_statement' ] [ , [ @username = ] 'security_account' ] [ , [ @grantorname = ] 'grantor' ] [ , [ @permissionarea = ] 'type' ]
参数
[@name =] 'object_statement'
是当前数据库中要报告其权限的对象或语句的名称。object_statement 的数据类型为 nvarchar(776),默认值为 NULL,此默认值将返回所有的对象及语句权限。如果值是一个对象(表、视图、存储过程或扩展存储过程),那么它必须是当前数据库中一个有效的对象。对象名称可以包含所有者限定符,形式为 owner.object。
如果 object_statement 是一个语句,则可以为:
CREATE DATABASECREATE DEFAULTCREATE FUNCTIONCREATE PROCEDURECREATE RULECREATE TABLECREATE VIEWBACKUP DATABASEBACKUP LOG
[@username =] 'security_account'
是返回其权限的安全帐户名称。security_account 的数据类型为 sysname,默认值为 NULL,这个默认值将返回当前数据库中所有的安全帐户。security_account 必须是当前数据库中的有效安全帐户。当指定 Microsoft® Windows NT® 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。
[@grantorname =] 'grantor'
是已授权的安全帐户的名称。grantor 的数据类型为 sysname,默认值为 NULL,这个默认值将返回数据库中任何安全帐户所授权限的所有信息。当指定 Windows NT 用户时,请指定该 Windows NT 用户在数据库中可被识别的名称(用 sp_grantdbaccess 添加)。
[@permissionarea =] 'type'
是一个字符串,表示是显示对象权限(字符串 o)、语句权限(字符串 s)还是两者都显示 (o s)。type 的数据类型为 varchar(10),默认值为 o s。type 可以是 o 和 s 的任意组合,在 o 和 s 之间可以有也可以没有逗号或空格。
返回代码值
0(成功)或 1(失败)
结果集列名数据类型描述Ownersysname对象所有者的名称。Objectsysname对象的名称。Granteesysname被授予权限的用户的名称。Grantorsysname向指定的被授权限用户进行授权的用户的名称。ProtectTypechar(10)保护类型的名称:
GRANTREVOKE
Actionvarchar(20)权限的名称:
REFERENCESSELECTINSERTDELETEUPDATECREATE TABLECREATE DATABASECREATE FUNCTIONCREATE RULECREATE VIEWCREATE PROCEDUREEXECUTEBACKUP DATABASECREATE DEFAULTBACKUP LOG
Columnsysname权限的类型:
All = 权限适用于对象所有的当前列。New = 权限适用于任何以后可以在对象上进行修改(使用 ALTER 语句)的新列。All+New = All 和 New 的组合。
注释
该过程的所有参数都是可选的。如果不带参数执行 sp_helprotect,将显示当前数据库中所有已经授予或拒绝的权限。
如果指定了一部分参数,而不是指定全部参数,请使用命名参数来标识特定的参数,或者使用 NULL 作为占位符。例如,若要报告授予方 dbo 的所有权限,请执行:
EXEC sp_helprotect NULL, NULL, dbo
或
EXEC sp_helprotect @grantorname = 'dbo'
输出报表按权限分类、所有者、对象、被授予方、授予方、保护类型分类、保护类型、动作以及列连续 ID 进行排序。
权限
执行权限默认授予 public 角色。
示例A. 列出某个表的权限
下面的示例列出了表 titles 的权限。
EXEC sp_helprotect 'titles'
B. 列出某个用户的权限
下面的示例列出当前数据库中用户 Judy 所拥有的所有权限。
EXEC sp_helprotect NULL, 'Judy'
C. 列出由某个特定的用户授予的权限
下面的示例列出了当前数据库中由用户 Judy 授予的所有权限,使用 NULL 作为缺少的参数的占位符。
EXEC sp_helprotect NULL, NULL, 'Judy'
D. 仅列出语句权限
下面的示例列出当前数据库中所有的语句权限,使用 NULL 作为缺少的参数的占位符。
EXEC sp_helprotect NULL, NULL, NULL, 's'
分享到:
相关推荐
用户权限的层次结构是SQL Server权限模型的核心。系统管理员可以进一步细分权限,将CREATE DATABASE权限授予其他用户,使他们成为新的数据库所有者。数据库所有者可以授予用户在数据库内的各种操作权限,比如创建表...
免安装版本的SQL Server查询分析器为那些不希望或不能在计算机上完整安装SQL Server的用户提供了便利。这款916KB的小型工具能够简化对SQL Server 2000、2005和2008数据库的访问,无需进行常规的安装过程,特别适合于...
SQL Server 登陆权限操作是指在 SQL Server 中设置用户登录名和权限的操作,包括服务器角色权限和数据库权限。本文将详细介绍如何设置 Test 用户的权限,包括服务器角色的权限 dbcreate、能操作的数据库 Accp50 及...
8. **安全性**:在使用查询分析器时,应遵守最佳安全实践,如避免在代码中硬编码敏感信息,使用参数化查询防止SQL注入攻击,定期更改登录凭据,以及限制用户权限以最小化潜在风险。 9. **性能优化**:对于复杂的...
SqlServer作为一款广泛使用的数据库管理系统,其用户权限设置功能显得尤为重要。它让数据库管理员能够细致入微地控制每个用户对数据库的访问和操作权限,从而有效防止数据泄露和非法操作。本文将详细介绍如何在Sql...
以下是从给定的文件信息中提炼出的关键知识点,包括如何查询当前在线用户数量、特定用户活动、服务器状态以及SQL Server中的权限管理。 ### 如何查看当前连接的在线用户数 在SQL Server中,`sysprocesses`视图是...
免安装版本意味着用户无需完整安装SQL Server即可使用该工具,这对于开发人员、数据库管理员或者临时需要进行数据库操作的用户来说非常方便。下面将详细介绍SQL Server查询分析器及其主要功能。 1. **SQL Server...
安全帐户认证是 SQL Server 权限管理的第一步,它是用来确认登录 SQL Server 的用户的登录帐号和密码的正确性,由此来验证其是否具有连接 SQL Server 的权限。SQL Server 2000 提供了两种确认用户的认证模式: 1. ...
"绿色版SQL Server查询分析器"指的是一个无需安装即可使用的版本,它可能包含了所有必要的组件,使得用户能够在没有完整安装SQL Server的环境下执行查询和管理任务。 在SQL Server查询分析器中,你可以进行以下操作...
在SQL Server数据库管理系统中,权限控制是至关重要的,它确保了数据的安全性和访问的合规性。本主题将深入探讨如何使用SQL语句进行数据库权限设置,以及SQL Server中的权限层次结构。 首先,我们需要理解SQL ...
### SQL Server 2005 创建用户并授予权限详解 #### 一、概述 在 SQL Server 2005 中,为了确保数据的安全性和完整性,管理员需要能够有效地管理数据库用户及其相应的权限。本文将详细介绍如何在 SQL Server 2005 中...
7. `semsfc.dll`:这个名字可能与SQL Server的安全性和存储过程控制有关,可能涉及到权限管理和访问控制。 8. `sqlsvc.dll`:服务相关的动态链接库,可能用于SQL Server服务的启动、停止和管理,包括数据库引擎服务...
它允许用户与SQL Server数据库进行交互,编写SQL语句,执行查询,并查看结果。用户可以创建、修改和执行存储过程,查看数据库对象,以及进行性能调试。 3. **绿色版软件**:通常指的是不需要安装、不写入注册表、不...
SQL Server Compact Toolbox适用于处理SQL Server Compact Edition数据库,而SQL Server Express Management Studio则为SQL Server Express用户提供了一套基本的管理工具。 在实际应用中,SQL Server连接工具通常...
"关于SYBASE SQL SERVER中用户权限的管理" 本文主要介绍了SYBASE SQL SERVER中用户权限的管理,通过一个详细的实例,介绍了如何在SYBASE SQL SERVER中,对数据库进行用户权限的管理。 一、基本概念 在SYBASE SQL ...
在 SQL Server 中,角色是一种非常重要的安全机制,它允许管理员对一组用户进行统一的权限管理。通过角色,可以将特定的权限授予角色成员,从而避免了逐一为每个用户分配权限的繁琐过程。 **1.2 角色类型** SQL ...
SQL Server 新建用户权限管理 SQL Server 是一个功能强大的关系数据库管理系统,它提供了丰富的用户管理和权限管理机制,以确保数据库的安全性和可靠性。在本文中,我们将详细介绍如何在 SQL Server 中新建用户、...
### SQL Server 数据库迁移孤立用户的解决方法 在进行SQL Server数据库迁移时,经常会遇到一个棘手的问题:迁移完成后,部分用户无法与原有的登录名相对应,导致这些用户成为“孤立用户”。这种情况下,用户虽然...
在SQL Server 2012中,虽然主要推荐使用SQL Server Native Client 11.0,但为了兼容旧版本的SQL Server,如SQL Server 2000,仍然需要使用SQL Server Native Client 10.0。 **1. ODBC与OLE DB接口** - **ODBC**: ...
你可以通过它编写、调试T-SQL代码,管理数据库对象,如表、视图、存储过程等,并进行数据库权限设置。此外,它还支持对SQL Server的各种服务进行配置,包括SQL Server Agent、Analysis Services、Integration ...