公司项目开发源代码管理一直用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错误自动修复的更多相关文章

  1. [原创]Windows Server 2003 物理机转换为VMware虚拟机出现VSS错误的处理

    一台Windows Server 2003 物理机需要转换为VMware虚拟机,工具为Vmware vCenter Converter Standalone 6.0,转换开始就出现错误“FAILED: ...

  2. VSS错误:The Sourcesafe Web service cannot be accessed at the specified address

    第一次使用正常,今天再次打开vs项目的时候就突然连不上vss的服务器了.       手动修改连接的时候会让输入一个address(http的) (一般正常的连接会是浏览的方式找到服务器文件的地址的) ...

  3. Team Foundation 中的错误和事件消息

    Visual Studio Team System Team Foundation 中的错误和事件消息 Team Foundation 通过显示错误消息和事件消息来通知您操作成功以及操作失败.一部分错 ...

  4. eclipse工具的使用心得

    一.eclipse工具的使用 eclipse是一个开源的IDE,进行javaEE开发一般使用myeclipse插件比较方便 1. java代码的位置 1)选择工作空间workspace 选择一个文件夹 ...

  5. Linux 系统故障排查和修复技巧

    Linux 系统故障排查和修复技巧 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GRUB命令操作.Linux救援模式的故障修复案例帮助大家了解 ...

  6. Linux系统故障排查和修复技巧

    本文转自:http://os.51cto.com/art/201304/388384.htm 我发现Linux系统在启动过程中会出现一些故障,导致系统无法正常启动,我在这里写了几个应用单用户模式.GR ...

  7. javaweb笔记全套

    Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...

  8. javaweb笔记分享

    Lesson 1 一.eclipse工具的使用 1. java代码的位置 1) 选择工作空间 workspace  选择一个文件夹存放程序(代码) 不要用中文和空格 2) 新建一个java 工程(Pr ...

  9. HDFS介绍~超详细

    HDFS(Hadoop Distributed File System)   (1) HDFS--Hadoop分布式文件存储系统   源自于Google的GFS论文,HDFS是GFS的克隆版 HDFS ...

随机推荐

  1. Java数据类型中String、Integer、int相互间的转换

    1.Integer转换成int的方法 Integer i;  int k = i.intValue(); 即Integer.intValue(); 2.int转换成Integer int i; Int ...

  2. HDU 4310 Hero (贪心算法)

    A - Hero Time Limit:3000MS     Memory Limit:65536KB     64bit IO Format:%I64d & %I64u Submit Sta ...

  3. Linux下如何查找可执行文件

    Linux下的可执行文件 Linux下如何查找可执行文件,作为一个Linux小菜刚刚有了这个问题, 在windows中,可以通过后缀名判断是否是可执行文件,比如.exe,.bat等是可执行文件,但是在 ...

  4. 好久没弄了,来个最简的centos下的Iptables文件存照吧。

    有最基本的作用.. # Generated by iptables-save v1. :: *filter :INPUT ACCEPT [:] :FORWARD ACCEPT [:] :OUTPUT ...

  5. c++find函数用法

    头文件 #include <algorithm> 函数实现 template<class InputIterator, class T> InputIterator find ...

  6. cocos2dx游戏开发——微信打飞机学习笔记(八)——EnemyLayer的搭建

    一.创建文件= =               EnemyLayer.h               EnemyLayer.cpp Ps:我绝对不是在凑字数~. 二.How to do? (1)一些宏 ...

  7. CodeForces 433C Ryouko's Memory Note-暴力

                                             Ryouko's Memory Note Time Limit:1000MS     Memory Limit:262 ...

  8. 在JavaScript中,this关键字指什么?

    指向对象.window.方法. 例子1 function a(){//当前调用栈是a,因此a的调用位置是全局作用域 console.log('a'); b();// b的调用位置 } function ...

  9. Fibonacci Again

    Problem Description There are another kind of Fibonacci numbers: F(0) = 7, F(1) = 11, F(n) = F(n-1) ...

  10. mysql之对触发器的操作

    1. 为什么要使用触发器? 触发器与函数有些类似,都需要声明,执行.但是触发器的执行不是由程序调用,也不是由手工启动,而是由事件来触发,激活,从而实现执行. 当触发DELETE,INSERT,UPDA ...