sps备份数据恢复过程中遇到的问题
2005-06-03 13:05
375 查看
在备份出portal的数据库后,公司的域控制器重新安装,不过域的名称没有更改
在恢复sps的数据库后出现问题,除了域管理员的账号外,其他人都无法登陆sps。
用户能够正确通过ad集成验证,可是到sps本身的权限检查的时候却不能顺利通过
我打开site数据库中的userinfo表,发现tp_login字段存储的域名和用户名都正确。
在portal 中的用户管理功能,所有的用户都不能够修改,或添加提示“此用户已经存在”。
在现在的新域上增加新用户,用户可以正常使用。在portal 上的用户管理中删除原始用户,然后
再添加同一个用户,则还是提示用户应经存在,不能正确添加。
再数据库userinfo表中,删除原始用户纪录,在增加同一个用户,增加的用户可以正常使用。
看来问题出在userinfo中的数据和ad 中用户信息同步上,因为tp_login 字段的内容都相同,
肯定还有别的字段表示用户信息,挨个检查userinfo的字段发现tp_systemID最可疑,不过它数据类型是binary类型的 ,估计应该就是这个字段对应着ad中用户的ID字段。
问题找出来了,可是却不知道怎么去修改tp_systemID,上网搜索
终于找到了一篇blog有这方面的介绍:(感谢dustin)
http://www.sharepointblogs.com/dustin/archive/2004/09/10/756.aspx
内容如下:
Fix those SIDs
Thanks to my good friend Jeremy McMahan for finding the suser_sid() function for me -- My original solution was a crazy mix of linked servers and the Directory Services provider for OLEDB!
Ever migrate your SharePoint site to a totally new environment and discover that your efforts to re-create your Active Directory were all for nothing, since all the users got new SIDs? Symptoms like: The administrator of the server can log in, but nobody else can, even though you're SURE their usernames and passwords are right.
Here's a script that'll fix that up for you in a jif. Open Query Analyzer and run it against the content database for your site, and it will update all the SIDs for your users to the SID that is reported for that user by Active Directory.
Big fat disclaimer: Microsoft does NOT support ANY modifications to your SharePoint databases. That's not to say they won't support your SharePoint site, but if this operation breaks your server, Microsoft won't help you. I'm not responsible for the results, either, while we're on the subject of passing the buck. BACK UP YOUR DATABASE.
Okay, now that we've gotten that mumbo-jumbo out of the way, here's the code.
.coloredcode .cmt { color: #0f0; }
.coloredcode .cmtg { color: #666; }
.coloredcode .st { color: #f00; }
.coloredcode .kwdt { color: #666; }
.coloredcode .kwd { color: #00f; }
.coloredcode .attr { color: #f00; }
.coloredcode .attrv { color: #00f; }
.coloredcode .ec { color: #00f; }
.coloredcode .tag { color: #800000; }
.coloredcode .dir { color: #000; background: #FEFF22; }
.coloredcode .sel { color: #800000; }
.coloredcode .val { color: #00f; }
.coloredcode .unit { color: #800000; }
.coloredcode .sqlcmt { color: #008080; }
.coloredcode .sqlkwd { color: #00f; }
.coloredcode .sqlkwd2 { color: #f0f; }
.coloredcode .sqlkwd3 { color: #999; }
.coloredcode .sqlkwd4 { color: #800000; }
.coloredcode .num { color: #00f; }
.coloredcode .sqlst { color: #008000;}
在恢复sps的数据库后出现问题,除了域管理员的账号外,其他人都无法登陆sps。
用户能够正确通过ad集成验证,可是到sps本身的权限检查的时候却不能顺利通过
我打开site数据库中的userinfo表,发现tp_login字段存储的域名和用户名都正确。
在portal 中的用户管理功能,所有的用户都不能够修改,或添加提示“此用户已经存在”。
在现在的新域上增加新用户,用户可以正常使用。在portal 上的用户管理中删除原始用户,然后
再添加同一个用户,则还是提示用户应经存在,不能正确添加。
再数据库userinfo表中,删除原始用户纪录,在增加同一个用户,增加的用户可以正常使用。
看来问题出在userinfo中的数据和ad 中用户信息同步上,因为tp_login 字段的内容都相同,
肯定还有别的字段表示用户信息,挨个检查userinfo的字段发现tp_systemID最可疑,不过它数据类型是binary类型的 ,估计应该就是这个字段对应着ad中用户的ID字段。
问题找出来了,可是却不知道怎么去修改tp_systemID,上网搜索
终于找到了一篇blog有这方面的介绍:(感谢dustin)
http://www.sharepointblogs.com/dustin/archive/2004/09/10/756.aspx
内容如下:
Fix those SIDs
Thanks to my good friend Jeremy McMahan for finding the suser_sid() function for me -- My original solution was a crazy mix of linked servers and the Directory Services provider for OLEDB!
Ever migrate your SharePoint site to a totally new environment and discover that your efforts to re-create your Active Directory were all for nothing, since all the users got new SIDs? Symptoms like: The administrator of the server can log in, but nobody else can, even though you're SURE their usernames and passwords are right.
Here's a script that'll fix that up for you in a jif. Open Query Analyzer and run it against the content database for your site, and it will update all the SIDs for your users to the SID that is reported for that user by Active Directory.
Big fat disclaimer: Microsoft does NOT support ANY modifications to your SharePoint databases. That's not to say they won't support your SharePoint site, but if this operation breaks your server, Microsoft won't help you. I'm not responsible for the results, either, while we're on the subject of passing the buck. BACK UP YOUR DATABASE.
Okay, now that we've gotten that mumbo-jumbo out of the way, here's the code.
.coloredcode .cmt { color: #0f0; }
.coloredcode .cmtg { color: #666; }
.coloredcode .st { color: #f00; }
.coloredcode .kwdt { color: #666; }
.coloredcode .kwd { color: #00f; }
.coloredcode .attr { color: #f00; }
.coloredcode .attrv { color: #00f; }
.coloredcode .ec { color: #00f; }
.coloredcode .tag { color: #800000; }
.coloredcode .dir { color: #000; background: #FEFF22; }
.coloredcode .sel { color: #800000; }
.coloredcode .val { color: #00f; }
.coloredcode .unit { color: #800000; }
.coloredcode .sqlcmt { color: #008080; }
.coloredcode .sqlkwd { color: #00f; }
.coloredcode .sqlkwd2 { color: #f0f; }
.coloredcode .sqlkwd3 { color: #999; }
.coloredcode .sqlkwd4 { color: #800000; }
.coloredcode .num { color: #00f; }
.coloredcode .sqlst { color: #008000;}
DECLARE @login varchar(40), @systemid varbinary(128) DECLARE curUsers CURSOR LOCAL FOR SELECT tp_login, tp_systemid FROM userinfo where tp_deleted = 0 OPEN curUsers FETCH NEXT FROM curUsers INTO @login, @systemid WHILE @@FETCH_STATUS = 0 BEGIN PRINT 'Resetting user ' + @login + ' to new SID ' PRINT suser_sid(@login) UPDATE UserInfo SET tp_systemid = suser_sid(tp_login) WHERE CURRENT OF curUsers FETCH NEXT FROM curUsers INTO @login, @systemid END CLOSE curUsers DEALLOCATE curUsers GO 按照上面说的,到userinfo数据库执行脚本 接着重新启动服务器,发现问题已经解决了
相关文章推荐
- sybase数据恢复过程中遇到的问题
- 【数据恢复】利用构造ROWID实现无备份情况下绕过ORA-1578、ORA-8103、ORA-1410等逻辑/物理坏块问题
- 备份与数据恢复的存储过程
- 数据恢复过程中需要注意的一些问题
- RDS 备份文件的恢复和遇到的相关问题
- sqoop从mysql导入hdfs数据过程遇到的问题
- MSSQL备份与恢复数据存取过程
- 数据可视化过程中遇到的json转换及js执行顺序问题
- 【数据恢复】利用构造ROWID实现无备份情况下绕过ORA-1578、ORA-8103、ORA-1410等逻辑/物理坏块问题
- 在项目中遇到误删表中数据,如何恢复oracle数据库表中数据的恢复问题
- SQL导数据过程中遇到的问题
- ORACLE11g 没有控制文件如何通过rman备份恢复数据的详细实战过程
- Oracle备份恢复arcgis数据问题
- 数据收集-升级Nginx服务器,添加HTTPS过程中遇到的问题
- SQL Server利用日志备份恢复数据到时间点的问题
- 在开发过程中经常遇到是将数据封装成list还是map的问题
- rman恢复过程中遇到问题的总结
- Python数据提取过程中遇到的一些问题
- CDC抓取数据过程中所遇到的问题集合