dbcc log和fn_dblog函数真的是分析日志文件吗?
这个问题需要了解CheckPoint和sql的存储机制,首先参考如下文档
http://msdn.microsoft.com/zh-cn/library/ms188748.aspx
CheckPoint
将当前数据库的全部脏页写入磁盘。“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据页。CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢复过程中节省时间。
什么时候执行它?大致有几种情况:
手动调用、sql自动定时执行、数据库脱机之类操作、数据库进程正常终止等情况。
简单日志模型的原理就是每次checkpoint后自动截断日志。
dbcc log到底有什么用?和checkpoint有什么关系
在事物外执行过CheckPoint后,dbcc log语句将无法获取之前的日志。所以我推断此语句是系统为了在非正常关闭数据库的状态下,来保证日志,内存中的脏页和数据文件的一致性的措施,此方法并不是读取日志文件的全部信息。
log explorer的原理
还没有搞清楚,此前的推断是错误的,它不是通过dbcc log 或者fn_dblog方法实现的,不但CheckPoint对它没有影响,而且他会主动调用这个语句。
日志分析工具宣告流产,不过基本上搞清了日志和数据文件的存储结构,希望以后仍然可以用的上这些经验
这个问题需要了解CheckPoint和sql的存储机制,首先参考如下文档
http://msdn.microsoft.com/zh-cn/library/ms188748.aspx
CheckPoint
将当前数据库的全部脏页写入磁盘。“脏页”是已输入缓存区高速缓存且已修改但尚未写入磁盘的数据页。CHECKPOINT 可创建一个检查点,在该点保证全部脏页都已写入磁盘,从而在以后的恢复过程中节省时间。
什么时候执行它?大致有几种情况:
手动调用、sql自动定时执行、数据库脱机之类操作、数据库进程正常终止等情况。
简单日志模型的原理就是每次checkpoint后自动截断日志。
dbcc log到底有什么用?和checkpoint有什么关系
在事物外执行过CheckPoint后,dbcc log语句将无法获取之前的日志。所以我推断此语句是系统为了在非正常关闭数据库的状态下,来保证日志,内存中的脏页和数据文件的一致性的措施,此方法并不是读取日志文件的全部信息。
log explorer的原理
还没有搞清楚,此前的推断是错误的,它不是通过dbcc log 或者fn_dblog方法实现的,不但CheckPoint对它没有影响,而且他会主动调用这个语句。
日志分析工具宣告流产,不过基本上搞清了日志和数据文件的存储结构,希望以后仍然可以用的上这些经验