原文:TFS:TF30042 数据库已满 处理方法

今天早上,公司打来电话,说TFS(Team Foundation Server)微软源代码管理软件签入不了,报错:TF30042 数据库已满。

经过差不多半个小时的处理,基本上好了,再次总结一下:

根据提示,我先检查磁盘空间,发现都有几十G(公司的TFS数据库比较大,光压缩备份就有20G以上),足够用来备份。

检查完硬盘空间后,接着检查数据库空间,发现日志文件的确满了,按照常规思路,做了一次日志备份。正常来说,这已经能清空日志了。但是发现还是不行。为此也头疼了一下。看看恢复模式,是完整的,然后我就换成大容量日志,其实这一步我觉得有点多余,因为作为源代码管理,频繁签出签入是很正常,但是几乎没有大容量插入的,所以换这个模式作用不大,只是作为“试探性”的动作而已。

后来看到网上的提示说检查一下SQLServer的错误日志,再次说明一下,很多DBA书籍上对问题检查都是这样的顺序:1、检查windows错误日志;2、检查SQLServer的错误日志然后再去做对应的处理。我由于经验不足,直接跳过了,反倒是问题处理延缓了。在检查了错误日志后,的确发现一些有用信息:

根据【消息】,我去数据库用以下代码查询:

SELECT name, log_reuse_wait_desc FROM sys.databases  where
log_reuse_wait_desc = 'Replication'

发现只有一条记录,就是我的TFS数据库:Tfs_HKITCollection。然后到MSDN上查。发现Replication这个状态是因为还原了某些发布的数据库或者没有正确移除而导致的,而我的服务器上没有任何复制数据库,但在我接手之前我就不清楚了。还是先解决问题

执行:

sp_removedbreplication '指定数据库'

根据联机丛书对这个存储过程的解释:

只有当其他删除复制对象的方法都失败后,才应当使用此过程。

执行完后,在查询上面的语句:
SELECT name, log_reuse_wait_desc FROM sys.databases  where name='Tfs_HKITCollection'

发现log_reuse_wait_desc这一列已经变回log backup,证明处理成功,然后我再做一次日志备份。数据库TFS就可以访问了。

到此为止,问题算是处理完毕。另外,如果有必要,可以收缩一下数据库。

补充一些相关知识:
--检查当前数据库是否可以用于复制,1 = TRUE,0 = FALSE,可以更改DB_NAME()来检查其他数据库。2008之前不知道可否使用。
SELECT DATABASEPROPERTYEX ( DB_NAME() , 'IsPublished' )

至于复制,超过本文范围,本文主要记录处理心得,希望有同样情况的人能得到解决,也作为自己的一个记录。


TFS:TF30042 数据库已满 处理方法的更多相关文章

  1. sql 2008数据事务日志已满处理方法

    突然发现sql 2008出现错误:数据库 'mybase_db' 的事务日志已满.若要查明无法重用日志中的空间的原因,请参阅 sys.databases 中的 log_reuse_wait_desc ...

  2. linux inode已满解决方法

    今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. df -h Filesystem Size Used Av ...

  3. SQL SERVER2005事务日志已满 解决方法

    DUMP TRANSACTION 数据库名称 WITH NO_LOG alter database 数据库名称 set recovery simple 3.右键你要压缩的数据库--所有任务--收缩数据 ...

  4. 【DB2】数据库的事务日志已满。SQLSTATE=57011

    问题描述 在使用数据库的时候报错如上图,我们先使用db2 get db cfg for sample查看相关配置参数,其中sample为数据库名称 C:\Users\Thinkpad>db2 g ...

  5. 未能为数据库 '*'中得对象'*'分配空间,因文件组'PRIMARY'已满

    服务器使用mssqlserver2005,最近经常出现无法新增信息错误,查看日志,发现严重错误提示,内容大致为: 无法为数据库 'weixin_main' 中的对象 'dbo.wx_logs'.'PK ...

  6. (转)SQL SERVER 日志已满的处理方法

    本文转载自:http://www.cnblogs.com/eycbest/archive/2012/01/04/2311567.html 事务日志文件Transaction Log File是用来记录 ...

  7. SQL SERVER 日志已满的处理方法 (转)

    事务日志文件Transaction Log File是用来记录数据库更新情况的文件,扩展名为ldf.在 SQL Server 7.0 和 SQL Server 2000 中,如果设置了自动增长功能,事 ...

  8. DB2报“数据库日志已满”问题解决

    用控制中心直接改会比较容易一点,在数据库名称上点右键-->配置-->日志-->日志文件大小.主日志文件数.辅助日志文件数改大一点. 也可用命令行db2cmd db2 update d ...

  9. 数据库的事务日志已满,起因为"LOG_BACKUP"。

    问题描述: 数据库的事务日志已满,起因为"LOG_BACKUP". 问题截图: 解决方法: 1).选择数据库–属性—选项—恢复模式–选择简单.2).收缩数据库后,再调回完整. US ...

随机推荐

  1. Effective C++:条款28:避免返回 handles 指向对象内部成员

    (一) 有时候为了让一个对象尽量小,能够把数据放在另外一个辅助的struct中,然后再让一个类去指向它.看以下的代码: class Point { public: Point(int x, int y ...

  2. 意外地解决了一个WPF布局问题

    原文:意外地解决了一个WPF布局问题 今天做了一个小测试,意外地将之前的一个困扰解决了,原问题见<WPF疑难杂症会诊>中的“怎么才能禁止内容撑大容器?” 以前我是在外侧嵌套Canvas容器 ...

  3. js中 正則表達式

    正則表達式使用具体解释 简单介绍 简单的说,正則表達式是一种能够用于模式匹配和替换的强有力的工具.其作用例如以下: 測试字符串的某个模式.比如,能够对一个输入字符串进行測试,看在该字符串是否存在一个电 ...

  4. 训练赛 Grouping(强连通分量缩点 + DAG求最长路)

    http://acm.sdut.edu.cn:8080/vjudge/contest/view.action?cid=158#problem/F 大致题意:给出n个人和m种关系(ti,si),表示ti ...

  5. bestcoder Round#52 1001(最短路+状压dp)

    求从1点出发,走遍所有的点,然后回到1点的最小代价. 每个点可以走若干遍. 如果每个点只能走一遍,那么设dp[i][s]为走完s状态个点(s是状态压缩),现在位于i的最小花费. 然后枚举从哪个点回到原 ...

  6. Xamarin:制作并发布apk

    原文:Xamarin:制作并发布apk 终于到了激动人心的时刻:要向真机发布apk了.流程如下: 1 制作release版的android应用安装包apk文件: 1.1 用VS2012中文版制作:记得 ...

  7. Windows Phone开发(38):动画之PointAnimation

    原文:Windows Phone开发(38):动画之PointAnimation PointAnimation也是很简单的,与前面说到的两个Animation是差不多的,属性也是一样的,如By.Fro ...

  8. Galaxy (hdu 5073 数学)

    Galaxy Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others) Total S ...

  9. InputStreamReader 和 OutputStreamWriter类使用方法简单介绍,及演示。

    InputStreamReader 和 OutputStreamWriter类使用方法简单介绍. 一.InputStreamReader类 InputStreamReader 将字节流转换为字符流.是 ...

  10. 什么是比特币(Bitcoin)?

    比特币是一种类型的电子货币.点对点(P2P)网络跟踪和验证交易.比特币系统不涉及金融机构,因此它不需要中央监控单元以控制该货币.它可以利用网络作为现金. 比特币系统 比特币是在处理称为区块(block ...