I had an opportunity to speak to the Richmond .Net Users Group last night as a last-minute fill-in guest speaker.

The folks in attendance were simply awesome! It was an honor (as always) to be able to present to a cool group of folks. Frank LaVigne, MVP (congratulations Frank on being awarded the 21st Tablet PC MVP on the planet!) and I had concerns about presenting a database-centric topic to a developer group. But it went very well. It turns out there are a lot of developers delving into SQL Server 2005 - either by choice or necessity.

"Hey you!
Do you know how to spell SQL?
Good.
You're our new database resource."


You laugh... this is a paraphrase of the discussion that converted Andy from a web developer to a SQL Server DBA...

I'm working on more Team System presentations for upcoming events, like the Richmond Code Camp. I will be presenting "SSIS with Team System" there and at upcoming user group engagements.

Plus, Frank and I are (re-) starting the Richmond SQL Server Users Group. The first meeting is planned for May 11, 2006 and we plan to hold monthly meetings the 2nd Thursday of each month. More details will follow...

:{> Andy

My "Buy The Book 2006" tour rolls on! :)

In April, I will be speaking at the following locations:

If you're going to be in the area one of those dates, please stop by and introduce yourself as someone who reads this blog!

:{> Andy

I ran into a couple errors recently when trying to create new SQL Server Integration Services (SSIS) projects. One error stated:

Failed to save package file "C:\Documents and Settings\Administrator\Local Settings\Temp\1\tmp2B.tmp" with error 0x80040155 "Interface not registered".

The other stated:

Failed to save package file "C:\Documents and Settings\Administrator\Local Settings\Temp\1\tmp2B.tmp" with error 0x80040154 "Class not registered".

These errors were encountered on a new laptop and a new virtual PC. Both had Visual Studio 2005 installed, so I suspected some sort of conflict. On the VPC, I loaded VS 2005 first, followed by SQL Server 2005 Developer. I noticed the client tools didn't install, although I thought I'd checked that box. To correct, I executed the setup for client tools. When completed, my client tools were available and creating an SSIS project succeeded.

But the laptop wasn't so simple. I thought "I have a solution!" and went about re-installing the client tools, but it didn't correct the issue!

So I popped on Google and searched for similar issues. I found a helpful post at MSDN Forums: http://forums.microsoft.com/MSDN/ShowPost.aspx?PostID=53694&SiteID=1. Executing two RegSvr32 commands did the trick:

regsvr32 msxml3.dll
regsvr32 msxml6.dll 

When executed, I received the following messages: 

When all else fails, read the instructions!

:{> Andy

I was honored to present a session on Beginning SSIS Development at the NoVa (Northern Virginia) SQL Server Users Group last night. I met some great people and learned a lot.

I can hear you thinking "What? You learned a lot?" Absolutely! I always learn when presenting. In fact, I would argue presenting / teaching is the best way to learn.

Presenting forces me to remain knowledgeable in my field. And it provides immediate feedback about my success at ths endeavor.

Any new technology - especially one as flexible and powerful as SSIS - will be used in unanticipated ways. This will generate unexpected results, which will in turn generate perplexing questions to presenters - usually in front of a large crowd! :)

It is all good.

It's called "learning." Experience has taught me learning is best done in groups. No one can master it all and not all at once. This is why teaching teaches.

Thanks, Nova SSUG, for the opportunity and knowledge shared!

:{> Andy

Almost every weekday morning I read Steve Jones' thoughts published in the SQLServerCentral newsletter editorial section. Today (24 Mar 2006) he mentioned SQL Server Management Studio loads and opens slowly. I agree with Steve - I hate waiting for software to load.

As a developer, I know it's a trade-off between "at my fingertips" functionality and having to wait for everything to load as I click on it, and I think making me wait once at the beginning is the right choice - but it doesn't help... I still hate waiting.

I found a couple of changes that helped me. I'm sure there are more and I encourage you to add your tips and tricks as comments.

First, I open the Registered Servers view (View, Registered Servers):

Next, I register some servers (right-click Database Engine in Registered Servers view, click New, then click Server Registration):

Next, open SSMS Options (Tools, Options):

Finally, I set the environment to "Open empty environment":

Click OK to accept the changes.

This shaves some time off opening the SSMS environment. Again, please add your tips and tricks!

:{> Andy

So... I'm on a call yesterday afternoon and the topic of replication comes up. Before I can catch myself, my kneejerk response spills out "There has to be a better way to accomplish this than replication!" My colleague is taken aback by the statement. "You're the SQL guy" he says... and I am left to ponder why I reacted the way I did.

So... I ponder it most of the evening and again this morning. And I've reached a conclusion: I reacted because of the trouble I've experienced in the past making changes to SQL Server 2000 published databases.

About half the time, if memory serves, I ended up poking around in a sys% table turning bits off so I could actually make the desired change. This, after dropping the publication while standing on one leg facing East. Yes, it was tricky. And I never attained that warm fuzzy feeling of comfort that accompanies knowing what to expect from the technology.

But it isn't fair to judge SQL Server 2005 by the same standard - which would place me in the same camp as those java folks complaining about things Microsoft fixed last century (a place I choose not to camp).

So... I'm walking through setting up a local pushed publication on my laptop - just to see what it's like.

Issue 1:

Clicking Report, View Report reveals:

Resolution: Change the SQLAgent service properties and start the service:

On to Attempt #2...

Issue 2:

Clicking Report, View Report reveals:

Now I remember Brett, the network guy, telling me I have access to the domain, but I am not a member of the domain. I wonder if this has anything to do with this issue. Hmm...

I check my account properties - I have a local account and I'm a local administrator:

But this isn't the captechventures\aleonard - this is the local aleonard. Checking the local Administrators group, aleonard is in there, but no domain account:

Resolution attempt 2: Since I'm not part of the domain, adding my domain account is out (I can't see it). But I'm prompted to enter a domain\account when setting up the publication... what to do, what to do:

Resolution: Since I cannot see the domain, I use my local machine account credentials.

Success!

I need to work on a method to test the scalability of this architecture, but Step 1 is complete.

:{> Andy

Professional SQL Server 2005 Integration Services is now on book shelves.

The work isn't over, by any measure. There are updates to maintain. The authors publicize the book at speaking engagements and conferences. In this case, it's not because it's required by anyone (no one's told me I'm required to promote the book anyway...) - I'm proud to be part of the team that authored this work.

I believe we formed a bond while working together. I certainly made new friends - most notably Haidong Ji - whom I enjoyed chatting and swapping emails with during the writing and editing phase.

I was privileged to be employed alongside several of the other authors during the writing: Brian Knight, Douglas Hinson, Jason Gerard, and Mike Murphy. Writing together while working together was a blast! At various times I believe we all took turns serving as coach, mentor, editor, encourager, co-conspirator, comiserator, brother and friend. It was a team effort I will treasure the remainder of my life.

The book has received awesome accolades - both public and private. My couple chapters would not have been possible without lots of help from others - some of whom were not mentioned in the credits section of the book. First and foremost, Jeff Beehler provided support "above and beyond" both any duty and my expectations. Without his help, the chapter about SDLC would not have been possible. Thanks Jeff!

Ashvini Sharma and Donald Farmer provided moral support, encouragement, and unfettered access to the SQL Server Integration Services team.

Kamal Hahti deserves recognition for an inspiring demonstration that motivated me to dig into some of the atypical functionality exposed by SSIS. This proved especially useful while writing the chapter on interfacing with external applications.

:{> Andy

"You never know..." This is one of my Mom's favorite things to say. She says it most often when talking about treating people politely, because "you never know when you're going to cross that person's path again, Andy Ray." Mom calls me Andy Ray when she's trying to make a point.

And Mom is right. You never know what the future holds, so it's best to always treat people as you wish to be treated.

On the way into work this morning (circa 4:45) I stop at a local gas and grill establishment for a sandwich and some coffee. I'm wearing my Jax Code Camp speaker's shirt today and the young man behind the counter notices it. He asks, "What does MSDN stand for?"

"Microsoft Developer Network," I respond.

"What's an MSDN Code Camp?" he asks.

"It's a free event where local and regional developers present information about current and emerging Microsoft technologies to other developers. An MSDN Code Camp is happening in Richmond April 22 at the ECPI Moorefield campus, if you're interested."

"I am interested!" he responds as he manually advances the cash register receipt roll so he could jot down the info. "I've been working mainly with Linux, but I'm interested in learning more about Microsoft development."

"Aprill 22" I tell him, "at the ECPI Moorefield campus in Richmond. The website is RichmondCodeCamp.org."

I hope to see him there. This zealous young man may write the next killer app. You never know...

:{> Andy

 

The purpose of a resume is to get an interview - period.

So what should your resume contain? Experience leaps to mind. Education looks good also. What about an abstract? or job objective? or even your "perfect" or "dream" job?

Many experts say all this and more.

My limited experience searching for qualified DBAs has lead me to believe the search for candidates is either feast or famine. Either you cannot find anyone - qualified or not - or you're deluged with qualified resumes.

So what do I look for in a resume?

First, an indication of experience. Experience is probably the most important thing for DBA work. Second, I look for... ok, all I look for is experience on the resume. If I see some, I'll schedule a phone interview.

:{> Andy

 

It's a cool time to be working in IT! I know good things are happening all over, but it's good to see groups and events going strong around Virginia! :)

Some technologists in the Roanoke area are starting a new SQL Server Users Group: the Roanoke Valley SQL Server Users Group. Harold Buckner and Robin Edwards are a couple of good people I've spoken with regarding this effort.

Founding a new User Group is hard work. A meeting location has to be located and usually prepared - and then cleaned after the meeting. You have to identify speakers and presenters willing to travel to your location, then schedule them and any resources they may require (LCD projector, etc.). Organizers have to then get the word out. I'm telling you, it's a lot of work!

I think Harold, Robin, and their associates are off to a great start - they had about 30 people attend their kickoff meeting last month! Go guys, go!

For more information about RVSSUG, visit http://www.rvssug.org/ or contact Harold Buckner at: HBUCKNER@roanokecountyva.gov

:{> Andy

 

Some of you must be thinking "Enough with the Richmond Code Camp already, Andy!" I can't help myself - Code Camp is too cool!

I don't know if you've attended or been involved with an MSDN Code Camp. My first experience was as a presenter at the Jax Code Camp (Jacksonville, FL) in August. It was a lot of fun, and I learned stuff too!

This time, I'm helping organize one and it's so cool! I highly recommend getting involved in bringing a Code Camp to your area. You get to work with cool creative people like Frank and Susan and Darrell and Andrew - and do something really positive for your local developer community! What more could you ask?

[:)]

With that said, the Richmond Code Camp is officially calling for presentations. If you live near (or will be near [or would really like to drive or fly to]) Richmond, Virginia on April 22, 2006 and you have or can develop a presentation before that date, you are cordially invited to sign up to speak. The committee - the aforementioned cool creative people - and me will review the submissions and let you know if you're selected by the end of March.

It is going to be so much fun!

:{> Andy

Do your patriotic duty!

I will be speaking at the Northern Virginia SQL Server Users Group Monday, 27 Mar 2006. If you're a reader of this blog and will be in the area, drop by and introduce yourself!

:{> Andy

PS - the Richmond MSDN Code Camp will be held 22 Apr 2006 in Richmond, Va!

Be like Albert!

 

The Richmond Code Camp website is now up and running!

The organizers and contributors are getting excited about this upcoming event. If you live in the Mid-Atlantic region or will be visiting 22 April 2006, please sign up for this free, educational, and fun-filled event!

:{> Andy

Update: You can now register for this event at MSEvents. :{>

Announcing the Richmond Code Camp!

Date: April 22, 2006

Location:
ECPI Technical College
800 Moorefield Park Drive
Richmond, VA 23236

More details to follow!

:{> Andy

SOx

I received an advertisement brochure recently. Prominently displayed on a front page was section was this eye-catching question: "Is compliance taking over your life?"

I responded (out loud, even): "Not anymore."

It occurred to me how less stressed my professional life is now that I am working for a private firm. The stress from my former Fortune 500 corporate experience was due in large part to Sarbanes-Oxley compliance - or rather the interpretation of Sarbanes-Oxley compliance.

Whether you agree with the legislation or not, most admit there was clearly a need to do something in response to the WorldCom and Enron scandals. So, something was done. Personally, I believe the legislation attacks the wrong side of the equation for this reason: there were already laws on the books to address the crimes committed at these corporations. If Congress truly wants to protect investors, educate them. And if Congress simply must pass a new law, pass legislation requiring investors become certified before being allowed to invest in publicly traded companies. (Step 1: A DVD of me pointing at the camera, screaming "YOU CAN LOSE ALL YOUR MONEY IF YOU PUT IT IN THE STOCK MARKET... ALL OF IT!!! DO YOU UNDERSTAND?!?" Step 2: Sign the document acknowledging you understand what you learned at Andy's School of Investing.)

But I digress...

While I was enduring the stresses placed upon a sole database administrator group manager by internal auditors, a colleague mused: "Those can, do. Those who cannot, teach. And those who cannot do or teach, audit." That was mean (...apologies to all my auditing readers out there...), but I think I understand the underlying sentiment.

Given the tools on hand, we were faced with unpleasant choices:

  1. Cease supporting business operations. It was simply not possible to comply and execute DBA tasks required to keep the business running. Without naming industries, companies, or names, ceasing support would have meant hardship to thousands of people already enduring enough hardship and economic loss to literally thousands of others.
  2. Refuse to comply. Which would have solved several stressful issues but created a few more - such as how to pay the bills, eat, etc.
  3. Lie. I could break my personal code of ethics and possibly the law of the land, and misrepresent the facts of the matter.
  4. Be honest. And take the ensuing whoopin'.

I chose to be honest. My reward was pressure from every imaginable angle.

From business, sales, and accounting, "Why can't you just comply and end all this?"

From auditors, "We will have to report this to _____. They will open an incident. It will be filed with the SEC. It will be made public."

From executives, "Make this go away."

It was ugly. And it all stems from an open season on business data. Heck, the auditors at my former employer were reaching into the personal development databases of developer workstations. I understand some of it, but not all.

I'm interested in your thoughts on the matter. Have any of you had similar experiences with SOx compliance?

:{> Andy

 

More Posts Next page »