<?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>Andrew Kelly : Best Paractices</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx</link><description>Tags: Best Paractices</description><dc:language>en</dc:language><generator>CommunityServer 2.1 SP2 (Build: 61129.1)</generator><item><title>Backup File Naming Convention</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2012/10/05/backup-file-naming-convention.aspx</link><pubDate>Fri, 05 Oct 2012 19:41:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:45458</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>7</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/45458.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=45458</wfw:commentRss><description>I have been asked this many times before and again just recently so I figured why not blog about it. None of this information outlined here is rocket science or even new but it is an area that I don’t think people put enough thought into before implementing....(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2012/10/05/backup-file-naming-convention.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=45458" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Backup/default.aspx">Backup</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Maintenance/default.aspx">Maintenance</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/SQL+Server/default.aspx">SQL Server</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category></item><item><title>Speaking in Raleigh NC 9-20-2011</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2011/09/15/speaking-in-raleigh-nc-9-20-2011.aspx</link><pubDate>Thu, 15 Sep 2011 13:54:05 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:38477</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/38477.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=38477</wfw:commentRss><description>&amp;#160; If you are in the area I will be speaking at the Triangle SQL Server Users Group meeting on Tuesday the 20th of September 2011. The session is on TempDB Best Practices and all of the details for the topic, directions etc. can be found here .&amp;#160;...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2011/09/15/speaking-in-raleigh-nc-9-20-2011.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=38477" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Performance/default.aspx">Performance</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Speaking/default.aspx">Speaking</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/User+Groups/default.aspx">User Groups</category></item><item><title>SQL Server 2008 R2 Analysis Services Operations Guide</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2011/06/01/sql-server-2008-r2-analysis-services-operations-guide.aspx</link><pubDate>Wed, 01 Jun 2011 22:03:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:36029</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/36029.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=36029</wfw:commentRss><description>Some members of the SQL CAT Team just released an Operations Guide for SQL 2008 R2 Analysis Services that can be found here . While I am not a SSAS person by any means this looks pretty cool and worth while for anyone who does work with it so have a look....(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2011/06/01/sql-server-2008-r2-analysis-services-operations-guide.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=36029" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/2008+R2/default.aspx">2008 R2</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Documentation/default.aspx">Documentation</category></item><item><title>Practical Performance Monitoring and Tuning</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2011/04/09/practical-performance-monitoring-and-tuning.aspx</link><pubDate>Sat, 09 Apr 2011 20:54:33 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34771</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>4</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/34771.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=34771</wfw:commentRss><description>&amp;#160; My next performance class will be in San Francisco, CA on May 9th thru the 11th. I haven’t been to San Francisco in about 10 years and I am looking forward to getting back there. The material is a bit refined over the first class and I added a...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2011/04/09/practical-performance-monitoring-and-tuning.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=34771" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Conferences/default.aspx">Conferences</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Performance/default.aspx">Performance</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Speaking/default.aspx">Speaking</category></item><item><title>System Center Advisor Collection Details</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2011/04/07/system-center-advisor-collection-details.aspx</link><pubDate>Thu, 07 Apr 2011 03:39:26 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34716</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/34716.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=34716</wfw:commentRss><description>&amp;#160; The System Center Advisor team (formally Project Atlanta) now lists some pre-release documentation on exactly what information they collect and how you can view it before it gets uploaded. So if you are wondering what they collect you can have...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2011/04/07/system-center-advisor-collection-details.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=34716" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/System+Center+advisor/default.aspx">System Center advisor</category></item><item><title>Project Atlanta Has a New Name</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2011/03/22/project-atlanta-has-a-new-name.aspx</link><pubDate>Tue, 22 Mar 2011 17:57:23 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:34326</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/34326.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=34326</wfw:commentRss><description>&amp;#160; Brad Anderson just completed a keynote in Las Vegas at the Microsoft Management Summit 2011 and announced the new name for what was originally called Project Atlanta. Dot da da dah… And the new name is:&amp;#160; System Center Advisor .&amp;#160; You can...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2011/03/22/project-atlanta-has-a-new-name.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=34326" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Maintenance/default.aspx">Maintenance</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Utilities/default.aspx">Utilities</category></item><item><title>Practical Performance Monitoring and Tuning Event</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2010/12/11/practical-performance-monitoring-and-tuning-event.aspx</link><pubDate>Sat, 11 Dec 2010 14:30:21 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:31535</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/31535.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=31535</wfw:commentRss><description>&amp;#160; For any of you who may be interested or know of someone in the market for a performance Monitoring and Tuning class I have just the ticket for you. It’s a 3 day event that will be held in Atlanta Ga. on January 25th to the 27th 2011. For those...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2010/12/11/practical-performance-monitoring-and-tuning-event.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=31535" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Performance/default.aspx">Performance</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Speaking/default.aspx">Speaking</category></item><item><title>Updates for Some 2008 Tools</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2010/06/20/updates-for-some-20008-tools.aspx</link><pubDate>Sun, 20 Jun 2010 03:03:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:26294</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/26294.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=26294</wfw:commentRss><description>There have been a few releases over the last few days for some SQL Server 2008 tools that you may be interested in. The first one is the 2008 R2 Best Practices Analyzer found here: http://blogs.msdn.com/b/sqlreleaseservices/archive/2010/06/19/sql-server-2008-r2-best-practices-analyzer-is-now-available.aspx...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2010/06/20/updates-for-some-20008-tools.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=26294" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/2008+R2/default.aspx">2008 R2</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Documentation/default.aspx">Documentation</category></item><item><title>Speaking in Raleigh NC June 15th</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2010/06/02/speaking-in-raleigh-nc-june-15th.aspx</link><pubDate>Wed, 02 Jun 2010 20:53:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:25862</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>0</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/25862.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=25862</wfw:commentRss><description>Just a heads up to those in the area that I will be speaking at the (TriPASS) Raleigh SQL Server user group on the 15th of June 2010. The topic is Storage &amp;amp; I/O Best Practices. The abstract is listed below: SQL Server relies heavily on a well configured...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2010/06/02/speaking-in-raleigh-nc-june-15th.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=25862" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/I_2F00_O/default.aspx">I/O</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Performance/default.aspx">Performance</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Speaking/default.aspx">Speaking</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Storage/default.aspx">Storage</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/User+Groups/default.aspx">User Groups</category></item><item><title>Speaking at Best Practices in DC Next Month</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2009/07/09/speaking-at-best-practices-in-dc-next-month.aspx</link><pubDate>Fri, 10 Jul 2009 02:34:50 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:15180</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>1</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/15180.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=15180</wfw:commentRss><description>While I have been speaking about Best Practices for years this is the first time that I will speak at an actual Best Practices conference :).&amp;#160; I have 3 sessions entitled: SQL Server Configuration Best Practices Storage and I/O Best Practices for...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2009/07/09/speaking-at-best-practices-in-dc-next-month.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=15180" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Conferences/default.aspx">Conferences</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Speaking/default.aspx">Speaking</category></item><item><title>Cleaning up Un-Named Defaults</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2009/06/26/cleaning-up-un-named-defaults.aspx</link><pubDate>Fri, 26 Jun 2009 16:07:00 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:14944</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>10</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/14944.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=14944</wfw:commentRss><description>I just had a situation in which we are automating the comparing of databases and I came across a bunch of Defaults that were never explicitly named. This causes them to get a new name each time you create them and makes it much more difficult to write...(&lt;a href="http://sqlblog.com/blogs/andrew_kelly/archive/2009/06/26/cleaning-up-un-named-defaults.aspx"&gt;read more&lt;/a&gt;)&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=14944" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Tips+_2600_amp_3B00_+Tricks/default.aspx">Tips &amp;amp; Tricks</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/TSQL/default.aspx">TSQL</category></item><item><title>How Dirty are your Reads?</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2009/04/10/how-dirty-are-your-reads.aspx</link><pubDate>Fri, 10 Apr 2009 23:08:11 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:13215</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>20</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/13215.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=13215</wfw:commentRss><description>&lt;p&gt;As a SQL Server consultant I get to see a lot of different sets of code written by all sorts of database developers from all over the world. And I have to say that one thing that is clear is most developers make abundant use of the &lt;strong&gt;NOLOCK&lt;/strong&gt; query hint or the &lt;strong&gt;READ UNCOMMITTED&lt;/strong&gt; isolation level. Now don’t get me wrong, I am NOT trying to say this is bad and people should not do that. There is a place and time for all the features and hints SQL Server has to offer and these can be quite handy indeed. The question is “&lt;em&gt;Are these methods overused or even abused&lt;/em&gt;” by the average shop these days? I had a recent conversation with someone close to the SQL Server dev team who stated that some of the members of the dev team would be surprised to hear that.&amp;#160; Personally I am surprised to hear that they would be surprised to hear that :).&amp;#160; So I ask the rest of the known universe out there what you think. Are dirty reads abused more than they should be? Technically if they weren’t doing anything wrong at all it wouldn’t be abuse now would it?&amp;#160; But I think you get the point :).&amp;#160;&amp;#160;&amp;#160; &lt;/p&gt;  &lt;p&gt;&lt;em&gt;But&lt;/em&gt; before you answer that question let me talk a little about what the dangers of dirty reads using either NOLOCK hints or setting the isolation level to READ UNCOMMITTED are.&amp;#160; None of this information is new and lots of people have already written about the pitfalls many times. &lt;a href="http://www.solidq.com/na/MentorDetail.aspx?Id=37" target="_blank"&gt;Itzik Ben-Gan&lt;/a&gt; for one, publically speaks on this subject often.&amp;#160; But I find developers on a regular basis that fail to realize all of the implications. Lets touch on the more common ones here:&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Dirty Reads:&lt;/strong&gt;&lt;/em&gt;&amp;#160; &lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This sounds like an obvious one but many people simply don’t understand that using NOLOCK as a hint doesn’t just prevent you from blocking other users, it allows you to potentially read dirty data. You never know when or if you have read dirty data so unless the data is read-only or static so you may be making decisions based on incorrect values. After all this is the main purpose of locking in the first place right.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Read Errors:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;What happens if you are in the process of reading a row or page that someone deletes or reading a page that is in the process of splitting?&amp;#160; You can and most likely will get an error. This is a fatal error and most applications are not set to properly handle these types of errors.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Reading Rows Twice:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;If you are in the process of doing an IAM scan and read a page that gets split after you just read it you can actually read up to half the rows from that page again since the split page will go to the end of the IAM chain. &lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;&lt;strong&gt;&lt;em&gt;Missing Rows:&lt;/em&gt;&lt;/strong&gt;&lt;/p&gt;  &lt;blockquote&gt;   &lt;p&gt;This is the opposite of the scenario above. You can actually miss rows if a page is moved back in the IAM chain before you read it.&lt;/p&gt; &lt;/blockquote&gt;  &lt;p&gt;So the bottom line is that if your application depends on accuracy and data integrity then you probably shouldn’t be using this isolation level for that part of the applications queries. Yes as I mentioned earlier there are certainly good uses for this and it can speed up certain queries and reduce the number of locks generated. But as with any technology there are always two sides to consider as nothing is for free.&amp;#160; Are you writing an app that is using NOLOCK and calculating my checking account balance?&amp;#160; I certainly hope not. Unless you want to credit me with some extra cash in the process :).&amp;#160; But if your app doesn’t take into account all of the things we just discussed I say you are abusing it. If it costs you accuracy / integrity or stability when it wasn’t intended then yes you must seek help as you are an abuser :).&amp;#160; So what do you think, is the world full of abusers? &lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=13215" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Developer/default.aspx">Developer</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Humor/default.aspx">Humor</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Trivia/default.aspx">Trivia</category></item><item><title>Getting back to the basics with I/O</title><link>http://sqlblog.com/blogs/andrew_kelly/archive/2008/01/13/getting-back-to-the-basics-with-i-o.aspx</link><pubDate>Sun, 13 Jan 2008 15:25:13 GMT</pubDate><guid isPermaLink="false">21093a07-8b3d-42db-8cbf-3350fcbf5496:4517</guid><dc:creator>Andrew Kelly</dc:creator><slash:comments>3</slash:comments><comments>http://sqlblog.com/blogs/andrew_kelly/comments/4517.aspx</comments><wfw:commentRss>http://sqlblog.com/blogs/andrew_kelly/commentrss.aspx?PostID=4517</wfw:commentRss><description>&lt;p&gt;&amp;#160;&lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; One of the most common trends that I see related to performance &amp;amp; scalability with SQL Server is a poorly configured or implemented storage subsystem. There is a ton of information out there on this subject but in my opinion that is part of the problem.&amp;#160; Too much data is not always a good thing and there is a lot of misinformation out there as well. I also see a lot of systems that were configured based on the advice someone gave them or they read about which may have been great for that other system but not necessarily for theirs. &lt;/p&gt;  &lt;p&gt;&amp;#160;&amp;#160;&amp;#160;&amp;#160; So I think it is time we got back to the Basics and Best Practices when it comes to I/O in SQL Server. Again in my opinion and my experience from seeing systems all over the world this list should get people off on the right foot if they are not sure what they need or how they should approach a proper I/O configuration. The first article hits the nail right on the head and is a great place to start. The next two give a very good understanding of what actually goes on when SQL Server makes I/O requests and explains the terminology so that everyone can talk the same language. The 4th link is a relatively new white paper to most that should be sort of a bible and gone over long before you deploy or even buy the equipment for your next SQL Server.&amp;#160; And finally there is a link that everyone should be aware of that gives you access to a whole host of white papers that should be read as needed.&lt;/p&gt;  &lt;p&gt;&amp;#160;&lt;em&gt;&lt;strong&gt;SQL Server Storage TOP 10 Best Practices&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/storage-top-10.mspx" href="http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/storage-top-10.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/storage-top-10.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;SQL Server 2000 I/O Basics&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspx" href="http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sql/2000/maintain/sqlIObasics.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;I/O part 2 for updates to SQl2000 SP4 and SQL2005&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/technet/prodtechnol/sql/2005/iobasics.mspx" href="http://www.microsoft.com/technet/prodtechnol/sql/2005/iobasics.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sql/2005/iobasics.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;SQL Server I/O Pre-Deployment Best Practices&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx" href="http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx"&gt;http://www.microsoft.com/technet/prodtechnol/sql/bestpractice/pdpliobp.mspx&lt;/a&gt;&lt;/p&gt;  &lt;p&gt;&lt;em&gt;&lt;strong&gt;Overall SQL Server Best Practices&lt;/strong&gt;&lt;/em&gt;&lt;/p&gt;  &lt;p&gt;&lt;a title="http://technet.microsoft.com/en-us/sqlserver/bb331794.aspx" href="http://technet.microsoft.com/en-us/sqlserver/bb331794.aspx"&gt;http://technet.microsoft.com/en-us/sqlserver/bb331794.aspx&lt;/a&gt;&lt;/p&gt;&lt;img src="http://sqlblog.com/aggbug.aspx?PostID=4517" width="1" height="1"&gt;</description><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Best+Paractices/default.aspx">Best Paractices</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Documentation/default.aspx">Documentation</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/I_2F00_O/default.aspx">I/O</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Performance/default.aspx">Performance</category><category domain="http://sqlblog.com/blogs/andrew_kelly/archive/tags/Storage/default.aspx">Storage</category></item></channel></rss>