VSS写入缓存失败的解决方法

来源:互联网 发布:java嵌入式开发是什么 编辑:程序博客网 时间:2024/06/09 20:05

一、故障描述:
由于目前项目组所在的网络不稳定,常常导致vss在获取最新、签入、签出时出现"找不到网络"的错误,如果在签入时出现网络故障,就会抛出"写入缓存失败"的错误信息。
二、尝试解决:
1、以admin登录vss,会提示需要序列化,点击"analyze now"就开始序列化,序列化结束后,会给出一个修复命令行,"D:/Program Files/Microsoft Visual SourceSafe/analyze.exe" -F -D "d:/sourcesafe/data",运行此命令,出现如下结果:

Visual SourceSafe Analyze Version 8.0
Copyright (C) Microsoft Corporation. All rights reserved.

Database analysis in progress @ 09-09-10;11:42.
File d:/sourcesafe/data/status.dat is already open
Cannot rebuild the database while Visual SourceSafe is being run. Make sure all users have exited SourceSafe and try again.
Analysis complete @ 09-09-10;11:42

数据库正在使用,不能进行序列化。
2、运行命令:"D:/Program Files/Microsoft Visual SourceSafe/analyze.exe" /?

用法:analyze[选项]
-b 指定的文件夹用于备份。
-c 压缩未使用的空间。
-d 删除未使用的项目。
-db 删除备份。
-dc 不显示常规消息(当有损坏的物理文件名)。
-df 不进行可用空间检查。
-dw Run SourceSafe 2005 reference checking only.
-f 自动修复损坏的文件。
-fl 自动修复损坏的文件,然后重新建立标签缓存。
-fp 自动修复损坏的文件,并且删除无效命名物理文件。
-i- 分析完成自动退出。
-refe6 Run SourceSafe 6 reference checking instead of SourceSafe 2005 reference checking.
-s 慢速重建项目(速度较慢,但更严格的扫描子项目)。
-x 运行时不要锁定数据库。如果 -X被指定,则 -C,-D,-F将不起作用。
-v1 仅显示关键错误。
-v2 只显示重大的错误。
-v3 显示所有的错误和差异。
-v4 显示错误,差异和信息说明。

以上帮助是我翻译过的,可能不够准确,意思八九不离十,凑合着看吧(本人强烈抗议国家将外语提高到和语文数学同等级别的做法,外语应该和计算机机一个级别的)

三、解决方案
rd /s /q D:/SourceSafe/data/backup
"D:/Program Files/Microsoft Visual SourceSafe/analyze.exe" -F -D -i- "d:/sourcesafe/data"

命令中的VSS安装路径自己修改,将以上两段命令保存成FixVss.bat,然后在计划任务里设置每半小时执行一次,这样缓存写入出错的概率大大降低

 

原创粉丝点击