Today the conference is in full swing. There seems to be a little less energy this year, I am not certain why that might be the case. Perhaps it was the late night karaoke that has me a little worn down.
The keynote session was informative as we were introduced to some of the new features in Katmai. I was quite intrested in the ability to apply policies across all database servers in a domain. For example, if I want to ensure that all databases have AUTO CLOSE disabled, i can configure a policiy, apply it, generate a report of databses out of complianace, and with one click I can alter the databases to make them compliant.
We also saw a little bit of LINQ. I am interested to learn more, as I have questions about how performance is handled.
The first talk of the conference for me was by Joe Webb and it was on Notification Services. The talk was good, and I learned there is more to SSNS than I realized. Unfortunately I am not able to envision it being used in my shop, but it is something I will need to keep in mind. I want to avoid engineering a system that relies on messages being sent, but I am also thinking that there could be times when messages would be desired, or necessary.
The next talk I attended was about Visual Studio Team Edition. Unfortunately the demos did not work smoothly, but overall the session was good. What I took away from it was the ability for developers to effectively unit test their code changes, which is something that I feel we lack right now. VSTS has the ability to generate test data as well, but most of the time our end users want to sign off by looking at the real data. I would think that the ideal would be for the developer to unit test against some generated data and then let the end user sign off against the real data after the code is migrated.
My third talk for the day was about disaster recovery. It was a nice discussion, but there were no demonstrations provided. I guess I was hoping to see a page level restore being down, or a piecemeal restore, or something. Instead, it was mostly a discussion about how to avoid making things worse should an event happen, and how to mitigate those events in the first place.
My final talk for the day was given by Itzik Ben-Gan. Need I say more? He dived into the into the internals, talking about data pages, extents, indexes, etc. And in the end, he demostrated why the use of the NOLOCK statement is not desired. Essentially, if you use NOLOCK, your query has a non-ordered scan, and the table is updateable, then it is possible for you to have a result set with incorrect results. So, it would appear that when you look to use NOLOCK in order to speed up a query, then you need to be aware that your results could be incorrect, essentially you are allowing for something worse than just a dirty read…you can either miss data being inserted, or return back duplicate rows.
Oh, and this has been an issue for years, but Itzik only came across it recently, and it will be an issue in Katmai as well.