08 2016 档案

摘要:如何查看被截断的日志 如果数据库做了日志备份操作,则日志会被截断,然后原来活动的VLF会被重用。使用sys.fn_dblog将会看不到任何被截断的日志。那如何查看日志备份中的日志呢?使用fn_dump_dblog读取日志备份的内容。它的输出和sys.fn_dblog是一样的,所以进行查询过滤时也可以 阅读全文
posted @ 2016-08-23 15:22 Joe.TJ 阅读(3814) 评论(0) 推荐(0)
摘要:接下来说说返回的RowLogo Content列,例子中返回了三个列。这些列包含了数据操作的“有效工作负载(Playload)”记录。根据不同操作类型有效负载的内容也是不同的,但是它必须包含足够的信息,能让相应的数据操作在恢复时能被REDO和UNDO。对于每一个INSERT而言,它包含了插入行的所有 阅读全文
posted @ 2016-08-19 18:23 Joe.TJ 阅读(2424) 评论(0) 推荐(0)
摘要:SQL Server 的事务日志包含所有数据修改的操作记录。分析日志一般作为解决某些问题的最后手段,如查看某些意外的修改。理解和分析日志内容是件非常困难的事情,fn_dblog通常会输出非常多的数据,查看也比较困难。我尝试用一些实例帮助大家更好地分析和理解日志。 SQL Server 使用Write 阅读全文
posted @ 2016-08-18 11:10 Joe.TJ 阅读(9267) 评论(1) 推荐(1)
摘要:页并发访问的保护:闩锁 在多线程并发情况下,需要防止读线程读到写线程正在写的资源,在编程中,通过使用互斥器(Mutexes), 信号量(Semaphore), 临界区(Critical Section)和事件(Event Object)来保护资源,而这些机制在SQL Server中被统一表示为 闩锁 阅读全文
posted @ 2016-08-15 17:15 Joe.TJ 阅读(677) 评论(2) 推荐(2)
摘要:查询执行的内存授予(Query Execution Memory Grant) 有些操作符需要较多的内存才能完成操作。例如,SORT、HASH、HAS聚合等。执行计划通过操作符需要处理数据量的预估值(通过统计信息获得的预估行数)、操作符类型和列大小来获得所需要的内存总量。这个执行计划的内存总量,也叫 阅读全文
posted @ 2016-08-11 18:15 Joe.TJ 阅读(965) 评论(6) 推荐(2)
摘要:查询执行的总图: 根据总图的流程,详细说明每个部分: 1. 请求(Request) SQL Server是C/S架构的平台。与它交互的唯一方式就是发送包含数据库命令的请求。应用程序和数据库之前的通信协议叫做TDS(Tabular Data Stream)协议。应用程序可以使用以下几种实现了TDS协议 阅读全文
posted @ 2016-08-11 18:07 Joe.TJ 阅读(1170) 评论(0) 推荐(3)