SQL Server Storage Engine

Do you need to run CHECKDB because of SQL Server?

I  was asked this several times at TechEd so I'd like to answer it publicly. It's kind of complicated to explain so bear with me as I do it.

Basically, NO!

Earlier versions of SQL Server (for example, 6.5) had their problems but from 7.0 the storage engine has gone from strength to strength and is rock-solid. Yes, of course, there's the odd bug - I'm not going to pretend that we're perfect and I'm sure some smart-guy will post a comment pointing one out (thank you in advance) - but the simple truth is that the software is not the problem.

Now, ask yourself a question. Hands up how many people run their SQL Server on hardware? Anyone?

Daft question, right? Everyone runs on hardware. By 'hardware' I mean everything underneath the OS. There are millions of lines of code running in filter drivers, device drivers, controller firmware and drive firmware. There's memory, cpus, motherboards, controllers, drives, IO caches, SCSI cables - any of these can fail and I've seen them all, as I'm sure most of you have too.

It's the hardware that you have to be concerned about - with the myriad possible ways to setup a system to run SQL Server from combinations of hardware, who knows what could go wrong.

Actually, help is at hand. I realized as I was writing this that its the perfect plas to plug our new Always-On hardware verification. This isn't any new technology from us - I'm not trying to sell you something or force meaningless marketing on you, it's actually very helpful to you. In a nutshell, we've published the requirements of the SQL Server IO system and some hardware vendors have self-verified one or more of their hardware solutions against those requirements, publishing a detailed whitepaper explaining how they did it. This isn't any kind of certification from Microsoft, but it does give you more confidence that these solutions have been rigourously tested to the standards that SQL Server requires. Check out the Always On page for more info.

Ok - I kind of got distracted there - on to the post I really wanted to get out this morning...

Published Sunday, June 18, 2006 3:25 PM by Paul Randal - MSFT
Filed under:

Comments

 

SqlNews said:

Its been almost a month since the Storage Engine Blog was started and as Kimberley Tripp has mentioned its...
June 18, 2006 5:28 PM
 

SQL Server Storage Engine Do you need to run CHECKDB because of SQL | storage bench said:

June 14, 2009 6:01 AM
Anonymous comments are disabled

About Paul Randal - MSFT

Paul started in the industry in 1994 working for DEC on the VMS file system and check/repair tools. In 1999 he moved to Microsoft to work on SQL Server, specifically on DBCC. For SQL Server 2000, he concentrated on index fragmentation (writing DBCC INDEXDEFRAG and DBCC SHOWCONTIG) plus various algorithms in DBCC CHECKDB. During SQL Server 2005 development Paul was the lead developer/manager of one the core dev teams in the Storage Engine, responsible for data access and storage (DBCC, allocation, indexes & heaps, pages/records, text/LOB storage, snapshot isolation, etc). He also spent several years rewriting DBCC CHECKDB and repair. For SQL Server 2008, Paul managed the Program Management team for the core Storage Engine to become more focused on customer/partner engagement and feature set definition. In 2007, after 8.5 years on the SQL Server team, Paul left Microsoft to join his wife, Kimberly Tripp, running SQLskills.com and pursuing his passion for presenting and consulting. Paul regularly presents at conferences and user groups around the world on high-availability, disaster recovery and Storage Engine internals. His popular blog is at http://www.sqlskills.com/blogs/paul/.

© 2009 Microsoft Corporation. All rights reserved. Terms of Use  |  Trademarks  |  Privacy Statement
Microsoft
Page view tracker