Team Foundation Server 2015 Update3断电后出现Error 500及403.14错误求助
排查TFS 2015 Update 3意外断电后的500/403.14错误
这种意外断电搞出来的问题真的挺闹心的,不过好在TFS管理控制台还能正常显示,咱们可以从Web服务和TFS应用层的几个关键点一步步排查:
第一步:先检查IIS站点和应用池的基础状态
- 打开IIS管理器,找到TFS对应的站点(通常是
Default Web Site下的tfs应用,或者独立的TFS站点),确认它是已启动状态。如果没启动,右键点击启动试试。 - 检查站点的物理路径是否正确:右键站点→「管理网站」→「高级设置」,确认物理路径指向TFS安装目录下的Web内容(一般是
C:\Program Files\Microsoft Team Foundation Server 14.0\Application Tier\Web Services),别因为断电搞丢了路径或者权限变了。 - 盯紧TFS的应用池:找到对应应用池(一般叫
TFSAppPool),看它是不是正常启动着。如果启动后又崩溃,去「高级设置」里看进程模型的账户,确认是NT SERVICE\TFSService或者你之前配置的服务账户,这个账户得对TFS的Web目录和数据库有足够权限才行。
第二步:搞定HTTP 403.14 - Forbidden错误
403.14大多是IIS默认文档配置有问题,或者目录权限不对:
- 打开TFS站点的「默认文档」设置,看看
default.aspx、index.aspx这些TFS的核心默认页面在不在列表里,而且得排在前面。如果没有,手动加进去。 - 临时开一下目录浏览试试:右键站点→「目录浏览」→点击「启用」,然后再访问Web页面。要是好了,说明是默认文档的问题;要是还是不行,记得把目录浏览关掉,TFS本来就不需要这个功能。
- 用命令检查Web目录权限:管理员身份打开命令提示符,运行
icacls "C:\Program Files\Microsoft Team Foundation Server 14.0\Application Tier\Web Services",确认NT SERVICE\TFSService和IIS_IUSRS有读取和执行的权限。要是权限不对,就用这个命令补:icacls "C:\Program Files\Microsoft Team Foundation Server 14.0\Application Tier\Web Services" /grant "NT SERVICE\TFSService":(OI)(CI)RX
第三步:破解Error 500内部服务器错误
500错误是应用层的问题,得看详细日志才能定位:
- 先在IIS里开详细错误提示:打开TFS站点的「错误页」→双击500错误→选择「详细错误」,然后再访问TFS Web页面,这时候应该能看到具体的错误信息(比如数据库连不上、配置文件坏了之类的)。
- 去事件查看器找线索:打开「事件查看器」→「Windows日志」→「应用程序」,搜来源是
TFS Services或者ASP.NET 4.0.30319.0的错误事件,里面的异常堆栈能告诉你到底哪出问题了。 - 测试数据库连接:打开TFS管理控制台→「应用层」→「配置数据库」,点「测试连接」,确认能正常连到SQL Server。要是连不上,先看看SQL Server服务是不是没启动,再检查TFSService账户有没有数据库的访问权限。
- 修复web.config:有时候断电会把
web.config搞坏,先备份一下C:\Program Files\Microsoft Team Foundation Server 14.0\Application Tier\Web Services\web.config,然后从TFS安装介质里拿个干净的替换,或者找同版本的TFS服务器上的配置文件参考着改。
第四步:试试TFS自带的修复工具
要是上面的步骤都没搞定,就用TFS自己的工具来救场:
- 管理员身份打开命令提示符,导航到
C:\Program Files\Microsoft Team Foundation Server 14.0\Tools,运行TfsConfig repair,这个工具会自动检查TFS的配置和服务状态,修复常见问题。 - 还可以试试
TfsConfig rebuildindex,这个是重建索引的,主要针对仓库问题,但要是配置问题导致的500,说不定也有用——不过运行前记得先备份数据库!
内容的提问来源于stack exchange,提问作者TheProvost
相关产品推荐
相关产品推荐

