错误: 9002,严重度: 17,状态: 6 
数据库 'tempdb' 的日志已满。请备份该数据库的事务日志以释放一些日志空间。
是什么意思怎么办

解决方案 »

  1.   

    tempdb的事务日志可用空间不够了。。扩大空间,或者截断日志呗。。
      

  2.   

    use tempdb
    go
    dbcc shrinkfile(tempdev,truncateonly)
    dbcc shrinkfile(templog,truncateonly)不过这样收缩一般没什么效果,tempdb要足够大;
    修改tempdb大小
    alter database tempdb modify file(name='tempdev',filename='D:\Database\tempdb.mdf',size=25mb)
      

  3.   

    tempdb 只是临时数据库,每次重启db都会重新生成它的,怎么会变那么大呢?建立查看下日志延迟原因:SELECT [name] ,[database_id] ,[log_reuse_wait] ,[log_reuse_wait_desc] FROM [sys].[databases]再参考:http://kb.cnblogs.com/a/1676522/
      

  4.   


    哦LZ是这样的TEMPDB 的数据库日志其实没有保留的必要,你需要DUMP它,另外建议你 最好把TEMPDB的数据库 移植到非系统盘的其他位置,那样估计你这样的麻烦会比较少例如你可以在建立一个ldf将它放置到其他盘例如E 你上面的问题就不会出现了,当然DUMP日志还是需要的USE [master]
    GO
    ALTER DATABASE [tempdb] ADD LOG FILE ( NAME = N'tempdbother', FILENAME = N'E:\Program Files\Microsoft SQL Server\MSSQL.1\MSSQL\DATA\tempdb.ldf' , SIZE = 1024KB , FILEGROWTH = 10%)
    GO
      

  5.   

    use tempdb;
    go
    dbcc opentran();
    --会得到一个session id
    go
    dbcc inputbuffer(session_id);
    go
    kill session_id;
    go