摘要: 凌晨时一数据库忽然报警,查看发现有大量被阻塞的进程。阻塞的源头是一个很简单的查询,并且此查询的SQL 语句加了with(nolock)。 然后查看了1031 进程的,发现状态为suspended,并且等待的资源为ASYNC_NETWORK_IO. Select *... 阅读全文
posted @ 2015-11-04 16:52 风言 阅读(486) 评论(0) 推荐(0)
摘要: 曾搭建了一个复制系统,用于搜索业务,在业务上增加某些特别的功能后,读库压力增加,导致复制延时。通过多种方式进行优化,其中一个是修改复制代理的参数。 写库和分发库之间无复制延时,复制延迟出现在分发库和读库之间。 在SQL Server复制参数方面,主要调整了PacketSize,P... 阅读全文
posted @ 2015-10-16 17:27 风言 阅读(191) 评论(0) 推荐(0)
摘要: 做数据迁移或者复制时,有时需要验证目标表和源表之间的数据差异。下面我们就介绍几种验证数据差异的方法: 1.两个表连接查询,对比每一列的值Declare @vSQL varchar(max)Declare @vCols varchar(max)Create Table vTable1 (id i... 阅读全文
posted @ 2015-10-12 18:27 风言 阅读(3658) 评论(0) 推荐(0)
摘要: 在完整恢复模式下,SQL Server将所有日志都记录在日志文件中,那么,SQL Server是怎样记录日志的呢? 先查看下日志文件里面所存的内容 select * from sys.fn_dblog(null,null) CurentLSN:当前日志序列号 O... 阅读全文
posted @ 2015-09-22 16:34 风言 阅读(395) 评论(0) 推荐(1)
摘要: SQL server的日志文件会随着数据修改的增加而变大,在处理日志文件时,我们常用的方式是将日志截断,并收缩。 Backup log databasename to disk='' dbcc shrinkfile(databasename_log) 当然,如果磁盘空间紧张... 阅读全文
posted @ 2015-07-04 00:29 风言 阅读(297) 评论(0) 推荐(1)
摘要: Sql Server在将每次更新写入到数据文件之前,会先顺序的将更改 写入到日志文件。这种技术应用到很多种类的数据库上,这种预先写入日志的技术,称之为WAL(write ahead logging)。 由于每次数据修改都会被写到事务日志中,所以,在数据库崩溃自动恢复时,已经完成... 阅读全文
posted @ 2015-07-02 23:28 风言 阅读(236) 评论(0) 推荐(1)
摘要: Sql Server事务日志文件是数据库文件的重要组成部分,事务日志主要用来存放数据库的修改记录。数据库为了得到更高的写入效率和性能,同时保证ACID特性,数据在写入时,会将更新先写入事务日志,因为事务日志是连写的,所以写事务会比较快。简单来说,顺序写入时,磁盘的磁头会保持在一定的区域内连续写入... 阅读全文
posted @ 2015-07-01 19:57 风言 阅读(527) 评论(0) 推荐(0)