Roger Wolter has 27 years of experience in various aspects of the computing industry, including jobs at Unisys, Infospan, and Fourth Shift. The last five years as a program manager at Microsoft. His projects at Microsoft include SQL XML, Soap Tool Kit, SQL Server Service Broker and SQL Server Express. His interest in the Service Broker was sparked by messaging-based manufacturing systems he worked on in a previous life. Currently splitting his time between the Service Broker and the SQL Server Express projects for SQL Server 2005.
Greg Low: Introducing show number seven with guest, Roger Wolter.
Greg Low: Our guest this evening is Roger Wolter. Roger has 27 years of experience in various aspects of the computing industry, including jobs at Unisys, Infospan, and Fourth Shift. The last five years as a program manager at Microsoft. His projects at Microsoft include SQL XML, Soap Tool Kit, SQL Server Service Broker and SQL Server Express. His interest in the Service Broker was sparked by messaging-based manufacturing systems he worked on in a previous life. Currently splitting his time between the Service Broker and the SQL Server Express projects for SQL Server 2005.
Roger Wolter: Thank you.
Greg Low: First up, how did you come to get involved with SQL Server in the first place?
Roger Wolter: Long story. I’ve been interested in it for pretty much my whole career in various forms. When I came to Microsoft I came in through the Com-Plus team as an evangelist. Did that for a few years, there was an opening in SQL 2000, the SQL XML team. I went over there and worked on that for a while, until we shipped that. Moved… You said in my biography, Soap Tool Kit for a few years until .NET came and took over that aspect of Soap.
Greg Low: Which Soap Tool Kit was that?
Roger Wolter: It was Soap Tool Kit 2.0 and 3.0. That was a native Soap Tool Kit based on Microsoft XML. Those kinds of things. That’s pretty much totally gone I think from most of the things that are happening lately. Been totally replaced by the .NET Soaps tag. As kept up with the times as Soap has changed. When the Service Broker team had an opening I moved up here. Been up in SQL Server engine for the last almost four years now.
Greg Low: Great. And so, that really leads us to SQL Server Express. One of the first notable thing about Express is it has SQL Server in the name now. One of the things I used to find with MSTE is people seemed to not think of it as SQL Server because of the name. Did you tend to find that?
Roger Wolter: Good point. One of the things we wanted to do when we went to Express was pretty much totally re-launch the MSE concept. Move it into being a free database, that was the market segment we worked with. For example, MSDE had the process which was a fairly reasonable thing to do. Worked fairly well. Very misunderstood by people, there are still people today that will swear you can’t have more than five connections on there.
Greg Low: I spent quite a bit of time on the MSTE news groups. Should share that Andrea Montanari, he’s one of the ones… The number of times I’ve seen him answer that same question is outstanding. People endlessly quote the fact that it’s like a five-user thing. Forever on those news groups explaining what that really does.
Roger Wolter: Could be. We’re trying to express… Make the throttling part of it very simple to understand. The only throttling we have is a single-user one. Obviously limits the amount of scalability that you have. It’s very predictable and understandable in terms of when you run out of memory you start slowing down. Slow down in a very predictable manner just as if you ran out of memory on another SQL Server.
Greg Low: So with just the memory limitation and the single processor. If the machine has multiple processors it simply just ignores the other processors? Is that what you’ve done?
Roger Wolter: Yeah, it’s basically SQL Server does its own process scheduling internally. What we do is start one scheduler in SQL Express. Means that we won’t necessarily always use the same processor, but we’ll only use one at a time because there’s only one schedule that’s actually scheduling asks.
Greg Low: What happens if you have multiple instances of SQL Express?
Roger Wolter: Instances will then take a processor. You may, if you are doing that, you may want to play with affinity to the data. Never get the same processor. They’ll be like any other jobs running on a multi-processors system. Get the grab the processor that’s available and work on it.
Greg Low: One of the questions that has been coming up; people saying “if I have two instances of it,” they’re interested in when you say “one processor.” Is that the same one? Would it actually give you additional performance if you had two instances?
Roger Wolter: I would expect it to give you better performance. Chances are it won’t end up on the same processor. The one running the first to come up will be it. The next instance that comes up will grab the next one.
Greg Low: And the database size limitations?
Roger Wolter: Four gigabytes. We’re up from two gigabytes, up to four. What we did when we served a bunch of MSD product customers, very few had two gigabytes. The four is more in the ballpark. They are going to be people out there who want to store huge quantities and images, something like that. A database with four gigabytes is going to be a limitation. Four gigabyte storing is normal, relational data. From our experience, when you have a database much larger than four gigabytes you’re not going to be able to run it efficiently with one gigabyte of memory. Cache-base.
Greg Low: I think that’s good. The other question that comes up all the time is that it’s just the database files themselves, not the log file?
Roger Wolter: Yes, it’s just the database. One of the four gigabytes.
Greg Low: Who do you see the main target market for SQL Server Express is?
Roger Wolter: The biggest emphasis has been on integration with Visual Studio, obviously developers are probably our first market. What we want to do is be able to have a version of SQL Server on every developer’s desktop. You can without spending money on it actually have a version of SQL Server that you can develop with. Move that application upscale as your needs grow. Those kinds of things. That’s our priority thing. The other major market that we look at is the integrative area for websters. Many thousands of websites out there that need a fairly small database to store data to do something. If you have a huge entry system you’re trying to be the next Amazon.com, SQL express is not going to hack it for you. For the vast majority of small websites SQL Express is the ideal size. Being free it’s fairly easy to chew, get installed and working.
Greg Low: What about multiple database files or file groups? You’re able to do that, they’re all within the same four gigabyte limitation?
Roger Wolter: Within each database this is limited to four gigabytes. For example you can have a dozen databases on the same SQL Express instance. As I said, you’re running into problems with the unavailable buffer space with the one gigabyte. Nothing that would prevent you from having multiple databases, splitting your data across…
Greg Low: I was thinking more in terms of data files like NDF files, as well as the NDF file.
Roger Wolter: Those get counted. What would count as the total database size? If you have…
Greg Low: You can’t have all the files…
Roger Wolter: Yes you can, they just count as four gigabytes.
Greg Low: I noticed also in terms of things like things working on that. CLR integration, things like Reporting Services, Service Broker, what kind of limitations do we have there?
Roger Wolter: CRL integration works on modified… No difference at all there. Reporting Services is something that we’ve committed to put into SQL Express. That was done; the decision was done fairly late in the game, primarily to cater to… Had quite a few ISVs who said they would like Reporting Services as my reporting solution; don’t want them to be in a situation where I have to use one reporting system for the customers that are using SQL standard in a different reporting solution. If you’re using SQL Express. We made a decision to include Reporting Services in SQL Express that won’t be there just because we decided too late. Didn’t have enough time to get that done. One of the things in the future we’re doing is re-packaging SQL Express to include Reporting Services and managing Studio Express version. Those kinds of things. Be a more complete implementation. That’s probably sometime next spring, we’re targeting that. We don’t have confirmed data on that yet. That’s the next version of Express. Whether that comes out, it is part of a service pack. My guess is it’ll be a separate download, separate thing. It hasn’t been made yet, we’re going to have a new version of SQL Express available. Service Broker, that’s mine. It’s an interest of mine; one of the things we pushed hard for early on in SQL was to have Service Broker in there. We think there are a lot of scenarios where you want to be able to send messages from a Service Broker that is running on a client or people are sending you messages from Service Broker; running on a cash register. Those kinds of things. We want to have a Service Broker presence in SQL Express to get over the issues in terms of giving away Service Broker. There is a limitation built into the Service Broker protocol with Express. You can talk from Service Broker running on instances to a Service Broker running on standard. You could do the opposite way, from work group to Express. You can’t talk from Express to Express unless those messages get routed through a licensed copy of SQL Server.
Greg Low: Yeah, that’s good. I think that was a good compromise.
Roger Wolter: The main limitations we have, there are other smaller ones coming along.
Greg Low: In terms of tools, there was interest early on with Express Manager. That’s now dropped back out and is going to be replaced with a cut-down Management Studio?
Roger Wolter: Yes. One of the things we pushed hard to put into Express was to replace the short-coming of MSD. There weren’t any gooey tools for doing that. Our first approach was to model the separate product called Express Manager. It was going to be only the things that you needed to do in Express. Nothing else. We came out, there have been prototype out there for a while; people have been playing with. All that was there was the query editor. We had one dialogue that created databases.
Greg Low: I remember, created new database.
Roger Wolter: Right. That was out there, we left it out there to get feedback. What we found talking to customers and talking to people internally. There wasn’t a very big delta between what management’s view was and what people were looking for in Express Manager. The decision was made that it really doesn’t make sense to support different product lines. We decided to drop the Express Manager code. Instead, pursue taking the parts… There are all the Analysis Services things that are management… Don’t apply to Express. Taking all those things out and counting the Express edition of Management Studio. We’re in the process of doing that now. The hope is to have a native version of that that’s available as close to RTM as we can. I don't think there’s a firm schedule right now; that’s the target. When we do this next version of Express whatever we call that. We’re still working on marketing it, coming up with a good name. We’ll call it Express Plus or Express Complete. A few other things like that. When we come out with that; that’s when the official release of SQL Server Management Studio Express Edition is the official name we have for that now.
Greg Low: I think that will be a good thing. The other thing the issue that has always been a perennial thing. If I look on the MSD news groups. Installation and deployment have been the other things that have been a constant topic of discussion. Seem to be good plans afoot to help with that as well. When we’re dealing with Express?
Roger Wolter: We certainly hope so. That was one of our highest priorities when doing this; simplify the installation situation. One of the things that turned out to be a bad thing in MSD was we didn’t anticipate this going in was that we… Had choices in MSD. Use MSI-install, install it using the normal set-up everybody else used. Use the merge modules, make it part of your set-up. At first blush seemed like a great thing to do; you could actually embed express, MSD into your application, all those things. What we found out was when you embed that then it actually becomes part of your setup and part of your application as far as setup is concerned. We had no way of servicing that. Those of you with MSD would show up on add/remove programs. There’s no way to uninstall it without uninstalling whichever program put it in there. No way to service it without using patching things. Have to get a patch from the vendor who gave you their set.
Greg Low: I think a lot of that came to light with Service Pack Three and 3A. There were a lot of instances of MSD installed in lots of places where people almost weren’t aware were there. Also the service packs wouldn’t apply to them because of the installation mechanism. You’re giving them a service pack. I think that was quite a challenge.
Roger Wolter: One what we’re doing in Express is we’ll now fit into the Microsoft update services just like every other version of SQL Server. Be able to get patches to download. The way we’ve implemented that is we have an executable. It is a zipped setup thing that you can call from your program and everybody will be running the same set-up using the same thing; using the executable to set up Express. There should be a usual installation setup experience. Either do it in the foreground so people are aware of it, or do it… Like Visual Studio does it, quiet background task. Set-up without telling you it’s setting it up.
Greg Low: One of the other, the last of the installation-related things is the idea that they still require an admin-style install. See a lot of people who have a strong preference for database files; they can move it around without actually installing something as an admin. Is there anything in training that can address that in any way?
Roger Wolter: Installing SQL Server is always going to… I don’t want to say always. In the near future it’s going to require… Just because we have a large quantity of registry changes. Re-acclimate files, need to be an admin to do. One of the things you can do in application is use one-click install. In that case the… Even a non-admin user can set up you through the one-click. Set up an application that will then download and install SQL Express as an admin, even though the user running it doesn’t have to be an admin.
Greg Low: That would be a good interim solution regardless. It seems to be getting that initial Express footprint on the machine. One of the other things I noticed in MSD days, current days; the intention previously seemed to be that each application would install its own instance of MSD. In the case of Express the advice is now the other way around. By default everybody should use the same instance?
Roger Wolter: That’s kind of my design; we created an instance when you install Express by default. It’s installed with an instance name of SQL Express. That was just to make it easier for applications to use the same instances if they wanted to. You don’t have to if for some reason you want to use your own instance. Performance reasons, installation reasons, that’s acceptable. What we try to get away from is that it was common in some boxes to have three or four copies of MSD running simultaneously. Each one was installed as a different instance. That seemed… Three seemed wasteful. We tried to at least make it very easy for people to share instances if they wanted to share one. Leave the door open to not share it if they decide their application requirements require them not to share.
Greg Low: Okay. That’s great. That’s a good point to take a break there; we’ll come back after the break and talk further about SQL Express.
Greg Low: Roger, what I’ll get you to do is ask if there is anything you want to tell us about yourself, where you live, anything we can get to know something about you?
Roger Wolter: Okay. I live in Kirkland, Washington. About 15 miles from campus, so it’s a convenient drive coming in. Come in early in the morning. I have three daughters, only one of which still lives at home. She’s 22. I have a 25-year-old that lives in Japan, and a 28-year-old who lives in Denver. My middle daughter lives in Japan, teaches English there. Totally loves it. I fully expect that she’ll probably never move back here.
Greg Low: Great place.
Roger Wolter: Most exciting things.
Greg Low: Which city is she in?
Roger Wolter: Takamatsu. Shoku, one of the islands off the south coast.
Greg Low: I actually, over the last few years I’ve done quite a bit of training with U.S. navy guys at Yokusoka Navy Base, places like that in Japan. Been interesting, been living on-base. Training the navy personnel over there. What is interesting is the number that have moved there and seem to have no intention of going back anywhere else. They made it home now. It’s kind of interesting. Certainly on the base itself you could be in an American city, except maybe the McDonalds or whatever has Japanese stuff; McTeryaki burgers. It very much feels like being in an American suburb. As soon as you step outside the door of the base it’s a different story. Love the place, I find Japan really great. Excellent. Continuing with SQL Service Broker things, I think one of the key things is sorting out the reporting thing. Big issue because we only had any of the ISB breakfasts we’ve had. The message that was coming loud and clear was people wanted to be able to ploy across a wide variety of thing from high-end SQL Servers to SQL Express or MSD at the time. They really don’t want to have two different reporting strategies. Nobody wants to write reports twice. One of the things I’m interested in is… What I personally would have loved to have seen is a move to have almost the same functionality apart from the enterprise features. Pretty much down to Express-level. More so just limited by resources like you have with memory and database size? Interested in the thinking there; I would’ve thought the more things you have in the box like Analysis Services. You would think you would quickly grow to databases that wouldn’t fit inside the size limitations. People would have to grow up to bigger systems. The thing I like about doing something like that is at least you get… People can develop applications in one specific way. Does that make sense?
Roger Wolter: Yes, it does. That’s one of the internal conflicts we’re continuously… You on one hand want to… Everyone wants their features to span the entire breadth of the product line. As you said, that’s the way get people started at a lower level and move them up as their needs increase. There are sound reasons for doing that. At the same time the flipside of that argument is that if you can do everything that you want to in the free database, the motivation to start moving up goes away. It’s a very fine balancing act if Express had all the features that Enterprise does… Have a fair amount of difficulty selling the Enterprise. That’s the trade-off. I guess a good example was Service Broker. When we first started that was going to be a standard Enterprise-only feature. We moved it down into the lower skews because we saw a real need for it there. When we did that we lost differentiation between the skews. Now one of our new features is available. CLR and XML, those kinds of things are now available across product lines. Harder to differentiate.
Greg Low: I think it’s probably… Spent a fair bit of time in the ISB camp. Single application and they don’t want to do different strategies on the size of the client. Very happy with resource limitations, things like that. Most of the trick seems to be getting a foot in the door at a lot of the sites. Very big sites it’s interesting that… I found that the MSD was a great way to get a foot in the door. For example, I’ve had clients that have started, one in particular, single-user MSD system. In the end bought 10 Windows 2000, three Services, full SQL licenses and exchange licenses, processor license. Never had gotten the sale if we hadn’t gotten in the door with the MSD system in the first place. Interesting.
Roger Wolter: That is the strategy behind the express and behind… If you look at it we’ve added a lot more to express that wasn’t there in MSD. Specifically before the three instances.
Greg Low: It’s a great story.
Roger Wolter: The other issue that came up in Express was especially for the Visual Studio scenarios. Wanted to be able to express Visual Studio, in turn downloads a lightweight SQL Express. We worked hard at was keeping the download size down. Now in the final version a 32-bit download is right now under 40K.
Greg Low: Under 40 megs.
Roger Wolter: Under 40 megs, I’m sorry. 40,000 would be cool. That would be outstanding, it would never work.
Greg Low: Wouldn’t do much.
Roger Wolter: That was recently, we originally grabbed full-text search out of SQL Express. Full-text search with word breakers in all languages was almost as big as SQL Server. SQL Server engine; we pulled that out, as we put it back in we drew our next version. What you’ll find in the next version is the download size will probably be fairly larger. The idea is that if you want the full features, you should be willing to download more stuff to get all those features.
Greg Low: Absolutely.
Roger Wolter: The engine will still be available as a separate download.
Greg Low: Heard Jackie Goldstein on .NET rocks last week, talking about the full-text search; now going to be in SQL Express. Really good news. One of the things that intrigues me is as computing people, we tend to always like things nice and neat and precise. End users like things fuzzy and bits and pieces of things they’re looking up are different parts of words. Full-text, the indexing stuff is just great for that. I have an application I use myself on my desktop where it could possibly get replaced with some of the desktop search things now. Little application where it sits there all the time. Thing called Frontal Lobe or something. I have added something I want to remember, find me stuff I want to remember. Based on full text search it’s been an absolute God-send. Throw things in there I want to find later. Little bits of text, it’s fabulous.
Roger Wolter: Good. That was our primary motivation for moving full-text search back into Express. Saw it as something that there is a high demand for it in some of the lower end-markets. Full text search gets to be fairly big because full text search itself is only around five megs. But the word breakers obviously have word-breakers that understand many different languages and stuff. A lot of text they have to do that. Pretty huge because we span a fair number of languages.
Greg Low: Around the places I deal with I’ve not seen full-text search all that widely deployed yet. I think myself it has amazing potential. I’m interested in why you think that has been? It’s not all that widely-used yet. Just in SQL Server in general.
Roger Wolter: It’s hard to say. Part of it is that I think it’s only very useful in certain sizes of… Especially in Express. If you only have four gigabytes of data the chances of you having a lot of text to search through are fairly limited. The full speed relational data; they don’t have raw textual data. There are certain kinds of applications where you are storing documents, you are storing descriptions. We’ve had that. We’ve had a fairly robust adoption of certain types of applications. The other thing I think that held that back in SQL 2000 was building and maintaining the full-text indexes. That was difficult with processor time. One of the things we’ve done in SQL 2005 is building full-text indexes; orders through that. More than there were before. We’ve had people that went from building their full-text index taking pretty much a whole day down to an hour or so. It has become a lot more manageable and easy to do.
Greg Low: I think also the fact that the catalogue sat outside the database; people figured it was then requiring different management strategies to the rest of the database? Is that an issue?
Roger Wolter: There was, that’s one of the things we addressed in SQL 2005. The catalogue still physically exists outside the database; at some point we’ll come up the way of moving that in. For right now we’re still using the Windows full-text search engine. Exists externally. When you back up the database we’ll automatically back up the full-text catalogues with it. Managing the space; managing the backup and restore your full-text catalogues is simpler than it was in SQL 2000.
Greg Low: That’s great. Well thanks for that. Great to find out what things are happening in your world in terms of presentations or things that you’re doing, places you’re going? One of the things I noticed your book on Service Broker is that released yet?
Roger Wolter: I can go through that. Yes, my Service Broker book published at the end of July. It’s been available for quite a while. You can see the numbers go up and down on Amazon.com in terms of ranking. I’m still haven’t gone above 30,000 in the times that I’ve checked. We’ve had a fairly good adaption of that; I’ve had some fairly good responses from people. I just got back from PEC. Saw quite a few people there that were excited about Service Broker. I think we had the biggest attending the biggest Service Broker presentation we’ve ever had at PEC. I think it’s condoling; it’s something people are finally beginning to understand what it is, what it’s for. What it’s good for. Next week I’m going to PASS down in Dallas, assuming the hurricane doesn’t blow it all away.
Greg Low: That’s good. I’m hopping on a plane myself on Sunday to head that way. I’ll get there late in the day Sunday your time. I keep looking at the weather forecast, wondering if that’s going to be wise. We’ll wait and see. I’m looking forward to the PASS conference.
Roger Wolter: I’m not going down until Tuesday because of other commitments I have. I’m seeming to be at the same presentation but better than it was at the beginning.
Greg Low: Presenting a session there?
Roger Wolter: No, I’m not. Heading down there to do work in the booths, questions and answers. Be at the MVP side at the end. Couple weeks after that going to VS Live, doing SQL Express presentation there.
Greg Low: Excellent. Where’s VS Live on? We have one in Sydney in November.
Roger Wolter: It’s in Orlando.
Greg Low: Excellent. Thank you very much Roger for your time. The good part is I’ll get to meet up with you next week at PASS.
Roger Wolter: Good, I look forward to it.
Greg Low: Thank you very much, that’s great.