设为首页 收藏本站
查看: 2284|回复: 0

[经验分享] SharePoint 2010创建网站无法访问 HTTP 404错误

[复制链接]
发表于 2019-2-4 06:14:18 | 显示全部楼层 |阅读模式
  服务器环境:
  Windows Server 2008 R2 x64操作系统,SQL Server 2008 R2 x64操作系统,Sharepoint Server 2010
  问题描述:
  SharePoint 2010服务器上创建的网站在某一天无法访问,错误提示HTTP 404错误,但是Sharepoint 2010管理中心可以正常登陆, 与此网站同一级的其他网站可以正常访问。
  查错:
  1.首先,Sharepoint 2010管理中心可用,同级网站可用,Sharepoint 2010 server端出现问题不大。
  2.其次,一般网站访问不到,会想到是不是IIS出现问题,于是查看IIS,所建立好的网站在IIS中正常运行,从启IIS并没有修复问题。
  3.最后,查看数据库文件,因为其他网站可以正常访问而其不能正常访问的情况下,可能是数据库出现问题,果真,发现了问题,名位WSS_Content的一个数据库上面多了一个问号,表示数据库被标记为可疑。这个可疑的数据库就有可能是出问题的数据库,所以从这里着手去做。问题如图1

图1

  解决办法:
  由于是在服务器上做操作,所以为了防止出现数据库不可恢复的操作,先对出问题的数据库进行备份,备份好之后进行数据库修复。
  日常对数据库进行操作时,有时对数据库进行些不正常操作(如数据库在读写时而无故停止数据库)时会导致数据库不正常中断,而导致数据库文件不能正常被使用,有时会被标记为“可疑”(suspect),即在数据库名旁加上了黄色的惊叹号,这时数据库就不能再被打开了,但数据库的结构及数据内容都还是存在的。

  当数据库发生这种操作故障时,按如下操作步骤可解决此问题,打开数据库里的查询编辑器窗口,运行以下的命令。
  
1、修改数据库为紧急模式
        ALTER DATABASE *** SET EMERGENCY(其中星号代表出问题的数据库名称)
  含义为修改数据库***设置为紧急模式。
  2、使数据库变为单用户模式
  ALTER DATABASE *** SET SINGLE_USER
  含义为修改数据库为单用户使用模式
       注:如果在使用命令修改不成功,可以选择其他方式。选中出问题的数据库,右键——>属性——>选项——>状态下的限制接入,修改为单用户即可。如图2所示

图2

  3、修复数据库日志重新生成,此命令检查的分配,结构,逻辑完整性和所有数据库中的对象错误。当您指定“REPAIR_ALLOW_DATA_LOSS”作为DBCC CHECKDB命令参数,该程序将检查和修复报告的错误。但是,这些修复可能会导致一些数据丢失。
  DBCC CheckDB(***,REPAIR_ALLOW_DATA_LOSS)
  命令执行完成后可能会出现以下警告:
  警告: 数据库 'Sharepoint_Config' 的日志已重新生成。已失去事务的一致性。RESTORE 链已断开,服务器不再有以前的日志文件的上下文,因此您需要了解它们的内容。应运行 DBCC CHECKDB 验证物理一致性。数据库已置于 dbo-only 模式。在准备使数据库可用时,需要重置数据库选项,并删除所有多余的日志文件。
  此时可以不用理会此警告,关闭Microsoft SQL Server Management Studio。
  4、重新打开Microsoft SQL Server Management Studio,使数据库变回为多用户模式
  ALTER DATABASE *** SET MULTI_USER
       使用此命令有可能会出现以下问题:
  消息 5064,级别 16,状态 1,第 1 行
     此时无法更改数据库 ‘****’ 的状态或选项。
  此数据库处于单用户模  式,当前某个用户已与其连接。
    消息 5069,级别 16,状态 1,第 1 行
    ALTER DATABASE 语句失败。
  重启SQL服务后仍行不通。
  此时,可采用以下方法:执行以下命令


USE master;
GO
  

DECLARE @SQL VARCHAR(MAX);
SET @SQL=''
SELECT @SQL=@SQL+'; KILL '+RTRIM(SPID)
FROM master..sysprocesses
WHERE dbid=DB_ID('****_MSCRM');
EXEC(@SQL);
GO


ALTER DATABASE ****_MSCRM SET MULTI_USER;


  是在Alter语句执行之前,先执行了一个KILL Process的命令。而第一个方法之所以不能成功,应该也就是SQL的某个进程还在运行中,没有被终止,所以对****数据库做的任何操作都因为那个进程的Lock的存在而失败。在第一个帖子中,楼主也分享了他的方法:“查看监视器中的进程,把与目的库有关的KILL掉,然后刷新一下。”只是不知这个操作怎么去做。如果再笨一点,可以重启SQL  Server所在的服务器,这样应该也可以达到目的。
  5、从启SQLServer服务。
  最后,再次打开数据库时被标记为“可疑”的数据库已恢复正常状态。

  最终,Sharepoint网站无法访问的问题最终解决了。





运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-671464-1-1.html 上篇帖子: 提高 SharePoint 页面访问速度之清理SharePoint Configuration Cache 下篇帖子: 透过Sharepoint 2010 使得大家在时间上更好的配合
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表