查看数据库账号权限
Posted ganlanzhizhg
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了查看数据库账号权限相关的知识,希望对你有一定的参考价值。
sp_helpuser
查看当前数据库中的所有用户的信息,如果指定用户则只报告指定用户的信息
https://docs.microsoft.com/zh-cn/previous-versions/sql/sql-server-2008-r2/ms187732(v=sql.105)
sp_helplogins
结果集
第一个报表包含有关每个指定的登录的信息。
列名 | 数据类型 | 描述 |
---|---|---|
LoginName | sysname | 登录名。 |
SID | varbinary(85) | 登录安全标识符。 |
DefDBName | sysname | LoginName 连接到 Microsoft? SQL Server? 时使用的默认数据库。 |
DefLangName | sysname | LoginName 所使用的默认语言。 |
Auser | char(5) | Yes = LoginName 在一个数据库中有相关联的用户名。 No = LoginName 没有相关联的用户名。 |
ARemote | char(7) | Yes = LoginName 有相关的远程登录。 No = LoginName 没有相关的登录。 |
第二个报表包含有关与每个登录相关的用户及别名的信息。
列名 | 数据类型 | 描述 |
---|---|---|
LoginName | sysname | 登录名。 |
DBName | sysname | 连接到 SQL Server 时,LoginName 所使用的默认数据库。 |
UserName | sysname | 在 DBName 中,LoginName 所映射到的用户帐户以及 LoginName 所属的角色。 |
UserOrAlias | char(8) | MemberOf = UserName 是角色。 User = UserName 是用户帐户。 |
注释
在删除登录之前,使用 sp_helplogins 确定该登录映射到的用户帐户。
权限
只有 sysadmin 和 securityadmin 固定服务器角色的成员才可以执行 sp_helplogins。
sp_helplogins 必须检查服务器上所有的数据库,以确定这些数据库中与登录相关的用户帐户。因此,服务器上的每个数据库都必须满足下列条件之一:
- 执行 sp_helplogins 的用户必须有访问该数据库的权限。
- guest 用户帐户必须存在于数据库中。
如果不能访问某个数据库,则 sp_helplogins 显示错误信息 15622,并且尽其所能显示所有与这些数据库中的用户帐户相关的登录信息。
示例
下面的示例报告有关登录 John 的信息。
EXEC sp_helplogins ‘John‘ go LoginName SID DefDBName DefLangName AUser ARemote --------- -------------------------- --------- ----------- ----- ------- John 0x23B348613497D11190C100C master us_english yes no (1 row(s) affected) LoginName DBName UserName UserOrAlias --------- ------ -------- ----------- John pubs John User (1 row(s) affected)
sp_who
报告当前Adaptive server用户和进程的信息或有关特定用户和进程的信息。
sp_who2
use testSb
go
exec sp_helprotect
以上是关于查看数据库账号权限的主要内容,如果未能解决你的问题,请参考以下文章
Android 逆向Linux 文件权限 ( Linux 权限简介 | 系统权限 | 用户权限 | 匿名用户权限 | 读 | 写 | 执行 | 更改组 | 更改用户 | 粘滞 )(代码片段