/*
本sql 脚本,目的是,将组织机构内的人员登录名从 “张军” 改成 “zhangjun” ,人员数据库是 OIOrg (根据自己设置情况落实)
很多 登录名是中的情况下,我们将中文登录名 移入到别名,为这个账号 建立一个 英文登录名
1)请核对,人员管理服务所用到的数据库是否是 OIOrg ;
2)运作这个脚本的时候,必须是在OIOrg这个数据库内进行脚本运行;
3)在OIOrg库下,先创建sheet1表,包含 newlogin oldlogin 2个字段;(若有excel也可以导入) newlogin 就是英文登录名,oldlogin 就是中文登录名
4)运行此脚本前,先将 OIOrg库进行备份;
5) 这个脚本运行后 ,重启所有服务,才能生效
*/
-- 管理员表 -- OI_Org_T004.S_C1
UPDATE OI_ORG_T004
SET S_C1 = A.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T004.S_C1
GO
-- 企业云盘负责人表 -- OI_Org_T006.S_C4
UPDATE OI_Org_T006
SET S_C4 = A.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T006.S_C4
GO
-- 人员组成表 -- OI_Org_T007.S_C3
UPDATE OI_Org_T007
SET S_C3 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T007.S_C3
GO
-- 项目管理软件登记信息表 -- OI_Org_T008.S_C1
UPDATE OI_Org_T008
SET S_C1 = a.newlogin , s_c28 = a.oldlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T008.S_C1
GO
-- 人员扩展标签信息表 -- OI_Org_T009.S_C1
UPDATE OI_Org_T009
SET S_C1 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T009.S_C1
GO
-- 企业即时通讯软件服务登记 -- OI_Org_T011.S_C2
UPDATE OI_Org_T011
SET S_C2 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T011.S_C2
GO
-- 视图人员表 -- OI_Org_T013.S_C3
UPDATE OI_Org_T013
SET S_C3 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T013.S_C3
GO
-- 视图可访问控制表 -- OI_Org_T015.S_C3 (N_C2 = 0)
UPDATE OI_Org_T015
SET S_C3 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T015.S_C3
AND OI_Org_T015.n_C2 = 0
GO
-- 应用可使用人员表 -- OI_Org_T017.S_C3 (N_C2 = 0)
UPDATE OI_Org_T017
SET S_C3 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T017.S_C3
AND OI_Org_T017.n_C2 = 0
GO
-- 领导关系表 (可能很多用户都没有用到)-- OI_Org_T025.S_C1
UPDATE OI_Org_T025
SET S_C1 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T025.S_C1
GO
--领导关系表 -- OI_Org_T025.S_C2 (N_C5 = 0)
UPDATE OI_Org_T025
SET S_C2 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T025.S_C2
AND OI_Org_T025.n_C5 = 0
GO
-- 常用联系人分组 OI_ORG_CONTACT_GROUP
UPDATE OI_ORG_CONTACT_GROUP
SET S_OWNER = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_CONTACT_GROUP.S_OWNER
GO
-- 常用联系人 OI_ORG_CONTACT
UPDATE OI_ORG_CONTACT
SET S_OWNER = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_CONTACT.S_OWNER
GO
UPDATE OI_ORG_CONTACT
SET S_USER_LOGIN = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_CONTACT.S_USER_LOGIN
GO
/*
-- 用户关注表 (这个已经被注释掉了,这个表现在还没有用到)-- OI_Org_T026.S_C1
UPDATE OI_Org_T026
SET S_C1 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T026.S_C1
GO
-- OI_Org_T026.S_C2
UPDATE OI_Org_T026
SET S_C2 = a.newlogin
FROM sheet1 a WHERE a.oldlogin = OI_ORG_T026.S_C2
GO
*/
-- ——————————————————————————————————————————
-- 执行后 可以判断有一下有多少 AM用户 登录名没有转的 (可以了解一下)
SELECT * FROM [OIOrg].[dbo].[OI_ORG_T008] where s_c28=''
-- 最后重启所有服务 才能生效
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/28660496/viewspace-2733227/ ,如需转载,请注明出处,否则将追究法律责任。