首页 新闻 会员 周边

如何检查Sql Server数据库无用的用户和登录名

0
悬赏园豆:50 [已关闭问题] 关闭于 2014-06-11 16:12

如题!

如何通过SQL语句,查询数据库无用的用户和登录名?

-狂奔的蜗牛-的主页 -狂奔的蜗牛- | 初学一级 | 园豆:156
提问于:2014-06-11 10:26
< >
分享
所有回答(3)
0

无用的用户和登录名怎么定义?多久没登录过的?

吴瑞祥 | 园豆:29449 (高人七级) | 2014-06-11 11:42

就是与数据库运行、维护等工作无关的登录名;  各个数据库下面无关的账户名。

支持(0) 反对(0) -狂奔的蜗牛- | 园豆:156 (初学一级) | 2014-06-11 13:53

@-狂奔的蜗牛-: 怎么判定他无关?

支持(0) 反对(0) 吴瑞祥 | 园豆:29449 (高人七级) | 2014-06-11 14:00
0

规则是什么??

幻天芒 | 园豆:37175 (高人七级) | 2014-06-11 13:50

就是与数据库运行、维护等工作无关的登录名;  各个数据库下面无关的账户名。

支持(0) 反对(0) -狂奔的蜗牛- | 园豆:156 (初学一级) | 2014-06-11 13:53

@-狂奔的蜗牛-: 你是指数据库账户吧。这个你直接查看数据库的属性,里面去找吧。sql语句,还真没这么查过。

支持(0) 反对(0) 幻天芒 | 园豆:37175 (高人七级) | 2014-06-11 14:24
0

select * from users where loginData<'yyyy-mm-dd'

这个是n久以前登录的用户,你的业务逻辑是通过活动情况来定义还是怎么?

amityat | 园豆:476 (菜鸟二级) | 2014-06-11 13:56

是判断数据库的用户和登录名。

规则:

登录名:所有数据库的用户都没有使用到这个登录名,即无关登录名。(新建了登录名,但一直没有使用到)
用户:这个用户没有关联到登录名,即无关用户。(可能由于迁移会导致这样的问题,迁移到的数据库服务器没有这个登录名了)

支持(0) 反对(0) -狂奔的蜗牛- | 园豆:156 (初学一级) | 2014-06-11 14:25

@-狂奔的蜗牛-: 

用admin系统权限登录查询

SELECT * FROM sys.database_principals  查数据库用户

SELECT * FROM sys.server_principals WHERE type_desc='SQL_LOGIN'  所有数据库的用户都没有使用到这个登录名,即无关登录名。(新建了登录名,但一直没有使用到) 用Create_date 和Modify_date判断咯

 

支持(0) 反对(0) amityat | 园豆:476 (菜鸟二级) | 2014-06-11 14:32
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册