SQL Server 2012 Logging of checkpoints
-
05 Mayıs 2012 Cumartesi 13:04
I have upgraded a system from SQL Server 2008 R2 to SQL Server 2012 (in place upgrade).
After the upgrade I see messages like this in the log:
2012-05-05 11:59:21.81 spid15s FlushCache: cleaned up 147155 bufs with 113034 writes in 96451 ms (avoided 14195 new dirty bufs) for db 6:0
2012-05-05 11:59:21.81 spid15s average throughput: 11.92 MB/sec, I/O saturation: 110102, context switches 191456
2012-05-05 11:59:21.81 spid15s last target outstanding: 66, avgWriteLatency 23In earlier versions you had to enable trace flags to get information about checkpoints.
http://blogs.msdn.com/b/joaol/archive/2008/11/20/sql-server-checkpoint-problems.aspxI have no trace flags enabled.
So it looks like there is some new logging of slow checkpoints in SQL Server 2012. Does anyone know what the threshold is?
Ola Hallengren
http://ola.hallengren.com- Düzenleyen Ola Hallengren 05 Mayıs 2012 Cumartesi 13:05
Tüm Yanıtlar
-
05 Mayıs 2012 Cumartesi 15:36
hello Ola
eventually the following article may help you http://www.sqlserverfaq.net/2012/03/18/185/ (SQL 2012: Indirect Checkpoint Explained !!!)
Please use Mark as Answer if my post solved your problem and use Vote As Helpful if a post was useful.
-
07 Mayıs 2012 Pazartesi 05:16
Dear Ola Hallengren,
This kind of message you will see incase if recovery_interval(min) value for a database is greater than 0. In your case at server level in SQL Server 2008 R2 the recovery_interval(min) value could be set to a value greater than the default value of 0 and hence after in-place upgrade you are seeing the messages as Indirect Checkpoint Feature of SQL Server 2012 is coming into effect.
For more information read the following Indirect Checkpoints Feature in SQL Server 2012 article.
Cheers,
Ashish Kumar MehtaPlease click the Mark as Answer button if a post solves your problem and Vote as Helpful if a Post is Helpful!
- Yanıt Olarak Öneren Ashish Kumar Mehta 07 Mayıs 2012 Pazartesi 05:16
- Yanıt Önerisini Geri Alan Jonathan KehayiasMVP, Moderator 07 Mayıs 2012 Pazartesi 14:26
-
07 Mayıs 2012 Pazartesi 13:41BTW, checkpoint activity has been always exposed in PerfMon with a counter called something like "checkpoint, pages/sec". Using simple WMI this type of activity could be logged from vbscript or Powershell to file, database or any other format.
Henrik Fyhn http://repeatableread.blogspot.com/
-
07 Mayıs 2012 Pazartesi 14:27Moderatör
Indirect checkpoints are not enabled by default and they don't get enabled as a part of changing the recovery_interval(min) sp_configure option. They are set per database with ALTER DATABASE, so I fail to see how this relates to Ola's question about why he is getting ERRORLOG entries about CHECKPOINT operations without the associated trace flag enabled in the engine. You shouldn't post a response and immediately propose it as an answer to a post, especially when it's not in line technically with the problem being asked about.Dear Ola Hallengren,
This kind of message you will see incase if recovery_interval(min) value for a database is greater than 0. In your case at server level in SQL Server 2008 R2 the recovery_interval(min) value could be set to a value greater than the default value of 0 and hence after in-place upgrade you are seeing the messages as Indirect Checkpoint Feature of SQL Server 2012 is coming into effect.
For more information read the following Indirect Checkpoints Feature in SQL Server 2012 article.
Cheers,
Ashish Kumar MehtaPlease click the Mark as Answer button if a post solves your problem and Vote as Helpful if a Post is Helpful!
Jonathan Kehayias | Principal Consultant, SQLSkills.com
SQL Server MVP | Microsoft Certified Master: SQL Server 2008
Author of Troubleshooting SQL Server: A Guide for Accidental DBAs
Feel free to contact me through My Blog or Twitter. Become a SQLskills Insider!
Please click the Mark as Answer button if a post solves your problem!- Düzenleyen Jonathan KehayiasMVP, Moderator 07 Mayıs 2012 Pazartesi 14:28
-
07 Mayıs 2012 Pazartesi 14:31Moderatör
Hey Ola,
Have you verified that the trace flag isn't set with DBCC TRACESTATUS? I don't know of any changes in 2012 that would cause this logging to occur but after looking at a couple of my 2012 instances in my lab environment, I see the same messages so I will ping a couple of members of the product group to find out if there was something that would do this.
Jonathan Kehayias | Principal Consultant, SQLSkills.com
SQL Server MVP | Microsoft Certified Master: SQL Server 2008
Author of Troubleshooting SQL Server: A Guide for Accidental DBAs
Feel free to contact me through My Blog or Twitter. Become a SQLskills Insider!
Please click the Mark as Answer button if a post solves your problem!- Düzenleyen Jonathan KehayiasMVP, Moderator 07 Mayıs 2012 Pazartesi 14:33
-
07 Mayıs 2012 Pazartesi 15:33I have verified with DBCC TRACESTATUS that no trace flag is set. I have also checked that recovery interval in sys.configurations is set to 0. I am not using the new indirect checkpoint feature. The version number is 11.0.2316.
This database has about 5000 - 10000 transactions (small insert and updates) per second.
The system seems to be working as good after the upgrade as it did before.
My guess is that Microsoft has introduced this as a warning for slow checkpoints (and that we should look into the disk system for the data file).
Thanks Jonathan for looking into this.
Ola Hallengren
http://ola.hallengren.com- Düzenleyen Ola Hallengren 07 Mayıs 2012 Pazartesi 15:34
-
07 Mayıs 2012 Pazartesi 15:45Moderatör
I sent an email to Bob Dorr in product support to find out more about what would cause these messages to be logged in 2012, but he is currently out of the office according to his auto response, so I'll let you know when I hear back from him on this.
Jonathan Kehayias | Principal Consultant, SQLSkills.com
SQL Server MVP | Microsoft Certified Master: SQL Server 2008
Author of Troubleshooting SQL Server: A Guide for Accidental DBAs
Feel free to contact me through My Blog or Twitter. Become a SQLskills Insider!
Please click the Mark as Answer button if a post solves your problem!- Yanıt Olarak Öneren retracement 02 Haziran 2012 Cumartesi 22:08
-
02 Haziran 2012 Cumartesi 10:23
Bob Dorr has clarified this in his blog now. Thank you for your help.
http://blogs.msdn.com/b/psssql/archive/2012/06/01/how-it-works-when-is-the-flushcache-message-added-to-sql-server-error-log.aspxOla Hallengren
http://ola.hallengren.com- Yanıt Olarak Öneren retracement 02 Haziran 2012 Cumartesi 22:16
- Yanıt Olarak İşaretleyen Stephanie LvModerator 04 Haziran 2012 Pazartesi 01:33
-
02 Haziran 2012 Cumartesi 22:16Interesting discussion Ola/ Jonathan. Enjoyed reading this. Thanks Ola for raising question in the first place and follow up.
Regards,
Contact me through (twitter|blog)
Mark Broadbent.
Please click "Propose As Answer" if a post solves your problem
or "Vote As Helpful" if a post has been useful to you