June 2006 - Posts

Passed
    I'm doing a little work on the 70-441 exam book since an author flaked and so I took the exam today to get familiar with the type and format of questions. I passed (woo-hoo!!) with an 800-something, which was good. Especially since I need to write questions and case studies now.

It was interseting how different it was than the 70-443 exams. Even with similar case studies, or the same in a couple cases, the focus on how the questions are structured was much different. This is more of a technical exam, asking how specific things could be handled, though not really showing code. 70-443 was more of  an overview, a 10,000 ft design of infrastructure.

I guess I'm halfway now to my MCITP: Database Developer and halfway to my MCITP:Database Administrator.

Now I need to get someone to pay me to get ready for the 40-431 exam :)

Posted 26 June 2006 13:59 by Steve Jones | with no comments

How Embarassing
Yesterday (6/22/2006) was the day to send out our monthly vendor mailing. Last year we added a newsletter a month that we'd sell to the vendors to send out a message just from them, nothing else inside. The first few weren't successful, but they've gotten better and they bring in some much appreciated revenue for the site.

I try to get these sent out the 2nd week of the month because the last week has the end of month newsletter. This month was Idera and they were slow in getting me materials, so I was in a hurry to get it out yesterday. With next Saturday being the EOM newsletter, I didn't want to deluge people with too many newslettets in too short a period of time. I'm sensitive to the overflow of information as well as the need to generate revenue to make this company continue to grow.

So I'm hurrying and as I'm going through the Idera content and adding our unsubscribe stuff and have Andy on the phone. We send out the newsletters for the vendors through our own email system. Usually I dread this because we dump all emails into a table and then blast them out. Since the sign up confirmations go out through the same system, that's the day I usually babysit the system as well as respond to lots of "I signed up and didn't get a confirmation email" messages.

I know I'm going about this a little roundabout, but stay with me. This is good and embaressing for me.

So while back I asked Andy to work on getting a priority column setup so the confirms would go out high priority and everything else low priority. He's a better .NET programmer for an exe, so I let him mess with it. I'm rusty and I'd probably spend twice the time doing it and forget something.
 So like most projects we talked about it on the phone, debated about how many priorities, using tokens to send emails, storing the message once v once per email recipient, etc. One of the things we did decide to implement is a sending machine column so we could run this from multiple machines and scale it out. We had a few issues, and with some delays in the training center, we were working on the final version of this.

What does this have to do with yesterday? Well, as I was working on getting the emailer exe on a second machine, I started loading the emails for the vendor send. With some great growth this year and no bounce checker, I loaded 199k email addresses into a table. With a cope of a 20k message with each. Needless to say that's quite a load of data.

Enough that as I'm talking to Andy about how this works, I see my insert into statement is taking a long time. Like minutes instead of seconds. I'm distracted and confused, so I'm wondering what's going on when I get the dreaded "the log file is full for database 'sqlservercentral'. I was a little distracted with a .NET 2.0 upgrade on my second machine and I'm not sure how long that was up there, but it probably wasn't more than 5 minutes.

Immediately I know what to do and truncate the log, then check the space, allocate a touch more to the log, and rerun the insert. It runs this time
 and I start the emailer. A success there as we send about 40k message in the first hour from 2 machines. Typically that's about 3 times the speed it used to run at, so in addition to adding some features, the .NET 2.0 upgrade added some speed.

However it was the middle of the day and a number of you sent me notes about the error, which appeared on the site. I know we should trap the error, mail it to ourselves, etc. but I just haven't bothered to work the website error system. I'm not a web expert, though I am a database expert, which you might doubt after seeing the error. However I did a root cause analysis and determined...

I'm an idiot.

Well not completely, but I certainly wasn't paying attention. This was one of the largest data loads and even though there's GB of disk space for the log to grow, it takes time and freezes things and even then might cause issues since this is one large transaction. We have hourly T-log backups running, but I didn't think about it and mistimed the load. If I'd waited 5 minutes, I'd have had the next backup run and the log would have been mostly empty and it would have succeeded.

It was kind if a conglomeration of things happening, but the bottom line is that I shold have paid more attention to the load.

But I'm not the only one having issues. The SQLJunkies and MSDN blogs have been having fits the last two weeks as I've been scanning them for Database Daily content. About half the time they don't respond. :)

Posted 23 June 2006 15:17 by Steve Jones | with no comments

Training Center
We kind of opened the training center today. The pages are up, Google's charging us for their nice AdWords, and the announcement is set for Monday's newsletter.

Today was a bunch of emails between Andy, Brian and myself. Andy and I getting the pages setup, the schedule down, and the cart working for charges. Brian because he's teaching the class and he provided the outline and other info.

It's amazing how much work goes into getting this going. We got the PCs and Andy's been plugging them in, testing them, working on the whole imaging part. We're trying to use RIS for now, Ghost is  a backup if we can't get it working. We're hoping to Virtual PC the classes, but we need to be prepared for the machines getting screwed up and being rebuilt. Especially with Internet access available for the most part.

We've debated the whole Internet thing. We don't want to be draconian with people, but I do see the argument that if your boss is paying, even if that's you, you should pay attention and not be distracted by Poker, Zuma, or any other game out there. We're thinking to have ports and wireless for personal laptops always on, but disable access from the classroom clients while class is running.

It's getting exciting, especially with our first class being on SSIS, easily the most popular feature of SQL Server 2005. I see more blogs/articles/talk about SSIS than any other topic in SS2K5. And Brian's the expert, writing a book on it with Haidong Ji, Kathi Kellenberger and a few more authors.

We hope to see you in class at some point. I may journey down for the first one to help out and see how things go.

Posted 09 June 2006 15:48 by Steve Jones | 3 comment(s)