TFS数据库分离附加经验总结
因TFS数据库已经100多G,所在的服务器D盘已没有空间满足tfs数据库的增长速度,故必须分离复制到其它盘。在分离过程中,先后分离了ReportServer、ReportServerTempDB、Tfs_Warehouse、TfsWarehouse、WSS_Config、WSS_Content数据库。
就在分离了Tfs_Configuration数据库后,再想分离Tfs_DefaultCollection这个主库时,报“数据库无法登录”的错误,当时我就懵了,等反应过来才想到,难道这个是tfs的默认登录数据,赶紧打开tfs控制台发现tfs数据库层的连接字符串如下所示:
Data Source=TFS-SERVER;Initial Catalog=Tfs_Configuration;Integrated Security=True
果然如此,默认数据库就是Tfs_Configuration。现在后悔也没办法了,谁让刚睡醒就加班,脑子都是浆糊。接着就是赶紧想各种办法,进行了以下尝试:& r( P9 c3 o2 X& Z
1.使用tfsconfig 命令:该命令用于管理服务器配置.
在使用该命令的过程中,先后尝试了recover、repair、RegisterDB、PrepSql等命令,均在执行过程中,报“tfs 无法连接到数据库库”的错误。以前也没用过该命令,看来tfsconfig的命令都是在Tfs_Configuration数据库连接正确的情况下执行的,通过更改数据库信息来进行服务器配置。
2.使用sql脚本
但是尝试了几次都不行,连数据库都登录不进去,脚本也无法执行。
3求救数据库专家
均表示不了解tfs,而且sql数据库都登录不进去了,也无法进行操作了。
最后我崩溃了,难道要重装tfs,这个工作量可不是一般的大啊,本来周末已经累得跟狗似的,再通宵加班,娃咋办啊。没办法,只能先休息一下,跟我家小南北玩了一会回来继续尝试解决方案。看了一下SSMS的登录选项,点击如下所示:
以前没用过这个连接参数,但是看下面的“注:连接字符串参数将覆盖其它面板上的图形选择”,突然灵光一现,那我将连接字符串的默认数据库改成master(系统数据库)试试。然后我将以下连接字符串填到文本框,如下所示:
Data Source=TFS-SERVER;Initial Catalog=master;Integrated Security=True
点击连接,正如所想进入数据库了,而且tfs所有数据库都能看到,就差1个Tfs_Configuration数据库。然后顺其自然地点击界面“附加数据库”,但是不幸的事情又发生了,报“无法连接默认数据库,账号无法登录“的错误。又完蛋了,这无法附加上去,tfs根本使用不了啊,还是只有重装啊。又开始解决如何附加数据库,既然界面不行,那这次登录进来通过脚本执行应该行吧,尝试以下附加命令,阿弥陀佛,附加成功,客户端访问一下TFS,OK,跟以前一样。
- EXEC sp_attach_db @dbname = N'dbname',
- @filename1 = N'数据库路径,
- @filename2 = N'日志路径;
兴奋不再重装的时候,回到服务端,想通过sa进行tfs数据库继续最后一个主库的界面分离操作,结果还是无法登录到TFS数据库,点击所有右键菜单都会报错,真是一波未平一波又起啊,怎么问题一个接一个,那就继续解决吧。既然sa不行,可能是因为它的默认数据库也是Tfs_Configuration,如何才能更改sa的默认数据库呢,还是通过脚本?但是设置默认数据库不敢随便尝试啊,之前没用过这命令,怎么办呢?那就再新增一个系统管理员呢?再通过另一个管理员账号登录进行设置sa的默认数据库,这样操作肯定靠谱点。最后执行以下脚本:EXEC sp_addsrvrolemember n'test', 'sysadmin') u- ^% F! }4 f
复制代码将目前sql中已有的1个test账号提升为管理员角色,最后通过test登录,再在”安全性“里面设置sa和windows administrator的默认数据库为Tfs_Configuration,测试一下所有操作,完全正常,终于解决了所有问题。
整个过程真的很焦心啊,怕万一不行,整个周末就完蛋了,而且如果重装tfs,恢复100多个G的数据肯定也会遇到各种问题,就影响大家的工作了。我现在最庆幸的决定是:问题肯定能解决,不到万不得已,一定不能重装TFS!
TFS数据库分离附加经验总结的更多相关文章
- SQL Server 数据库分离与附加
一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即 ...
- 2017-3-17 SQL server 数据库 视图,事务,备份还原,分离附加
1.视图:只能查看,不能增删改不能有重复列 create view 名字as查询语句 2.事务:保证流程的完整执行 begin tran --开始事务监控 被监控的代码 ... ...if @@ERR ...
- SQL server 数据库(视图、事物、分离附加、备份还原))
ql Server系列:视图.事物.备份还原.分离附加 视图是数据库中的一种虚拟表,与真实的表一样,视图包含一系列带有名称的行和列数据.行和列数据用来自定义视图的查询所引用的表,并且在引用视图时动态 ...
- SqlServer数据库分离与附加
SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复方法.这里介绍一种学习中常用的“分离/附加”方法,类似于大家熟悉的“文件拷贝”方法,即把数据库文 ...
- SQL Server 数据库分离与附加(图文教程)
from:http://www.jb51.net/article/36624.htm 一.概述 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库.复制数据库等多种数据库的备份和恢复 ...
- 微软虐我千百遍——记一次比较漫长的TFS数据库迁移
起因 七月三日早晨刚到公司,同事就跟我讲TFS开始返回 TF30042错误,报告数据库已满.按照处理问题的第一直觉,我上bing的英文网站搜了一下,发现是部署TFS的时候使用的SQL Express限 ...
- (4.20)sql server分离附加操作
关键词:sql server分离.sql server附加.分离附加.sql server附加分离 [0].数据库分离.附加的说明 SQL Server提供了“分离/附加”数据库.“备份/还原”数据库 ...
- MS SQL Server 数据库分离-SQL语句
前言 今天在在清理数据库,是MS SQL Server,其中用到分离数据库文件.在这过程中,出现了一个小小的问题:误将数据库日志文件删除了,然后数据就打不开了,除了脱机,其他操作都报错. 数据库分离 ...
- 一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011
一个兼职DBA的数据库运维经验 小米科技 xx@xiaomi.com 2011 内存扩容 16G->64G ,调大bp后,凌晨说监控物理内存有余量情况下,开吃swap,内存泄露措施1 定时 ...
随机推荐
- Ubuntu系统多屏显示
Ubuntu系统多屏显示参见: 第一个为笔记本屏幕,第二个为外接屏幕 http://www.linuxidc.com/Linux/2014-06/103677.htm http://www.linux ...
- CPython里的GIL
GIL不是Python特性,是CPython解释器特性,因为CPython有垃圾回收机制. GIL 本质是互斥锁,保护解释器安全. 保证线程安全,垃圾回收线程不会和其他线程一起运行. 多个线程不能实现 ...
- java 中判断字符串相等
今天写Java代码时遇到一个问题,就是关于判断两个字符串是否相等的问题.(刚尝试用SSH框架) 在大多编程中,通常比较两个字符串是否相同的表达式是“==”,但在java中不能这么写.在java中,用的 ...
- 用Go语言异常机制模拟TryCatch异常捕捉
有的同学看到Go和TryCatch一起出现,心里可能会说,难道Go语言升级了,加入了try...catch语句.哈哈,其实Go语言从创建之初就没打算加入try...catch语句,因为创建Go的那帮大 ...
- hdu1158【DP】
题意: 第一行项目数: 第二行每个工人的Hire Salary Fire money 第三行每个项目需要的人的数量: 工人在hire/fire的时候要付出额外的钱,如果已经hire了还没有fire就一 ...
- jq weui 滚动加载的坑
1.一般情况下使用官网给个demo就可以了,如下: var loading = false; //状态标记 $(document.body).infinite().on("infinite& ...
- word2vec改进之Negative Sampling
训练网络时往往会对全部的神经元参数进行微调,从而让训练结果更加准确.但在这个网络中,训练参数很多,每次微调上百万的数据是很浪费计算资源的.那么Negative Sampling方法可以通过每次调整很小 ...
- one jar(转)
http://blog.csdn.net/kabini/article/details/1598827
- C - Aladdin and the Flying Carpet
#include<bitset> #include<map> #include<vector> #include<cstdio> #include< ...
- jsp内置对象分析
1.html表单的提交方式比较: 1.1.get方式:将表单内容经过编码之后 ,通过URL发送, 使用get方式发送时有255个字符的限制. 1.2.post方式:将表单的内容通过http发送,pos ...