注册
数据库用户密码修改时间和密码加密值查询(DM8:达梦数据库)
技术分享/ 文章详情 /

数据库用户密码修改时间和密码加密值查询(DM8:达梦数据库)

祢真伟大 2024/01/11 1600 0 0

DM8:达梦数据库用户密码加密值查询

环境介绍

  • 要查询用户密码修改时间,用第一个sql;
  • 要查询哪些数据库用户密码是一样的,用第二个sql;
  • 若忘记达梦数据库用户密码,1 可以试错,2 尝试新建用户并修改新用户密码,若新用户密码和忘记的用户密码加密值一样,说明密码相同
--创建临时表存储用户当前使用的密码(创建表执行一次) CREATE GLOBAL TEMPORARY TABLE SYSDBA.T_PWD(LOGINID INTEGER, NEW_PWD varchar(512),MODIFIED_TIME TIMESTAMP(6)); COMMIT; DECLARE V_SQL VARCHAR;--存临时SQL V_COUNT INT;--记录用户ID数量 V_UID INTEGER;--遍历用户ID BEGIN V_COUNT:=(SELECT COUNT(U.ID) FROM SYS.SYSOBJECTS U WHERE U.SUBTYPE$ ='USER' AND U.NAME <>'SYS'); FOR I IN 1..V_COUNT LOOP V_SQL:='SELECT TOP ('||I||'-1),1 U.ID FROM SYS.SYSOBJECTS U WHERE U.SUBTYPE$ =''USER'' AND U.NAME <>''SYS'''; EXECUTE IMMEDIATE V_SQL INTO V_UID; INSERT INTO SYSDBA.T_PWD SELECT TOP 1 LOGINID,NEW_PWD,MODIFIED_TIME FROM SYS.VSYSPWDCHGS WHERE LOGINID = V_UID ORDER BY MODIFIED_TIME DESC; END LOOP; -- 查询达梦数据库用户密码加密值 -- 查询达梦数据库用户密码修改时间 SELECT U.NAME,U.ID,U.CRTDATE,U.VALID,P.NEW_PWD,P.MODIFIED_TIME FROM SYSDBA.T_PWD P LEFT JOIN (SELECT * FROM SYS.SYSOBJECTS) U ON U.ID=P.LOGINID ORDER BY NEW_PWD DESC; --查询数据库密码相同的用户 SELECT U.NAME,U.ID,P.NEW_PWD FROM SYSDBA.T_PWD P INNER JOIN (SELECT * FROM SYS.SYSOBJECTS) U ON U.ID=P.LOGINID AND P.NEW_PWD IN (SELECT NEW_PWD FROM SYSDBA.T_PWD GROUP BY NEW_PWD HAVING COUNT(NEW_PWD)>1) ORDER BY NEW_PWD DESC; END;

1 查询达梦数据库密码修改时间与加密值

-- 查询达梦数据库用户密码加密值
-- 查询达梦数据库用户密码修改时间
image.png

2 查询数据库密码相同的用户

image.png

3 达梦数据库学习使用列表

达梦数据库学习使用列表 - - 点击跳转

评论
后发表回复

作者

文章

阅读量

获赞

扫一扫
联系客服