本文出自 CSDN ,原文地址 , 转载请注明出处,CSDN保留追究版权责任的权利
如果你使用TFS2010作为源代码管理,并且你使用的是TFS基本功能,并且使用了SqlExpress 作为源代码管理的数据库,
那么你有必要看看。
去年在架设TFS时,为了贪图简单,安装完TFS之后没有安装SQl2008,使用了TFS的基本功能,因为也只有基本功能就够用了
终于在今年尝到了苦果。
频繁的签入签出代码,SqlExpress现有的数据库达到了4G大小,最近一次签入频繁出现错误“数据库已满”,无论怎样清理数据库
都坚持不了多久。
解决思路来源于TFS所罗列出来的参数信息,有一个数据库连接字符串指向了SqlExpress,然而SqlExpress有文件大小限制,但是
sql2008数据库引擎本身没有限制,如果按照了一个SQL2008的企业版本的数据库引擎新实例,名称就是SqlExpress不就可以欺骗
过去,直接使用基本功能,并且没有限制文件大小了?尝试后真的可行
解决办法分几个步骤
- 找到TFS的数据库,停止SqlExpress服务,将数据完整备份到安全的地方
- 卸载SqlExpress
- 卸载TFS
- 安装Sql2008数据库引擎(本人用的是企业版)的一个新实例,并命名实例名称为SqlExpress
- 用企业管理器附加之前备份好的TFS数据库
- 重新安装TFS进行配置
- 配置时选择“应用层专用”
- 启动向导后选择实例名称为 SqlExpress,列出数据库,如果顺利的话会列出现有数据库,并且下一步按钮就可以点击了,
如果不顺利会提示要用TFSConfig Accounts /add配置账号,那么用命令行到TFS工具目录(我的服务器是在C:\Program Files\Microsoft Team Foundation Server 2010\Tools目录下,不同的安装可能目录不同)
- 用命令行运行 下面两行命令:
TFSConfig Accounts /add /AccountType:ApplicationTier /Account:"NT Authority\Network Service" /SQLInstance:localhost\SqlExpress /DatabaseName:Tfs_Configuration
TFSConfig Accounts /add /AccountType:ApplicationTier /Account:"localhost\administrator" /SQLInstance:localhost\SqlExpress /DatabaseName:Tfs_Configuration
如果你修改了管理员的名称,那么第二个命令的administrator要相应变更,如果用localhost不行的话,就尝试使用服务器名
- 重新列出数据库,没有提示问题了之后就可以配置了
配置完成之后,在生成的IIS网站中,把端口号修改成原来的端口号就可以了