Microsoft Web Platform Installer

October 4, 2008 by Chris · 2 Comments 

I caught an interesting post on the Windows Server blog earlier today about the release of the Microsoft Web Platform Installer beta. This thing is pretty slick and if you do any web development in the Microsoft world, it’s something you’ll want to grab whenever setting up a new environment.

No more wandering around the various Microsoft sites trying to find what you want. Just run this new little app, set a profile (or go all custom-fu if you want) and let it download what it needs and get you ready to develop. It’ll even grab SQL Express 2008 and Visual Web Developer 2008 Express if you want or need them.

It includes the IIS 7 web server and whatever additional options or configuration might be necessary (and there appear to be tons of ‘em). Heck, it even has a PHP Developer’s profile for the web server config.

Web Platform Installer

Side Note: Microsoft must be getting into the PHP thing a bit. For instance, I’ve noticed Expression Web 2 offers PHP syntax hiliting and the built-in web server processes PHP as well.

Downside? The web platform installer is Vista and Windows 2008 only. No XP. *sigh* That’s a buzz kill.

Final note: The facelift at Microsoft /web is worth a look too.

Final Final note: As I finish this, I see Scott Hanselman has this announced as well. Check his post and the original announcement out for additional details.

Document Scheduled Jobs with Google Calendar

August 27, 2008 by Chris · Leave a Comment 

I’ve literally spent years trying to come up with a rational and simple way to document the scheduled jobs that I have running on multiple servers.

My jobs tend not to be anything fancy – in fact, Windows Task Scheduler and the scheduler in SQL Server tend to satisfy my requirements just fine. But lordy, I have a heck of a time keeping track of what jobs are running where. And most importantly: When

I’ve tried spreadsheets. Visio diagrams. Tons of different document and wiki layouts. Nothing ever has made it easy to see it at a glance or keep track.

Oh sure, when I had 3 servers to work with it is was quite simple. I have a lot more now though.

image My latest technique just might work though: Google Calendar.

As you see in the image, I’ve created a calendar for each server (hint: the “Create” link at the bottom of the list).

I then replicate each server’s scheduled jobs on its calendar. Frequency, duration and I’ll even add notes to capture what batch file or process is ran. I spent over eight hours going through all my servers today and I’m still not done, but the end is in sight.

Once that’s all done I have a nice visual representation of all my scheduled jobs. I can click on servers in the calendar list to hide/show their jobs. For instance, if I only want to see the jobs going on the servers at data center A, I just toggle all the other servers to hidden.

When all the servers are toggled to “on” I can very quickly find open spots (the few that are left) to schedule new backups or other data intensive jobs. For me, that’s really been the challenge: Making sure I don’t have cross-site backups or syncs going at the same time. I have to hoard my precious bandwidth against all the site-to-site VPN tunnels.

Each server’s wiki page now has a link directly to its specific calendar and my Job Schedule page in the wiki also has all the links collected. They’re all viewable by anyone in my domain, so co-workers can also have all this information readily available if they want or need it.

All in all, I’m pretty happy with this approach. Now if I can just remember to update it when I update jobs I’ll be golden.

Of course, when I have all servers being shown it can be a bit overwhelming:

Sample job schedules

But, a click on any of those little blocks brings up a little dialog with details so it actually works quite nicely.

Oh, the Agenda View in GCal is pretty good if you want to generate printed or printable documentation.

Encrypting SQL Server 2005 Backups

July 11, 2008 by Chris · 4 Comments 

There just doesn’t seem to be an elegant way to encrypt SQL Server 2005 backups. It certainly isn’t a built-in option and I’ve been spending time this week trying to think up something “elegant” to accomplish this.

Allow me to share today’s journey with you.

First Take

Many moons ago I didn’t bother with encrypting my database backups. I was more interested in compressing them since I keep them offsite and have to copy them down a VPN from the data centers.

However, a year or two ago I realized that it would be a good idea to drop some encryption into the mix since the storage location is accessible from our office LAN (assuming you know where to look…)

I cobbled up a little batch file that looks like this:

@echo off
for %%A in (*.bak) do 7z a -t7z -mx=9 -mmt=4 -pbigLongHairyKey %%A.zip %%A
for %%A in (*.bak) do del /q %%A

I just run it (via the Windows Job Scheduler) in each directory that contains backup files. It loops through all the backups and uses 7-zip to compress and encrypt each file. Not too shabby, eh? You gotta be old to remember how to do for loops in batch files… ;-)

Of course, you see the big downside to this I bet. Sure, my backups are indeed encrypted. However, if anyone’s bright enough to locate and look in the batch file… well, they’ll have the key.

Second Take

I figured that if I wrote a very simple VB program to do what the batch file does, I could at least stop exposing that key so readily to notepad. However, just calling it via a shell does me no good. Anyone with access to the box could see what processes are running. For instance, doesn’t Process Monitor show command line arguments for a process? (if it doesn’t, I bet something does.)

That idea got scrapped pretty quickly.

While mulling over this option, I also considered just changing the advanced properties on the batch file. If I were to log on as the batch process owner account and hit the “encrypt” box on that one file’s properties dialog, only that account would be able to edit or view the contents of the batch file. That works quite well.

However, my concern about being able to get command line arguments for a running process put the kibosh on that notion.

Third Take

Red Gate makes a nifty little utility called SQL Backup that claims to make life better. Among other things it offers some “native” encryption and compression options. I’ve had good luck with some other Red Gate products, so this seems worth investigating.

I grabbed the 14 day trial earlier today and installed it. However, I didn’t get very far before I had to send a note into their support for clarification on the licensing. See, you license this by “server”, but in this particular context I’m not sure if a server is the machine running SQL Backup or an installed SQL server. If the former, this is a relatively inexpensive option. If the latter, I can’t even begin to afford to license it for my dozen database servers (over $6000?).

So, this option is on hold while I await clarification. I’m pretty sure I can guess the answer though…

Fourth Take

Now I’m back to the coding option, ala “second take”. Instead of just shelling out to call 7-zip from my program I could acquire a library for similar functionality (I’m looking at the Kellerman Software Encryption library).

I’m generally pleased with how fast 7-zip works. I have to confess that I worry that I’ll end up with a library that’s “dog-slow” when encrypting a couple of my larger database backups.

Fifth Take?

Aside from coding something up, I’m not sure how else to approach this and am definitely open to ideas. I’ll be doing some more web searches this weekend, but I’ve yet to stumble over anything wonderful.

Tuesday Misc.

March 20, 2007 by Chris · Leave a Comment 

Did you catch the new Firefox 2.0.0.3 release today? Based on the release notes, it seems the primary focus was on security. I’ll have to track down the other changes — it seems to be running much better on my work machine since the upgrade (by better, I mean fewer CPU spikes that would essentially lock the machine for a few seconds). I’m curious why that might be.

Speaking of Firefox, I’ve been dabbling with Swiftfox on my old xubuntu laptop. I’ve only been using it for a couple weeks, this’ll be the first time I get a feel for how current it’s kept. I like that I can get a build targeted directly for my (old/ancient) processor. Seems to help it run a bit faster.

That reminds me, I need to keep an eye on the fluxbuntu folks and see if a release might be coming out soon. That might be just about what I’m looking for. I recently stumbled over this one, haven’t had a chance to do more than read a few pages on the site. It seems that fluxbuntu and Swiftfox would pair nicely together.

This weekend I upgraded a web server from a single core AMD Opteron 1800 to a dual-core AMD Opteron 2200. There seems to have been a difference based on a few comments and a noticeably lower avg. cpu load. Tonight I stopped at the data center on the way home and tossed in a second dual-core processor and another gig of RAM. I can’t wait to monitor it tomorrow!

Next to upgrade will be the database server as it is going to be pushed harder (our volumes are climbing nicely). It is currently a pair of hyper-threaded Xeons and just 4GB. I’m thinking it may be time to jump to 64bit for OS and SQL Server. More memory; databases just never say no to that.

I’ll be offline a bit over the next week with some family fun. Hopefully with some “down time” too!

… Sometimes You’re the Goat

March 8, 2007 by Chris · Leave a Comment 

Me as a goat I’ve spent a lot of time during the past couple weeks planning for some SQL Server 2005 upgrades. I’ve set up virtual servers, I’ve mirrored my dev and prod environments. Gone through the upgrades repeatedly. Taken notes on the processes and recruited regression testers. Everything was (if I dare say so) very meticulously planned.

Today was the big day. Starting the journey by upgrading the main development server — to be followed by an upgrade of our primary production servers this weekend if all went well. After some scheduling mishaps and the usual communications problems, it was determined I’d start at 5pm.

By 5:15 I’d finished my first run at it only to realize that the database instance hadn’t been upgraded. Hmm. Tried again and paid a little bit more attention to what was going on. Turns out that current SQL 2k install is not upgradeable. Whatever that might mean… probably related to the fact that the 2005 install is from MSDN. I’m now wondering if that’s where the 2000 install came from too? Have to check that first thing in the AM.

Well, the issue here is that in all my test scenarios it was upgradeable. Now I have to start over and test a full uninstall of the old version, re-install of the new version and then re-attaching the databases. In itself, that doesn’t seem like a big deal. But, I have this big ol’ pile of DTS (data transformation) packages that herds our nightly QA to Prod database sync. Uninstalling will lose those.

Oh, and DTS is deprecated in SQL Server 2005. Have to test to make sure I can still import these in some fashion after installing the SQL Server 2000 Design components in the new install.

Again, it’ll probably be a pretty simple test scenario tomorrow morning, but right now I’m just tragically bummed. I hate failing on something that I spent so much time planning. Not to mention such a public failure too.

[Cool goat picture from wYnand!]

« Previous PageNext Page »

  • About

    Wandering the Internet, looking at all things bright and shiny. Playing with many, writing about some. More...
  • Referrals and Ads

    Mozy Logo for Referral

    Dropbox Logo for Referral

    Dreamhost Promotion
    Get $50 off at Dreamhost — Just mention SOLOTECH50 when signing up!

  • Topics

  • Flair and Sparklies