VSS错误自动修复
公司项目开发源代码管理一直用vss,从vss6.0用到vss8.0(vss2005),在近两年的试用中碰到一些大大小小的问题:
1:vss服务迁移,这个比较好办,直接将整个vss目录拷贝过去,加上相应的权限就行了
2:vss错误修复,
由于各种原因(vs出错,vs强行结束,网络错误,vss服务器异常启动,关机等),1个工作日下来,vss服务或多或少的总有一些问题,vss出了错误后,从vs中打开程序有时候会很慢或异常,所以必须要修复。由于对vss了解肤浅,处理这个问题也经历了几个阶段
a、运行 Microsoft Visual SourceSafe Administration 后,如果有错误,会提示需要检查修复,一般就用这个检查下。
运行时间:不定期
其实这里面有问题,它应该只是检查了错误,而没有修复错误。
b、手动运行批处理文件修复
a方法每次都需要人工去运行挺麻烦,就做了1个批处理文件。点击执行就可以了。批处理文件内容如下:
"c:\Program Files\Microsoft Visual SourceSafe\analyze.exe" -f e:\vss\data
用法就不具体解释了,可以在dos命令下查看analyze.exe的使用说明
运行时间:1周1次,需要确保所有用户都没有使用vss
c、自动运行修复
用了AutoMate(定时执行任务的工具,比较好用,功能很强大)来自动运行vss修复任务
运行时间:1周几次,设置在凌晨1:00运行(具体看各自情况)
但运行了几个月后,最近发现1点问题,修复失败了,错误如下:
Visual SourceSafe Analyze Version 8.0
Copyright (C) Microsoft Corporation. All rights reserved.
Database analysis in progress @ 07-10-06; 8:11.
File e:\vss\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 @ 07-10-06; 8:11
但检查用户确没有发现有用户连接vss。google下之后,没有找到好的办法,只好将vss服务重启了下,就不报这个错误,就能正常修复了。估计是缓存原因引起的。
找到问题后,将自动运行的批处理文件内容做了一些修改,停止vss服务,修复vss,启动vss服务,批处理内容如下
net stop ssservice
"c:\Program Files\Microsoft Visual SourceSafe\analyze.exe" -f e:\vss\data
net start ssservice
经运行证实可行。 但还有个问题,如果分析的过程中异常了,vss服务将不能启动,所有做个调整,重启vss服务后,再修复,批处理文件内容如下:
net stop ssservice
net start ssservice
"c:\Program Files\Microsoft Visual SourceSafe\analyze.exe" -f e:\vss\data
最后强调一点:修复vss的时间,一定要再vss使用闲时,因为vss修复时vss不能提供服务。
附注:
几篇参考文章:
http://www.cnblogs.com/kaima/archive/2007/06/26/693268.html
http://www.cnblogs.com/LeeWenjie/archive/2006/11/24/509498.html
http://www.cnblogs.com/RChen/archive/2006/01/12/315861.html
http://support.microsoft.com/kb/279191/zh-cn
VSS错误自动修复的更多相关文章
- [原创]Windows Server 2003 物理机转换为VMware虚拟机出现VSS错误的处理
一台Windows Server 2003 物理机需要转换为VMware虚拟机,工具为Vmware vCenter Converter Standalone 6.0,转换开始就出现错误“FAILED: ...
- VSS错误:The Sourcesafe Web service cannot be accessed at the specified address
第一次使用正常,今天再次打开vs项目的时候就突然连不上vss的服务器了. 手动修改连接的时候会让输入一个address(http的) (一般正常的连接会是浏览的方式找到服务器文件的地址的) ...
- Team Foundation 中的错误和事件消息
Visual Studio Team System Team Foundation 中的错误和事件消息 Team Foundation 通过显示错误消息和事件消息来通知您操作成功以及操作失败.一部分错 ...
- eclipse工具的使用心得
一.eclipse工具的使用 eclipse是一个开源的IDE,进行javaEE开发一般使用myeclipse插件比较方便 1. java代码的位置 1)选择工作空间workspace 选择一个文件夹 ...
- Linux 系统故障排查和修复技巧
Linux 系统故障排查和修复技巧 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解 ...
- Linux系统故障排查和修复技巧
本文转自:http://os.51cto.com/art/201304/388384.htm 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GR ...
- javaweb笔记全套
Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace 选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...
- javaweb笔记分享
Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace 选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...
- HDFS介绍~超详细
HDFS(Hadoop Distributed File System) (1) HDFS--Hadoop分布式文件存储系统 源自于Google的GFS论文,HDFS是GFS的克隆版 HDFS ...
随机推荐
- Java数据类型中String、Integer、int相互间的转换
1.Integer转换成int的方法 Integer i; int k = i.intValue(); 即Integer.intValue(); 2.int转换成Integer int i; Int ...
- HDU 4310 Hero (贪心算法)
A - Hero Time Limit:3000MS Memory Limit:65536KB 64bit IO Format:%I64d & %I64u Submit Sta ...
- Linux下如何查找可执行文件
Linux下的可执行文件 Linux下如何查找可执行文件,作为一个Linux小菜刚刚有了这个问题, 在windows中,可以通过后缀名判断是否是可执行文件,比如.exe,.bat等是可执行文件,但是在 ...
- 好久没弄了,来个最简的centos下的Iptables文件存照吧。
有最基本的作用.. # Generated by iptables-save v1. :: *filter :INPUT ACCEPT [:] :FORWARD ACCEPT [:] :OUTPUT ...
- c++find函数用法
头文件 #include <algorithm> 函数实现 template<class InputIterator, class T> InputIterator find ...
- cocos2dx游戏开发——微信打飞机学习笔记(八)——EnemyLayer的搭建
一.创建文件= = EnemyLayer.h EnemyLayer.cpp Ps:我绝对不是在凑字数~. 二.How to do? (1)一些宏 ...
- CodeForces 433C Ryouko's Memory Note-暴力
Ryouko's Memory Note Time Limit:1000MS Memory Limit:262 ...
- 在JavaScript中,this关键字指什么?
指向对象.window.方法. 例子1 function a(){//当前调用栈是a,因此a的调用位置是全局作用域 console.log('a'); b();// b的调用位置 } function ...
- Fibonacci Again
Problem Description There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) ...
- mysql之对触发器的操作
1. 为什么要使用触发器? 触发器与函数有些类似,都需要声明,执行.但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发,激活,从而实现执行. 当触发DELETE,INSERT,UPDA ...