A Sneak Peak at Windows 2003
Introduction
The next generation of Windows Server has recently been released by Microsoft. I'm sure everyone has heard of the .NET Server, which in case you haven't heard, was renamed to Windows 2003. As with all new Microsoft software, I'm sure many of you are skeptical and a little nervous about upgrading. I know I am, but my company will be deploying this soon (we're an early adopter) and so I knew I needed to learn a little about it.
Recently Microsoft put on a two day seminar on Windows Server 2003 in Denver and I attended to get a look at what has changed and where my SQL Server might be impacted. Here are some notes and some impressions from the perspective of a SQL Server DBA on this new software.
First Impressions
At first glance, it looks like the Windows XP interface was merged with Windows 2000 to create a nicer looking interface. OK, I've grown to like the XP interface, but is that a big deal? Not really. It doesn't really impact me from a SQL persepctive. The things that I did notice are the standard things that always seem to be improved with each generation of Windows, yet always have lots more room for improvement. A few things touted:
- Fewer Reboots - According to the book I received (Introducing Microsoft Windows Server 2003 by Honeycutt, MSPress) and the instructor, there are fewer reboots. Whoo-hoo! Heard it with Windows 2000 (and it was true), we'll see to what extent this helps SQL Server.
- Clustering - up to 8 nodes, can be 7 active, 1 passive, which helps to sell the technology for larger companies. Smaller companies are probably still stuck on the high cost. Another really cool thing is that you don't have to reboot to join/leave a cluster.
That is cool!
And helpful, especially if you are patching or working on servers and want to keep things running. This goes a long way to refuting some of my thoughts about 0% Downtime Not sure you can avoid all downtime, but with a nice budget, you can probably substantially reduce downtime, including planned downtime. I'm not sold that Service Packs will smoothly roll out, but we'll see.
- Hot Add Memory - You can add memory dynamically to the server and the OS will pick it up. Now your hardware has to support this and probably only high end servers will allow this, but you could make a memory fix on a server without rebooting it. Less of a need to oversize a server at the outset, though you probably still need to do some homework. Asking for more RAM every month doesn't look good.
- There are 4 editions - You can see the list at Windows 2003 Editions, but basically they added a low end version, the Web edition, which is limited in functionality. Not sure this impacts SQL Server as most of you will run Standard or Enterprise with a select lucky few running Data Center. The cool thing is that there will be 64 bit editions, which should improve the performance of SQL Server if you have the hardware. Cool thing for SQL Server: High end limit is 512GB of RAM.
512 GIG-GA-GA-BYTES!
Now that is cool! Not sure what I'd do with all that RAM, but I'm sure someone needs it. Of course, with a single server that size I could probably get most of my databases on one server and in RAM!
- Hyperthreading - Windows 2003 will recognize hyperthreading and differentiate between physical and logical processors. I've heard some rumors about issues with SQL Server and Hyperthreading (something I'll dig into), but now the OS will understand the difference. Licensing will remain by physical processor, not logical.
- Application Verifier/Tester - A few new applications that will allow you to test applications at different patch/version levels. This can help with upgrades and checking of applications, especially in-house ones. More for the programmers, but it also gives you some ammunition to find where an application is having issues (if it needs to run on your SQL Server) and then complain intelligently to the developer.
- BITS - This seems cool. It's background transfer of files, including restarting in the middle. What's this mean to SQL guys? Well, if you need to move a large backup from production to QA, you can set it up to run in the background and work when the server is less busy. Need to look more at this, not sure how configurable this is.
- COM Enhancements - Better protection for DLLs, restoration, blah, blah. Cool stuff, will help recover and prevent mistakes to some extent. Hopefully you aren't installing too much stuff on a SQL Server. This also includes some DLL versioning features as well.
Kind of in line with this, there is a driver rollback feature (one version only) to help you undo some mistakes. Kind of like a Last Known Good for each specific driver.
- WINPE - A 32bit command line interface that boots from CD. Some security risks, but this can greatly help if you've got serious issues. Doesn't appear to be available for general release, Enterprise partners only, but pretty cool.
- Headless Operation - Got more support for no video/keyboard/mouse. Including remote serial support. Again, not sure of the benefit, but another option.
- Shadow Copy - Kind of a merge between Visual Source Safe for the file system and an enhanced recycle bin. Not sure if there's a SQL Server benefit. Can help reduce the number of restores, but there are a bunch of restrictions. Can't use mount points, recommended you have a second volume, etc. Check and plan before you implement this. This was recommended as a potential way to move SQL data (the .mdfs), but I'm not sure that is a good idea. Not sure I want to even test it.
- Terminal Services enhanced for remote administration - Lower overhead for protocol, better redirection and mapping from remote to local and vice versa. Sound, higher video resolution, printers, etc. Again, not sure it's a great SQL enhancement. One nice thing is you still have 2 connections, but you get a 3rd to shadow one of the two. Useful for remote hands and training.
- SAN Support - Greatly improved. Should help make deploying a database onto a SAN much easier.
- Shutdown tracking - Now when you shutdown, there are reasons you need to select. So you can mark as planned or unplanned, set as hardware, software, etc. Writes to the event log. Can help get better uptime statistics.
- Active Directory - Lots of enhancements, not sure they matter for SQL.
You can now rename domains (Easily), move them, better migration tools, etc.
- GPO changes - ditto, don't care from a SQL perspective.
- Printers - Who cares? If you do on your SQL box, take your hand, put it in front of you palm up and smack yourself on the forehead. Don't put printers on your SQL box.
- Security - For once the product installs secure by default. How secure? I'm not sure, but most things (so I'm told) are turned off and you have to enable them. This should lower the number of security problems, though you still have to be intelligent and not open everything back up. IIS isn't installed by default. Non-administrators can't write to the root of drives by default (leave this alone).
Lots more (certificates, other authentication support, encryption enhancemnts, etc). If you're really interested, read up on this (Windows 2003 Security)
- Scripting - Most things have scripting interfaces. Nice for admins, not sure about DBAs, but if you need to script some things, chances are you can. It seems that every program has a command line interface with pretty good help, at least from what I've seen in samples.
There are also a huge number of WMI providers for most everything. Hopefully they've fixed lots of bugs, I'm sure they have and there are new bugs, but that's software. Still, looks like you might want to brush up on your WMI skills.
- Performance Monitor is scriptable!!! This is huge. Now I can build a scriptable baseline without (expensive) 3rd party tools. It's a command line tool, you specify the counter, the internal, how many samples, output file (looks like SQL Server can be an output target) and you get a list of times and values. I'm guessing I'd need to start a few of these to get all my counters, but I haven't played with it. You can bet this will be one of hte first things I look at.
- Terminal Services - Better client support (redirect devices, support load balancing, etc.). Monitored via MOM. Licensing changes, I'm not too familiar with the old schema, so I can't comment too much on this. Instructor commented that the licensing is more consistent. Everyone now needs a license. There are a few choices; device CAL unlimited users, user CAL any device but only one at a time, and an External Connector, looks like a SQL Server Internet Connector.
There are some other areas that enhance the product (media services for example) but probably aren't of much interest to the SQL Server DBA. If you're curious read up on the area you're interested in.
IIS 6.0
Why do we as DBAs care about IIS? Well, it seems that SQL is getting tighter integration with IIS, XML queries, URL queries, etc., so understanding this is becoming more important. IIS is the next evolution and includes the .NET framework with ASP.NET. Some nice features are better process separation, so those of you that have multiple web sites on one server should have better isolation from bad code. The architecture behind this gets complicated, but it means lower level separation of processes.
Less reboots, so more code changes while the server is still running. You can also work around memory leaks or other bad code by having scheduled restarts of web applications. Not a great long term solution, but it will let you get some sleep while developers are fixing code. This restarting can be based on a number of factors, like memory, xx time elapsed, ping response time, etc. During the restart, the server will queue requests for the application.
Read more at What's New In IIS 6.0
Conclusions
There are lots of additional features that I haven't mentioned in this article. If you are really interested, you can find tons of information on Microsoft's website regarding Windows 2003. Overall, this is a new evolution and advancement in the Windows server family that improves upon Windows 2000. Is it worth upgrading? I'm not sure. For my company, we will be upgrading this summer because of our agreement with Microsoft to do so (and get substantial discounts). Here at SQL Server Central.com, I'm not sure. We'll be talking about it and trying to decide if it provides some benefits for us. If we do, we'll be sure to keep you up to date on what happens.
Steve Jones
©dkRanch.net May 2003