Welcome to the Spotlight Behind SQL Server, a new series from SQLServerCentral.com. As we've grown and spent more time covering SQL Server, we've slowly gained a number of contacts inside Microsoft, including those that develop the product. And we decided to try and interview the SQL Server people inside Microsoft. There are lots of people working on SQL Server 2005 and our goal to is to eventually get to them all.
We know that there are lots of technical things we could ask, and lots of easy marketing questions we could get from them, but you probably read most of those questions elsewhere. So we thought we'd make them think a bit more and get some interviews that showcased the people behind SQL Server. To that end, these interviews will be a little bit different and give you a look at the amazing team that builds SQL Server.
We caught up with Steve Schmidt, the backup guy, having worked on that particular feature for nearly 9 years.
SSC : What exactly do you do at Microsoft?
Steve : I am the development owner for the SQL Server Relational Engine Backup/Restore components. On good days I am busy writing code to deliver features that our users want.
SSC : What feature(s) of SQL Server 2005 did you really enjoy working on?
Steve : The online page restore feature.
SSC : Can you give us an idea of how online page restore works?
Steve : Page restore is just a specialization of file restore. The scenario which we wanted to address was torn pages after a hard crash. As I’m sure most of you know, a torn page happens when an 8K write is broken into 512byte sectors, some of which make it to the disk, and some of which do not. Currently, we can not seamlessly recover from this situation. In sql2000, you had to perform an offline file restore as the smallest granularity of “repair”. In sql2005, the torn page is marked as “RestorePending”, and logged into msdb..suspect_pages, a system table. We depend on intervention by a DBA or “roll your own” tools to initiate page restore. It works much like a file restore, except that the filegroup hosting the page can remain online. After the data is restored, the logs are restored up to the point at which the page was taken offline. Then the page is made normally available again. Until that “restore with recovery”, any query that touches the page will fail with an 823/824 error (I forget which at the moment). One of our objectives in sql2005 was to enable as much “partial availability” as was possible in the release.
Page restore was almost cut by the management team, but I was able to convince them, with help from the CSS/PSS teams to keep it in the release. That might have been the most fun part. Playing politics is a very small part of my job, but when you have a feature 99% complete, it is hard to discard it, just because it carries some risk, test work and doc work. I hope the users find that it can save them from a full restore in some cases. Going forward, you can expect improvements, such as automatically recovering from the torn-page.
SSC : How long have you been working on SQL Server?
Steve : About 9 years, since SQL7 Beta 3.
SSC : What's the biggest database you've backed up in your development?
Steve : 3TB. This was on a massive HP benchmark system with 64 processors and I forget how many thousand disks. We were seeing almost 4GB/sec! I forget the total time to complete, but I think it was around 20 minutes.
SSC : What do you think about Microsoft leaving the backup/restore area so open to third party competitors?
Steve : I think this is a good thing on several fronts. One aspect is that the big backup vendors can handle the “big” picture such as multiple systems, multiple operating systems, tape vaulting, etc. We only have a small team, and we will not be able to deliver a full story for many complex customers. Hopefully we’ve addressed the needs of most smaller and mid-sized users. Another view I take is that it is good for the market if Microsoft leaves room for other companies to innovate. That is good for customers, since they have multiple choices.
One of the problems that capitalism has is that economy of scale can lead to monopoly, and thus less real choice for the consumers. I have little respect for monopolists that just want to make money. At the end of the day, the goal of all this innovation is to advance civilization. That is best accomplished when an environment exists in which it is possible for many innovators to enter the market. Hmm, maybe too much philosophy and I just went on a tangent?
SSC : What language do you usually work in?
Steve : Almost exclusively C++. Sqlservr.exe is almost entirely in C++. I started playing around with C# and I really like it. It is nice to work at a higher level of abstraction and be more productive. But raw C just gives a real feeling of control that is hard to relinquish.
SSC : Give us a little background on yourself, how did you get into computers?
Steve : I grew up in Winnipeg Canada, as an “airforce brat”. We moved around a lot as my dad was transferred. My favorite location as child was Prince Edward Island. Wow do they have awesome, uncrowded beaches (at least in 1974)! I washed out of hockey at 6 years old, so it was pretty clear to me early on that sports weren’t going to take me far. But fortunately, math was always easy and seemed to come more naturally to me than most of my classmates.
My first experience with computers wasn’t great. I almost dropped out of my computer class in grade 12. We were using punch cards to write COBOL programs (yuck!). We had to type them up, hand them to the teacher who then sent them over to the data center for processing (double-yuck!!). Next class, he would hand back the printouts of the compile errors, and if you got it right, the output of the program, which hopefully ran the first time. With this kind of turn around, I became pretty focused on typing accuracy as well as code correctness. At the end of the term, I really had no interest in a career in computers.
SSC : What was your first computer at home?
Steve : It was an AT clone, x286 with 1MB memory, monochrome graphics. I used it primarily to take home my work building financial analysis products. The “intellivision” game box was much more compelling for games. I loved “Sea Battle” and “Utopia”. My little brother Dave delighted in his ability to destroy my whole fleet with a little PT boat! He ended up becoming a pilot, putting his excellent eye/hand skills to work.
SSC : Where did you attend college and what was your degree/major/concentration?
Steve : So then I went to first year University of Manitoba. I took math, physics, chemistry and computer science. I really liked chemistry, but it was very hard. Computer science on the other hand was a piece of cake.
Wow, we actually had machine rooms where you could type your programs on cards, and them feed them into the card reader to get your results back in a few minutes! By the end of my first year, we had terminals which allowed you to edit your programs and no cards required. This started to get a LOT more interesting and rewarding. So being a bit lazy (like many of us), I decided to enroll in the computer science program, rather than fight my way through chemistry. At the end of my 4 year degree I won the University Gold Medal (highest marks).
SSC : Did you see yourself as a programmer/developer when you were growing up?
Steve : Absolutely not. It was so long ago, that I don’t really recall if I had career aspirations until second year university. I definitely liked my weekend job as a dishwasher in a cabaret. I got to meet a lot of cool musicians and went to a lot of parties J …but I know being a “roadie” wasn’t going to cut it!
SSC : How do you like living in Redmond?
Steve : It is awesome. Moderate climate, never too hot, never too cold. I’m actually used to the clouds in the winter now. And best of all: almost no mosquitoes! Lakes and mountains are within driving distance.
SSC : Who's the most fun to work with at Microsoft?
Steve : I wouldn’t want to single anyone out. But probably my old gang from my IBM DB2 days. Microsoft picked up a bunch of us in the late 90s from the Toronto development lab.
SSC : We've all heard stories of some characters at Microsoft. Any interesting ones that stunned you or surprised you when you first went to work in Redmond?
Steve : Nothing really surprised me. Software is a great industry for “party animals”. We work hard and party hard….and if I told any stories I’d probably get in trouble with the “star” of the show.
SSC : What's your current favorite tech gadget?
Steve : My little ski boat. My wife turned 40 last year, so I bought a used 20foot Maxum for her birthday. She was pretty happy about that, since she’d been talking about getting a boat for at least a decade. Amazing how time flies when you’ve got 2 kids to look after.
SSC : What does Steve like to do when he's not working on SQL Server?
Steve : This summer, it’s taking the family skiing/tubing on Lake Sammamish. It is only 15 minutes from my house. In winter, its ski season. Also, I started playing ice hockey again. Sure, I still suck, but its just for fun 🙂
SSC : What's your position in hockey?
Steve : I prefer to play left wing, but as a “utility grade” player, I’ve played center, right wing and defense. Goalie is definitely not going to happen 🙂
SSC : Would you rather coach hockey in college/NHL or develop SQL Server?
Steve : If I had the talent, I’d have to go with hockey. Software development is hard. Mistakes cost people $$$ and aggravation. Hockey losses are just a game after all. But given who am I, I’ve grown to love storage engine internals. There are lots of cool problems to solve involving high performance utilization of multiple cpu and disks.
SSC : Can you do any tricks water skiing?
Steve : I’m really good at falling, LOL. Just like hockey, my limited athletic ability shows. Last week my brother-in-law came down from Vancouver BC and pulled me on the tube. The water was really rough. I almost bit my tongue off. Constructive interference of waves is a marvel of physics to experience! And on the whip, you just can’t let go, cuz it seems it would hurt too much at 42 years old.
SSC : Will we see you at the PASS Summit this November?
Steve : Maybe. I always like meeting the “real users”.
SSC : Any final words?
Steve : Thanks for the opportunity to reach out to my fellow IT workers. We really are changing the world one step at a time. Let’s keep up the good work, being careful to protect privacy of the user and most importantly, the integrity of their data. I share the dream that IT will help bring the “family of man” together to help put an end to the seemingly endless bloodshed, ignorance and hatred between the “Sons of Adam and Daughters of Eve”.