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

原文: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' )

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

时间: 2024-12-03 12:27:15

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

SQL数据库日志已满解决方法

当前的解决方法是:把硬盘上的其他文件删除,以空出硬盘空间,将数据库的日志文件大小改成无限制,然后分离数据库,要确保分离成功,.然后把数据库日志文件删除(最好是先改名,以防万一).再附加数据库,这样会重建日志文件. 加回去之后,将数据库改成自动收缩,把日志文件改成按mb增长,增长最大设为一个固定的值,值的大小看数据处理情况,存在大指的update操作的话,应设为大一点. 在查询分析器上操作: 清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 截断事务日志: BACKUP L

SQL数据库日志已满解决方法_MsSql

当前的解决方法是:把硬盘上的其他文件删除,以空出硬盘空间,将数据库的日志文件大小改成无限制,然后分离数据库,要确保分离成功,.然后把数据库日志文件删除(最好是先改名,以防万一).再附加数据库,这样会重建日志文件. 加回去之后,将数据库改成自动收缩,把日志文件改成按mb增长,增长最大设为一个固定的值,值的大小看数据处理情况,存在大指的update操作的话,应设为大一点. 在查询分析器上操作: 清空日志 DUMP TRANSACTION 库名 WITH NO_LOG 截断事务日志: BACKUP L

5s手机升级ios7.1.2越狱后储存容量已满解决方法

问题显示 苹果5s升级到ios7.1.2之后你再越狱的话你会看到屏幕有提示 储存容量已满这个问题,那么此问题要如何来解决呢. 具体解决方法如下: 在设备成功越狱后点击"cydia",等待运行完成即可解决.不过第一次打开时加载时间会比较长,请耐心等待. 如果上面办法解决不了我们可以删除苹果手机中一些相册,铃声,电影文件呀 如:删除铃声方法 1.首先打开苹果5s主屏上的"音乐"应用, 2.然后点击音乐的"歌曲"栏目,可以看到所有音乐, 3.接下来用手

iTunes备份空间不足怎么办?iTunes备份提示磁盘已满解决方法

清理磁盘 1. 我们进入我的电脑或资源管理器中,然后右击C盘在弹出点击"属性" 进入. 2.然后系统自行检测垃圾扫描之后我们点击清除再点击"确定"按钮,如图所示 3.然后我们在弹出确认删除我们删除"删除文件"按钮继续,如图所示 4.等待系统清理垃圾文件,如图所示 5.随后再打开 iTunes 操作,看看是否还会提示磁盘空间不足. 更改 iTunes 设置 1.iTunes 存放媒体文件的位置 我们在itunes的打开界面点击"偏好设置&

DB2数据库文件系统已满的解决方法

错误案例: 在AIX系统的DB2数据库中创建大小为20G的表空间,具体的SQL如下: create REGULAR TABLESPACE HTDC_DATA PAGESIZE 8 K MANAGED BY DATABASE USING ( FILE '/db2_tag/TABLE_SPACES/HTDC_DATA/HTDC_DATA.dat' 20G) EXTENTSIZE 16 OVERHEAD 10.67 PREFETCHSIZE 16 TRANSFERRATE 0.04 BUFFERPOO

SQL Server数据库日志已满的解决方法

Server Error in '/' Application.</pre><pre>--------------------------------------------------------------------------------</pre><pre> 数据库教程 'databasename' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 出现如上错误,请把数据库的故障恢复模式改为"简单"模式 , 即可解决 此

SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案_MsSql

执行sql 语句,中间没有用到临时表 提示服务器: 消息 9002,级别 17,状态 2,行 1 数据库 'tempdb' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限. 在网上Google了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了. 直接把tempdb的数据文件和日志文件的大小改为3000M, 问题解决. 记录一下清空日志的命令

SqlServer数据库提示 “tempdb” 的日志已满 问题解决方案

执行sql 语句,中间没有用到临时表 提示服务器: 消息 9002,级别 17,状态 2,行 1 数据库 'tempdb' 的日志已满.请备份该数据库的事务日志以释放一些日志空间. 网上找了下解决方案,大体是扩大临时库的日志文件的大小解决的 解决过程: 查看了下数据库的属性,是自动增长,不指定文件大小上限. 在网上Google了很久,试了些方法都不行:数据库所在磁盘还有很大的可用空间,试着下重药了. 直接把tempdb的数据文件和日志文件的大小改为3000M, 问题解决. 记录一下清空日志的命令

详解Linux系统中inode索引节点已满问题的解决方法

  今天login server的一个网站,发现login后没有生成session.根据以往经验,一般是空间已满导致session文件生成失败. 代码如下: df -h 代码如下: Filesystem Size Used Avail Use% Mounted on /dev/mapper/dev01-root 75G 58G 14G 82% / udev 2.0G 4.0K 2.0G 1% /dev tmpfs 396M 292K 396M 1% /run none 5.0M 0 5.0M 0