<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="http://sqlblog.com/utility/FeedStylesheets/rss.xsl" media="screen"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:wfw="http://wellformedweb.org/CommentAPI/"><channel><title>Search results matching tags 'speaking' and 'SQL Server'</title><link>http://sqlblog.com/search/SearchResults.aspx?o=DateDescending&amp;tag=speaking,SQL+Server&amp;orTags=0</link><description>Search results matching tags 'speaking' and 'SQL Server'</description><dc:language>en-US</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Speaking at University of Virginia</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2012/11/05/speaking-at-university-of-virginia.aspx</link><pubDate>Mon, 05 Nov 2012 17:37:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45944</guid><dc:creator>Andrew Kelly</dc:creator><description>  &lt;p&gt;The &lt;a href="http://www.virginia.edu/" target="_blank"&gt;University of Virginia&lt;/a&gt; is having a fall &lt;a href="http://lsp.its.virginia.edu/events/" target="_blank"&gt;conference&lt;/a&gt; that is free and open to the public on Tuesday November 13th. My good friend &lt;a href="http://sqlblog.com/blogs/andy_leonard/default.aspx" target="_blank"&gt;Andy Leonard&lt;/a&gt; and I will be speaking on various SQL Server related topics so if you are in the area and available that day you are most welcome to stop by. You can find more information and register for the conference &lt;a href="http://lsp.its.virginia.edu/events/" target="_blank"&gt;here&lt;/a&gt;.&lt;/p&gt;    &lt;p&gt;Andrew J. Kelly&lt;/p&gt;</description></item><item><title>See you in Columbus Saturday?</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2011/06/06/see-you-in-columbus-saturday.aspx</link><pubDate>Mon, 06 Jun 2011 04:32:45 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36088</guid><dc:creator>drsql</dc:creator><description>&lt;p&gt;Assuming all goes as planned, I will be in Columbus, OH this Friday night and Saturday for &lt;a href="http://www.sqlsaturday.com/75/eventhome.aspx" target="_blank"&gt;SQL Saturday 75&lt;/a&gt;. I really love SQL Saturday events the best of all of the events because they are very intimate in nature. As a fairly antisocial person, I sometimes get overwhelmed by the size of other events, even the SQL Rally was just barely in my comfort range. Here the number of people and size of rooms just feels like home, like you are shooting the breeze with a group of friends.&lt;/p&gt;  &lt;p&gt;My session will be at 9:00 AM (&lt;a href="http://www.sqlsaturday.com/75/schedule.aspx" target="_blank"&gt;full schedule&lt;/a&gt;), so don’t be late!&lt;/p&gt;  &lt;p&gt;&lt;strong&gt;Characteristics of a Great Relational Database&lt;/strong&gt;     &lt;br /&gt;When queried, most database professionals would mention normalized as one of the most important characteristics that tell the difference between a good and bad database design. I won't disagree in the least, but there is so much more to be considered.&amp;#160; Even if you did a great job of normalization, poor naming, poorly implemented keys, too many or too few indexes, and so on can derail your design.&amp;#160; In this session I will present seven primary characteristics of a design that differentiates between an ugly design that will have your colleagues nitpicking you to death and one that will have them singing your praises. Characteristics such as comprehendible, documented, secure, well performing, and more (including normalized, naturally) will be discussed.    &lt;br /&gt;&lt;/p&gt;  &lt;p&gt;It is the second time I will do this presentation, and the first time where I can see the faces of the recipients, so it will be nice to gauge how people like it. It is a lot of fun actually, though no matter what I am talking about I want to talk more about normalization, which I believe is the key to improving the databases of the future. So many of the session that are given at these things are geared towards systems that are already screwed up and limping along, and I really want to evangelize the merits of doing it right.&amp;#160; That is where this presentation fits in, the time period between design and performance tuning, where you determine the future work that is done with the system. Is it well performing, understandable, easy to maintain and use? Or does it take a crew of ten thousand DBAs doing nothing but putting their fingers in the leaks to keep the thing running?&lt;/p&gt;  &lt;p&gt;And don’t forget all of those BI sessions too… The better you do with the relational database, the easier the dimensional designer/implementers have it too.&lt;/p&gt;  &lt;p&gt;Anyhow, I hope to see you all there (well, not all of you, just the SQL nerds who are reading this. The history buffs who are still wondering why we are going to be inside the founder of our continent this weekend, well, you I feel sorry for you.&lt;/p&gt;</description></item><item><title>It's Official - SQLSaturday is Coming to NYC!</title><link>http://sqlblog.com/blogs/michael_coles/archive/2010/02/06/it-s-official-sqlsaturday-is-coming-to-nyc.aspx</link><pubDate>Sat, 06 Feb 2010 19:59:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:21916</guid><dc:creator>Mike C</dc:creator><description>&lt;P&gt;&lt;A title="NJSQL Home Page" href="http://www.njsql.org/" target=_blank&gt;New Jersey SQL Server User Group (NJSQL)&lt;/A&gt; is bringing &lt;A title="SQLSaturday #39 Home Page" href="http://www.sqlsaturday.com/39/eventhome.aspx" target=_blank&gt;SQLSaturday #39&lt;/A&gt;&amp;nbsp;to NYC on April 24, 2010!&amp;nbsp; The free all-day training event will be hosted by Microsoft at their Midtown Manhattan offices.&amp;nbsp; The speaker line-up is growing fast—if you'd like to present, visit the event's open &lt;A title="SQLSaturday #39 Call for Speakers" href="http://www.sqlsaturday.com/39/callforspeakers.aspx" target=_blank&gt;call for speakers&lt;/A&gt;.&amp;nbsp;&amp;nbsp;This is a free full-day training&amp;nbsp;event, but &lt;A title="SQLSaturday #39 Registration Page" href="http://www.sqlsaturday.com/39/register.aspx" target=_blank&gt;registration is required&lt;/A&gt;&amp;nbsp;to attend.&amp;nbsp; Seating is limited.&lt;/P&gt;
&lt;P&gt;Registration, speaker, and sponsorship details are posted at &lt;A href="http://www.sqlsaturday.com/39/eventhome.aspx"&gt;http://www.sqlsaturday.com/39/eventhome.aspx&lt;/A&gt;.&lt;/P&gt;</description></item><item><title>Quest DMV Breakfast Code – Disk IO</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2009/11/04/quest-dmv-breakfast-code-disk-io.aspx</link><pubDate>Wed, 04 Nov 2009 17:52:43 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:18532</guid><dc:creator>drsql</dc:creator><description>&lt;p&gt;For any of you who attended the Quest breakfast at PASS (and anyone else really) I wanted to go ahead and post the code and give a little wrap up/explanation. (I will post the stuff on perf counters later. They are cool, but this is really what I wanted to make sure people saw.)&lt;/p&gt;  &lt;p&gt;I had a plan for my presentation, but time was less than I expected, and the good stuff kinda fell off. So here is the stuff around the Disk IO DMV section that I really messed up and didn’t show enough. I read a few of the comments that my presentation wasn’t that useful to you, and that is clearly on me.&amp;#160; If the index ones are useful, these are too, and can be used to help spread load around your disks.&lt;/p&gt;  &lt;p&gt;So, here is the slide I presented:&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;a href="http://sqlblog.com/blogs/louis_davidson/image_4D31E3BE.png"&gt;&lt;img style="border-right-width:0px;display:inline;border-top-width:0px;border-bottom-width:0px;border-left-width:0px;" title="image" border="0" alt="image" src="http://sqlblog.com/blogs/louis_davidson/image_thumb_710A954B.png" width="244" height="180" /&gt;&lt;/a&gt; &lt;/p&gt;  &lt;p&gt;By knowing the amount of data written to a database file, you can see how busy the file is, the filegroup is, the database, the disk drive, etc, by aggregating the data in the following query in various way.&amp;#160; The query is pretty simple and will return all files in all databases (there are parms on the function to change that, but check BOL for more info):&lt;/p&gt;  &lt;p&gt;--since reboot    &lt;br /&gt;SELECT db_name(mf.database_id) as databaseName,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mf.physical_name, divfs.num_of_reads,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.num_of_bytes_read, divfs.io_stall_read_ms,&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.num_of_writes, divfs.num_of_bytes_written,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.io_stall_write_ms,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.io_stall,size_on_disk_bytes    &lt;br /&gt;FROM sys.dm_io_virtual_file_stats(null,null) as divfs     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; JOIN sys.master_files as mf     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ON mf.database_id = divfs.database_id     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and mf.file_id = divfs.file_id&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;The “stall” columns give you how long any processes have waited on your disk drives to serve up data for this file.&amp;#160; This information plus the information in _bytes_written and _bytes_read columns can give you how much data was moved, and how long your CPU had to wait for the data before it could get working on it.&amp;#160; Very powerful stuff, and can really give you a look at opportunities for performance tuning.&lt;/p&gt;  &lt;p&gt;That query gives you data from the last reboot of the server, but usually you want to see up to date values. So you have to get a baseline of values, then compare them at a later point.&amp;#160; You can build tools that do this, and you can use the performance data warehouse in 2008, and I will demonstrate the former.&amp;#160; Using a temp table and a WAITFOR DELAY command, I build a quick tool to see waits and stats over 20 seconds. Note that I use a #temp table to allow you to run the last query over and over to see the comparison to the baseline until you want to drop the #temp table.&lt;/p&gt;  &lt;p&gt;--over the following delay    &lt;br /&gt;declare @delay varchar(10) = '00:00:20' &lt;/p&gt;  &lt;p&gt;SELECT db_name(mf.database_id) as databaseName,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mf.physical_name, divfs.num_of_reads,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.num_of_bytes_read, divfs.io_stall_read_ms,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.num_of_writes, divfs.num_of_bytes_written,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.io_stall_write_ms,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; divfs.io_stall,size_on_disk_bytes,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; getdate() as baselineDate    &lt;br /&gt;INTO #baseline    &lt;br /&gt;FROM sys.dm_io_virtual_file_stats(null,null) as divfs    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; JOIN sys.master_files as mf    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ON mf.database_id = divfs.database_id    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and mf.file_id = divfs.file_id &lt;/p&gt;  &lt;p&gt;WAITFOR DELAY @delay &lt;/p&gt;  &lt;p&gt;;WITH currentLine as (&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; SELECT&amp;#160; db_name(mf.database_id) as databaseName,&amp;#160;&amp;#160; &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; mf.physical_name,num_of_reads, num_of_bytes_read,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; io_stall_read_ms, num_of_writes,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; num_of_bytes_written, io_stall_write_ms,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; io_stall,size_on_disk_bytes,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; getdate() as currentlineDate    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; FROM sys.dm_io_virtual_file_stats(null,null) as divfs    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; JOIN sys.master_files as mf    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ON mf.database_id = divfs.database_id    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and mf.file_id = divfs.file_id) &lt;/p&gt;  &lt;p&gt;SELECT&amp;#160; DATEDIFF(s,#baseline.baselineDate,currentlineDate),   &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; currentLine.databaseName,     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; left(currentLine.physical_name,1) as drive,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; currentLine.physical_name    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,currentLine.io_stall - #baseline.io_stall as io_stall_ms    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,currentLine.io_stall_read_ms -    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #baseline.io_stall_read_ms as io_stall_read_ms    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,currentLine.io_stall_write_ms -    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #baseline.io_stall_write_ms as io_stall_write_ms    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; ,currentLine.num_of_reads - #baseline.num_of_reads as     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; num_of_reads &lt;/p&gt;  &lt;p align="left"&gt;&amp;#160;&amp;#160;&amp;#160; ,currentLine.num_of_writes - #baseline.num_of_writes    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; as num_of_writes    &lt;br /&gt;&amp;#160;&amp;#160; ,currentLine.num_of_bytes_written -    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; #baseline.num_of_bytes_written as num_of_bytes_written    &lt;br /&gt;FROM currentLine    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; join #baseline    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; on #baseLine.databaseName = currentLine.databaseName    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; and #baseLine.physical_name =     &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160;&amp;#160; currentLine.physical_name    &lt;br /&gt;go    &lt;br /&gt;--drop table&amp;#160; #baseline&lt;/p&gt;  &lt;p align="left"&gt;The most interesting part of this query is often the stall columns.&amp;#160; When I see really bad IO, the number of seconds waited can end up being way more than the actual number of seconds. Disk IO is more or less serial (particularly on my mini HP with Win7 Starter Edition), so if you have many queries running concurrently, every one of them needs data from the same IO source, and if one query used the disk for 1 second, the other processes might wait for 1 second each. When wait stats are really low, that means the disk were ready, willing, and able to serve all processes.&lt;/p&gt;  &lt;p align="left"&gt;On your test server, you can use a query like:&lt;/p&gt;  &lt;p&gt;--create database DMV   &lt;br /&gt;--go    &lt;br /&gt;use DMV    &lt;br /&gt;go    &lt;br /&gt;create table testDMV    &lt;br /&gt;(    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; testDMVid int identity,    &lt;br /&gt;&amp;#160;&amp;#160;&amp;#160; bigun&amp;#160;&amp;#160;&amp;#160;&amp;#160; char(8000)    &lt;br /&gt;)    &lt;br /&gt;go    &lt;br /&gt;set nocount on    &lt;br /&gt;insert into testDMV(bigun)    &lt;br /&gt;select REPLICATE('a',8000)    &lt;br /&gt;go 5000 &lt;/p&gt;  &lt;p&gt;--drop table testDmv &lt;/p&gt;  &lt;p&gt;select *   &lt;br /&gt;from&amp;#160;&amp;#160; testDMV&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;To create some data.&amp;#160; Note that data will be written to the disk in various counts.&amp;#160; I set all of the rows to take a full data page, and each of the rows is an individual transaction.&amp;#160; But it won’t be a 1-1 match with the number of rows written or read. SQL Server flushes data to the disk in the manner it wants to, and some manner of caching will change the number over time.&amp;#160; Run the select * from testDMV query over and over and you will not see any change in the disk IO, because it is in cache now.&lt;/p&gt;  &lt;p&gt;I hope this is better. Sometimes as a presenter I am a good writer, and frankly the lack of bacon really threw me off this morning. Feel free to email me at &lt;a href="mailto:louis@drsql.org"&gt;louis@drsql.org&lt;/a&gt; or tweet me at drsql and I will be happy to share more.&amp;#160; All of this will be in our RedGate book that will be coming out before the end of the millennium, at the very minimum.&lt;/p&gt;</description></item><item><title>NJSQL Saturday Event (10/24)</title><link>http://sqlblog.com/blogs/michael_coles/archive/2009/10/06/njsql-saturday-event-10-24.aspx</link><pubDate>Tue, 06 Oct 2009 19:37:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:17325</guid><dc:creator>Mike C</dc:creator><description>&lt;P&gt;The NJSQL user group is hosting a one-day Saturday SQL Server event at the Microsoft Iselin offices.&amp;nbsp; On October 24th Jacob Sebastian, Robert Pearl and I will be presenting on the following SQL Server topics:&lt;/P&gt;
&lt;P&gt;* T-SQL Defensive coding and exception handling best practices&lt;BR&gt;* Database forensics in SQL Server ("Who did it and ran?")&lt;BR&gt;* SQL Server 2008 spatial data ("Where in the World?")&lt;/P&gt;
&lt;P&gt;This one-day&amp;nbsp;event is free, but registration is required.&amp;nbsp; More details, including registration link at: &lt;A href="http://njsql.org/Default.aspx"&gt;http://njsql.org/Default.aspx&lt;/A&gt;&lt;/P&gt;</description></item><item><title>Presenting in Louisville; Meeting in Cincinnati</title><link>http://sqlblog.com/blogs/michael_coles/archive/2009/06/01/presenting-in-louisville-meeting-in-cincinnati.aspx</link><pubDate>Mon, 01 Jun 2009 23:15:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:14395</guid><dc:creator>Mike C</dc:creator><description>&lt;P&gt;I'll be presenting "New SQL Server 2008 Features" in downtown Louisville, KY on June 22, in conjunction with the Louisville SQL Server Users Group thanks to group leader Malathi Mahadevan.&amp;nbsp; We'll be giving away some SQL 2008 books and other goodies.&amp;nbsp; I'll post further details (exact time and location) shortly.&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Update:&amp;nbsp; The address is for the Louisville meeting is:&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;Louisville Free Public Library&lt;BR&gt;301 York Street&lt;BR&gt;Louisville, KY 40202&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;&lt;STRONG&gt;We'll be meeting from 12 noon to 1 PM.&lt;/STRONG&gt;&lt;/P&gt;
&lt;P&gt;June 23rd I'll be stopping by the Cincinnati .NET User Group (for the UG meeting and a Geek Dinner -- hopefully at Skyline Chili! ;-) ) thanks to Mike Wood, director of the Cincy .NET Users Group.&amp;nbsp; We'll be having an informal discussion of SQL Server and .NET technology and features after the main meeting, having some good food, and giving away a few more books!&amp;nbsp; Visit &lt;A href="http://cinnug.org/"&gt;http://cinnug.org&lt;/A&gt;&amp;nbsp;for more info.&lt;/P&gt;</description></item><item><title>Headed..South..To Atlanta for SQL Saturday</title><link>http://sqlblog.com/blogs/louis_davidson/archive/2009/04/23/headed-south-to-atlanta.aspx</link><pubDate>Fri, 24 Apr 2009 02:55:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:13489</guid><dc:creator>drsql</dc:creator><description>&lt;P&gt;Heading down to SQL Saturday (&lt;A href="http://www.sqlsaturday.com/"&gt;www.sqlsaturday.com&lt;/A&gt;) in Atlanta to give a 9:15 AM session on Database Design, with a greater than normal dose of normal thrown in. I hope there are more than 7 people to show up, because I would hate if everyone got some swag (I usually like tossing out stuff when people make cool and interesting statements, and NOT when they prove me wrong…you know who (all) you are :). Apparently they were at their capacity, so maybe not.&amp;nbsp; If you need to know where it is, check here: &lt;A title=http://www.sqlsaturday.com/eventhome.aspx?eventid=17 href="http://www.sqlsaturday.com/eventhome.aspx?eventid=17"&gt;http://www.sqlsaturday.com/eventhome.aspx?eventid=17&lt;/A&gt;, and come on out.&amp;nbsp; The more smart alecky know-it-alls I get who want to prove me wrong the better…well, as long as you sit there quietly and learn something…&lt;/P&gt;
&lt;P&gt;(Hmm… I hasten to send you that link (&lt;A href="http://www.sqlsaturday.com/"&gt;www.sqlsaturday.com&lt;/A&gt;), because frankly you will have to see that someone has a bad where clause on a query somewhere. I would offer up prizes for the best guess, but every time I do contests no one ever gets it or even tries.)&lt;/P&gt;
&lt;DIV class=wlWriterHeaderFooter style="PADDING-RIGHT:0px;PADDING-LEFT:0px;PADDING-BOTTOM:0px;MARGIN:0px;PADDING-TOP:0px;"&gt;





&lt;P&gt;&lt;A&gt;&lt;/A&gt;&lt;/P&gt;&lt;/DIV&gt;</description></item></channel></rss>