sql server 2008 日志文件已经到了最大值,还会记录日志吗

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了sql server 2008 日志文件已经到了最大值,还会记录日志吗相关的知识,希望对你有一定的参考价值。

假如一个数据库的日志文件最大设置为10G,现在这个日志文件已经增长到了10G。但是没有人处理它,这时 sql server 还会往日志文件里面写东西吗,是把他截断一部分腾出空间来写新日志,还是不再写日志。
再加一问,在备份数据库的时候能不能只备份数据文件,就想只备份log文件一样,如:backup log 。。。

你好,日志文件满了,就写不进去数据了。所以最好不要设置日志文件的大小。或者你定期自动截断备份也可以。

消息 9002,级别 17,状态 4,第 1 行
数据库 'test' 的事务日志已满。若要查明无法重用日志中的空间的原因,

右击数据库-备份,里面有选择备份数据库还是文件和文件组的。
参考技术A 日志满了以后,会自动截断不活动的日志用来保存新的日志。说白了就是循环利用。

你追问的问题不太清楚,但是我们做备份的时候,通常会先收缩一下数据库追问

感觉你和上面那位回答的完全不一样啊 ,我自己去试验一下。
追问就是 假如我想只备份日志文件 可以用backup log 但是我想只备份数据文件不备份日志文件 ,这能做吗

追答

这个我真不知道,以前我有听说过备份不会备份日志,但是没试验过,而且我们备份的时候都做了job,会事先收缩数据库,就是把日志文件清掉,所以没关注这个。

追问

上面那位说的是对的,日志空间满了之后会报错的
你们做了job你可以看下job执行的脚本啊

SQL Server 2008 收缩日志 清空删除大日志文件

 
SQL2008 的收缩日志 
由于SQL2008对文件和日志管理进行了优化,所以以下语句在SQL2005中可以运行但在SQL2008中已经被取消:
(SQL2005)
BackupLog DNName with no_log
go
dump transaction DNName with no_log
go
USE DNName 
DBCC SHRINKFILE (2)
Go
--------------------------------------------------------------
(SQL2008):
在SQL2008中清除日志就必须在简单模式下进行,等清除动作完毕再调回到完全模式。

方案一:完全命令模式
USE[master]
    GO
    ALTER DATABASE DNName SET RECOVERY SIMPLE WITH NO_WAIT
    GO
    ALTER DATABASE DNName SET RECOVERY SIMPLE   --简单模式
    GO
    USE DNName 
    GO
    DBCC SHRINKFILE (NDNName_Log , 11, TRUNCATEONLY)
    GO
    USE[master]
    GO

    ALTER DATABASE DNName SET RECOVERY FULLWITH NO_WAIT

    GO

    ALTER DATABASE DNName SET RECOVERY FULL  --还原为完全模式

    GO

 

以上是关于sql server 2008 日志文件已经到了最大值,还会记录日志吗的主要内容,如果未能解决你的问题,请参考以下文章

SQL Server 2008 收缩日志 清空删除大日志文件

SQL Server 2008 收缩日志 清空删除大日志文件

sql server 2008 清除日志

如何查看SQL server 2008的操作日志

sql server 2008 r2 日志文件过大怎么清除

SQL Server 2008 清空删除日志文件