求相关SQL语句

ff117 2010-06-18 03:01:52
1.SQL2005如何使用sql语句查询数据库上用户 sp_helpuser
2.SQL2005如何使用sql语句查询各用户的访问权限 sp_helprotect
3.SQL2005如何使用sql语句查询sql服务器的登录名 sp_helplogins

有没有具体点的语句
...全文
67 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
老黎 2010-06-24
  • 打赏
  • 举报
回复
系统的已经很好了..
user_xj 2010-06-24
  • 打赏
  • 举报
回复
[Quote=引用 5 楼 ff117 的回复:]
楼上的理解错误了
我说的是有select编写的没,不用系统自带的
[/Quote]
与一楼的说法 有区别吗?
static001 2010-06-24
  • 打赏
  • 举报
回复
学习了
ff117 2010-06-24
  • 打赏
  • 举报
回复
楼上的理解错误了
我说的是有select编写的没,不用系统自带的
jwdream2008 2010-06-18
  • 打赏
  • 举报
回复
语法

sp_helplogins [ [ @LoginNamePattern = ] 'login' ]


备注
在删除某一登录之前,应使用 sp_helplogins 标识映射到该登录的用户帐户。

参数
[ @LoginNamePattern = ] 'login'
登录名。login 的数据类型为 sysname,默认值为 NULL。如果指定该参数,则 login 必须存在。如果未指定 login,则返回有关所有登录的信息。

返回代码值
0(成功)或 1(失败)

结果集
第一个报告包含有关指定的每个登录的信息,如下表所示。

列名 数据类型 说明
LoginName
sysname
登录名。

SID
varbinary(85)
登录安全标识符 (SID)。

DefDBName
sysname
LoginName 在连接 SQL Server 实例时所使用的默认数据库。

DefLangName
sysname
LoginName 所使用的默认语言。

Auser
char(5)
Yes = LoginName 在一个数据库中有相关联的用户名。

No = LoginName 没有相关联的用户名。

ARemote
char(7)
Yes = LoginName 有相关联的远程登录。

No = LoginName 没有相关联的登录。


第二个报告包含有关与每个登录相关联的用户信息,如下表所示。

列名 数据类型 说明
LoginName
sysname
登录名。

DBName
sysname
LoginName 在连接 SQL Server 实例时所使用的默认数据库。

UserName
sysname
在 DBName 中,LoginName 所映射到的用户帐户以及 LoginName 所属的角色。

UserOrAlias
char(8)
MemberOf = UserName 是角色。

User = UserName 是用户帐户。


权限
要求具有 securityadmin 固定服务器角色的成员身份。

若要标识映射到给定登录的所有用户帐户,sp_helplogins 必须检查服务器中的所有数据库。因此,对于服务器中的每个数据库,至少应满足下列条件之一:

正在执行 sp_helplogins 的用户具有访问数据库的权限。


已在数据库中启用了 guest 用户帐户。


如果 sp_helplogins 不能访问数据库,则 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)

jwdream2008 2010-06-18
  • 打赏
  • 举报
回复
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'

jwdream2008 2010-06-18
  • 打赏
  • 举报
回复
A. 列出所有用户
以下示例列出当前数据库中的所有用户。

复制代码
EXEC sp_helpuser


B. 列出单个用户的信息
以下示例列出有关用户数据库所有者 (dbo) 的信息。

复制代码
EXEC sp_helpuser 'dbo'


C. 列出某个数据库角色的信息
以下示例列出有关 db_securityadmin 固定数据库角色的信息。

复制代码
EXEC sp_helpuser 'db_securityadmin'

永生天地 2010-06-18
  • 打赏
  • 举报
回复
什么意思,要写这三个系统存储过程的实现代码?

34,588

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧