sqlserver关闭顺序


SQLServer在关闭的时候主要做两件事,1是停止来自终端的相应(踢掉用户),2就是执行checkpoint(将内存中的脏数据回写到磁盘)。那么问题来了 ,SQLServer到底是先踢掉用户还是先checkpoint呢?


下面是我做的实验.


第一步:

开始3502标记,将checkpoint的相关操作写入errorlog中。

dbcc traceon(3502,-1)


第二步:

在cmd命令行中关闭SQLServer 

net stop mssqlserver 


第三步:

查看SQLServer的错误日志,在安装的ms过程如果没有更改目录,那么 ms的错误就会在 

C:\Program Files\Microsoft SQL Server\MSSQL11.MSSQLSERVER\MSSQL\Log

查看第一个ERRORLOG文件。

wKioL1RBLLWwMgLSAAQZp-MdZt4940.jpg

从错误日志文件的截图中可以知道 ,ms 在关闭的时候,首先是对每一个DB进行checkpoint之后再停止对来自终端的响应。!


相关跟踪标记介绍!

http://www.cnblogs.com/CareySon/archive/2013/04/23/3039284.html