Friday, February 12, 2010

Name that Caption Contest



Another contest is afoot

Thomas LaRock is running a contest to caption the header you see above.

I submit my entries for the contest here.

"I can see my house from here"

"They all look like ants from up here"

"Wish I could open this window"

"This is one of these rare moments of peace between Database requests"

"Its Monday, this is gonna be a great week!"

"Did any jobs fail last night? I should check soon"

"I wonder if there are any databases i could shrink..."

"I can do this!, I'm a DBA!"


My daughter suggested the following

"A dream becomes reality"

"Looking out to the life ahead"

"I wonder what's for dinner"


my wife suggested :

"Looking toward my future"


Thursday, January 28, 2010

SQL in my every day life? really?

In my goals post, I mentioned my love for data. This doesn't mean that I am amazing or extraordinary at gathering and reporting on said data. Just that I like it. I wanted to tell the tale of an instance of data use in my personal life.

Before we get to the SQL, I need to deviate to Churchy stuff for a moment.

In my church, the members of the congregation are allowed to participate in the inner functions of the local church. We get the opportunity of accepting a 'calling', and performing some tasks. This opportunity lets you interact with other members of the congregation, volunteer your time and talents, and assist in the church. Depending on the 'calling' you may have, you may spend a little time or more time. In the past, I have worked with the Cub Scouts, have taught Sunday School lessons, have been on the party planning committee, and so on. My current calling is different from all these, and has me more closely working with the week to week duties of keeping the church working. We meet each Sunday for worship services. At one of the meetings, there is an opening prayer and a closing prayer. I am in charge of seeking out the members of the congregation and getting them to pray in these two prayers each Sunday. Not a huge task. But over time, you find some interesting things. People remember the last time they prayed, and if they have any qualms about doing it again (nervous, shy, etc) they will typically recall the last time they prayed as having been more recent than reality, regardless of when this prayer actually occurred. Other people will never volunteer to say a prayer, and I need to remember to not ask them. Other people will always say yes, and would end up praying each and every week asked. I need to refrain from asking them too often.

So, now you understand a little about what I am doing. To keep track of who has prayed, and try to not repeat too frequently, as well as avoid asking some that can't/won't, I started keeping a simple list. We'll call this DB 1.0. It was on my palm pilot, and each week I would write down the name of the person that performed each prayer, next to the date. I kept doing this for sometime, and as time marched on, I created quite a list. I could refer to this list fairly easily in the first few months, and see who had prayed recently or not. I was even able to tell some folks that recalled praying recently, that in fact it was a bit longer than they had remembered, and could show them the actual date on my list. My little list grew in fame with some folks.
This all started in July of 2007. Fast forward to today. I have a record of every prayer (both opening and closing) since that time. All in a note on my phone now (having retired the palmpilot from daily use).

A couple weeks ago, I finally imported this data into a database. I have a table of prayers. I also have a table of members. After some scrubbing, I was able to link the names in my note to the IDs in the members table. I added another table to indicate if they could pray or not. Also added a field to the members table indicating if they are enabled or not. Since people have moved in and out of the congregation, I need to keep them as a member, but make them disabled if no longer present. From here, I was able to create some simple views, and procs. I got tired of looking up the ID to assign a prayer, so made a proc to AddPrayer. This will look for the name in the members table, and use the ID it finds. If it cannot find it, it'll add it to the members table. Now, I can quickly add new prayers each week. (keep in mind that I still keep the list on my phone, and add to it.)

Some fascinating data was able to be pulled form this database. I could generate a list of the people that had prayed most recently. By getting the max date, and sorting by that, along with the count of prayers they had performed, I could have a list of those I had picked on most recently. I could reverse this list, and show those folks that have not prayed recently, or at all. This allows me to more easily spread out the load to those folks I do not normally contact. Since so much of the church and membership is a social animal, I find myself in a certain few circles, spinning around, and not including the entire membership. This way, the DB can suggest some names of folks I would not normally think of.

Stepping away from SQL for a momment... So, those of you that are religious may be asking yourself if applying stored procedures and data mining to choosing a prayer is the proper way. To get religious on you, I do rely on being guided by the Holy Ghost as to whom I select, hoping that my selection will fit into some great plan that I am not privy too. This has happened on more than one occasion, and the individual I selected was 'supposed' to pray that day, for some reason, and I was merely the instrument in that action here on Earth. This has been an incredible experience, when it happens. But it doesn't happen each week. But at the same time, how can I say that by my making a database to keep track of all this, and using the tools it provides is not also some aid in the 'Grand Plan'? Besides, its fun to have found a chunk of workable data, with an end goal in mind, and be able to assist my weekly task with this data. Its been great fun in thinking of different ways to view the data, and make a story out of it. It turns out that my wife is not the most asked person to pray. I tend to lean on her if someone else was unable to pray, doesn't show up, and so on. I would have thought she would have had the most prayers. But no, she doesn't. Who does? Well, I know, and can prove it with data.

Back to SQL. This has been an interesting journey to gather this data, 2 records at a time each week. The story it tells will not fascinate most people, but those in my church are interested. Not all, mind you, but some think its a great thing to have captured all this, and be able to report on it.

I challenge you to think of a place in your life where gathering data and storing it would tell an interesting tale to you and yours. Maybe not right away, but as some point in the future, you can look back, apply some of your SQL knowledge to your personal life, and enjoy the results.

Monday, January 18, 2010

What three events brought you here?

Another one of the DBA bloggers games of tag is occurring. I’ve been tagged by Grant Fritchey, who was tagged by Tom LaRock who was tagged by Paul Randal to answer the question; What three events brought you here.

And to copy Grant kinda, I could actually show you the building and floor where it all happened. My parents were driving me around the town that would be my college town, showing me the sights, and this is one that I wished they would have kept to themselves. I know live within 20 minutes of the room in which i was, uh, created. I know its creepy, and now you get to share with that knowledge with me as well.

Sometime in High School, I took a computer class, and was hooked. I never did the typical geek thing, buying machines and writing code. I just liked computers, and only was exposed to them during High School. From that moment on, i knew I wanted to work with them in some fashion. I never waffled from that decision. I went to BYU for a year, took 2 years to go on a mission (where I actually saw a computer in the last month in Argentina and thought that was so cool that they were down there too, finally). Once back at BYU, I continued my education, and actually purchased a computer. $3800 later, and many promises to pay my parents back, I had my first computer, purple text monitor and all. We all had a blast with it, and it came in real handy as we studied various computer classes. I look back at the price paid and shudder at the cost of computing.

While I was in BYU, one of the classes I took was a database class, and I do recall it seemed to click with me moreso than other classes, but for what reason I didn't know.

Later, in my first job, I recall there was 1 guy that had been given access to TableDLL.dll. Yup, that was its name. Love the 8 char names. This was the API that let 1 special magical person into the database. My thought was , why him? Why cant I get into this magical world that seems offlimits? Why not me? I never did gain access to that magical realm, but remained forever intrigued.

At my next job, I got to be exposed to Paradox, Flashfiler, SQL Anywhere, Sybase, and SQL Server 6.5 and 7.0. I was a programmer, a developer, a report writer, and a database guy. Generalist on all, exposed to most, and enjoyed working with the elusive database, finally. I got to create procs. I got to mess with users and logins. I got to do things that were amazing to me at the time, and still have some of the original code I wrote from this era, and it still works.

From then on, even though I hired as a programmer/developer, I was eventually known as the Data Guy. Never truly had the DBA title, but when push came to shove, I was the go-to guy to do database stuff. I was not truly a DBA, until I jumped ship to a DBA job, having already earned the respect of my peers and hiring manager as a Data Guy from experience. Once in the true titled job of DBA, I just kept going as if I had been here all my life.

At some point, I started attending User Groups, found my way to #SQLPASS, started volunteering, presenting, blogging, writing, and viola! here we all are.

So to summarize, High School - liked computers. College - liked computers and databases. 1st job - intrigued by database. 2nd job - started morphing into the Data Guy. Couple jobs later - became full fledged Data Guy.
I see Data. All over. In my personal life, in my church responsibilities, in my home. I created a database of food and recipes to organize our shopping habits and cut down food cost. I organized the people I ask to say prayers each Sunday at Church since July 2007. I can query who hasn't prayed in the last 3 months, or the last 3+ years. I have data for emergency preparedness information on my home computer, keeping track of who has a truck, a generator, medical experience, and so on.

Data is all around us. It can be captured, and helped to tell a tale, make a decision, assist in purchases, and so on. And thats just in your personal life. Not at work. Data all around. Why not capture it, store it, and use it? It helps that I get to make a living doing this, and I am not telling this tale like I am some demigod with data. Its just there, and I like it, and I enjoy playing with it. It started as small lists on paper when I was young, and now, its a little bit more than that.

Tagging:

Pat Wright (blog|twitter)

Joe Webb (blog|twitter)

Chris Shaw (blog|twitter)

Lori Edwards (blog|twitter)


Monday, January 11, 2010

Whose Blog Is It Anyway?

You must read this post from Tim Ford to understand the next series of random words you will read. I will attempt to accept this challenge in each of my blogs, my work blog, my personal blog, as well as my hobby blog. It will be an interesting challenge, and I hope you enjoy reading it.


It is a Monday, not unlike any other Monday I have suffered thus far. However, the issues that will arise today will make this Monday top the charts for oddities.

The day started out like most days with a team meeting. Since there were no issues from the weekend, we simply discussed what was coming this week. As these discussions were occurring, we all noticed that we had received an emergency ticket from Customer Service. One of our applications were returning an error none of the CS representatives had seen before. The details I will not explain here, but the oddity in the message baffled us all. The error message stated something to the effect that a value could not be retrieved from a table, but the table name it referred to was 'Live Nude Cats'. Obviously this needed to be researched a bit more, as something very odd is occurring in our code. I recall a similar event a year ago; an offending error message occurred not with a cat, but with the reference to a pony. This representative became very upset as the result of scanning a particularly troublesome error message, but as soon as he looks down he’s going to be very sad about the pony pictured at the bottom of the error message. Why would one of the developers put in a picture like that, on an error message. What the heck was occurring in the development group? We have all stuck bogus code, names, even pictures into our applications on a lark. But these things should have been pulled out way before the end product made it to the client. For shame.

I march down to the bullpen, where the developers hang out, and find them split down the middle, yelling at each other. This is also not atypical of this group. Today's topic was Star Wars, and I have no idea what the subject was, but as soon as I heard one of them scream out 'Just ask George “Let’s Have Padme Die Of A Broken Heart Instead Of Anakin Crushing Her To Death” Lucas', I lost it. I screamed at the top of my lungs to get all their attention. Nothing seemed to phase them. They continued on their tirade of injustices perceived by fictional characters in a story that seems to have struck a chord with so many to cause them to vehemently argue one side or another. I like the movies, I enjoyed being entertained, I enjoyed showing them to my children, but that is not the point here. Having encountered this fanaticism before from this group, I realized that the only way I could gain any attention whatsoever was by simply using some magical tool, library, or bong. I was fresh out of library, but happened to have a bong that was also some magical tool.

I used the magical device to cause a trance to overcome the developers, lulling them into a sense of purpose beyond the realm of Star Wars, and back to a more humble reality. Back the the faulty error message that someone had slipped into our application. After explaining what had occurred, getting some help from the developers as to where we could possibly look to solve the issue (although none of them fessed up to inserting the bogus code and picture into the product), I realized that this was now my task. I would be spending the rest of the day on this issue, creating tickets, discovering what needed to be fixed and so on. Oh well, its just a Monday. I’ve started, so I’ll finish!

Tuesday, January 05, 2010

My Goals and Theme Word for 2010

I was tagged by Lori Edwards (Blog – Twitter). I am now to produce a set of goals and a theme word.

Before moving forward, I feel I need to take this time to look back at last year’s goal list here. I can tell that a new goal needs to look back at the goal list more often. I do not recall the last time that I referenced this post. It may be the way that I deal with goals. I commit them to paper and memory, then just attempt to direct my life in that direction. Sometimes, they fall into place without my help, as I am already oriented that way. Others fall on the wayside, as they were not in the right direction or maybe not the right definition of task. Still others, I simply forgot to do, meaning I had not fully committed them to paper or memory. If I can orient my direction in the same direction as my goals, and define my goals in such a way that they are accomplishable in that direction, then viola, they tend to accomplish themselves without reference to their original documentation. However, I believe that it’s necessary to revisit them from time to time, to ensure the definition is up to snuff, the direction is proper, and both are meshing well. I will add this to my list this year.


Last Years Goals

Lets start off with a summary of what I documented last year as my goals or resolutions.

1. I want to do more with my local user group.
2. Produce presentations. 4-6 presentations for the year
3. Speak at SSWUG.
4. Perform Regional Mentor Duties.
5. Blog
6. Articles
7. MVP
8. Read
9. Topics
10. #InboxZero

Now, let’s dissect them a bit, explaining where I feel I fell in their accomplishment, or not.

1. I want to do more with my local user group.

I struggled with this this past year, as I was unable to produce interesting content myself, and unable to tap into many others for presentations themselves. We had a couple meetings that were a success. Others were not. Changes are afoot for this goal that will truly help out the local user group.

2. Produce presentations. 4-6 presentations for the year

I actually produced 8 presentations for SSWUG this last year. 2 of which were preexisting presentations. So, inadvertently, I accomplished this goal without actually thinking about it. I was headed in the right direction, and this simply took care of itself as I went there.

3. Speak at SSWUG.

I had the honor and privilege of speaking at both SSWUG conferences this last year. It was a blast, and I learned a lot myself. I hope to continue to be able to do so in the future.

4. Perform Regional Mentor Duties.

I actually stepped up a bit more on these duties this year, and really tried to spend more of my free time performing tasks to assist in this task. It felt good to give, felt good to produce. I will continue to feed from this trough.

5. Blog

I wrote a bit on my career blog, wrote more on my hobby blog, and started apersonal blog for things that didn't fit into either of the other two categories. For my career blog, I had 1 month with a single blog post. 1 month with 2 blog posts, and the rest with 3 or more, and some months as many as 7 posts. Not tons, but I felt good about them. For Christmas, I wrote an incredible amount on the personal blog, ending with this summary. I have had great comments on my ability to write, enough that keeps me going. At first, I thought that blogging meant writing about SQL topics. But I have learned this year that writing is just that, writing. I need to practice more, and get better. I feel that something is looming just out of reach of my awareness that will require this skill in my future. I will continue to strive to perfect this talent and hopefully be ready for the challenge, when and if it comes. In the mean time, I head down the dusty road that many have traversed previously, and simply write.

6. Articles

I did not write as many articles as I had hoped for. With preparations for SSWUG presentations taking up quite a bit of time, and rest time afterwards for other hobbies, I didn't write a ton. I have dedicated myself to writing, and found that I needed to write about many other things, other than SQL. I wrote a couple short stories, produced quite a bit of blogs, and have a couple articles sitting in unfinished states. So writing has occurred, I have just not delivered in the fashion I had anticipated, it’s evolved a bit.

7. MVP

I was nominated again this last year. Again, it was an honor to be nominated. Other than continuing on my course of actions, I cannot actually do anything towards this goal. I maintain my course thru life, and with the other goals I do accomplish, maybe this one will be picked up along the way. Maybe not.

8. Read

I have done this task, not as planned, but differently. I had added a lot of blogs from others, and tried to keep up. I would get distracted and frustrated at my ability to keep up. Sometime ago, I cleared out all my unread blogs, starting at #InboxZero. This was very hard to do, and took me a couple weeks to actually pull the trigger. Once done, a bit of time has passed, and I now am looking down the barrel at over 300 unread blogs already. This teaches me that I may never be able to keep up, so this task needs to be modified in its perceived accomplishment.

9. Topics

I am much more proficient with GoldenGate replication than last year. This is a technology that is specific to my company, and I have practiced with it quite a bit and become much more skilled at it. It was not what I meant when I wrote this particular goal, but along the road of life last year, this one was picked up and accomplished.

10. #InboxZero

All year long, as I imagine the future will most likely continue, I struggled with this task. This was not an accomplishable task in one or even many sittings. This is an ongoing task. Once burned into my brain, its become a hobby I attempt to accomplish on a small scale for a small period of time. The thing I have noticed is that others are doing the same thing and blog or tweet about it. If I was an influence on them, great. They are an influence on me, as we all attempt to perform this repetitive task, and incorporate it into our daily toolboxes of skills.


My goals for the coming year? Similar to last years, with some modifications.

1. Do more with Local User Group.

I have been a leader of this group for quite some time, and have been approached by another member to let him take it over. It may be a good time to step aside, let others perform tasks, and simply help out, instead of run the show. This is the direction I am leaning towards now. Give it some new blood.

2. Produce presentations.

Last year, I came up with a random number. This time, I want to leave it open, and simply keep it in the back of my head to produce as many pieces of presentation content as I can. I hope that its many.

3. Speak.

I am dropping off the goal to speak at SSWUG, and simply making it Speak. I want to simply find good venues where I can share my skills and knowledge with others, and become better at presenting. SSWUG is definitely in there, as well as local user groups. I may have the chance to speak outside of those two locations, and hope that I can.

4. Perform Regional Mentor Duties.

During the SQLPASS summit, I was inspired by our fearless community liaison Blythe Morrow (twitter) to do more. In fact, it was kind of a threat that I took seriously that she was going to pile on more work for this volunteer effort. I welcomed it, and began working. I intend to do more here as time permits.

5. Blog (write)

I am modifying this one to include writing. That’s the goal of my blogging, to practice writing, and hone that skill. Someday, maybe I could write a book? In the meantime, I will write as much as I can about as much as I can. I have been inspired by a lot of SQL folks, as well as others. I have always been an avid reader, more so in my youth. I grew up reading Piers Anthony, Stephen King, Dean Koontz, C. S. Lewis, Robert Ludlum, John Saul, David Eddings, Margaret Weiss, Tracy Hickman, Orson Scott Card, to mention a few. I love to read lyrical prose, in all its forms. Paint me a picture with your words, and I can almost enter your extended reality and see it as you see it. I want to get better at this skill. The SQL folks that have inspired me are Steve Jones (blog|blog|blog|twitter), Grant Fritchey (blog|twitter), Paul Randal (blog|twitter), Brad McGehee (blog|twitter), to name a few.

6. Articles

This goal will be dropped, and added into the above goal of simply writing. Writing an article should be as important a task as writing a blog post, documenting a process for my employer, penning a witty tweet. It’s all words, and my goal is to have the same result with them all. Paint a picture of a reality that I see, so that you can exist in that realm for a period of time of your choosing.

7. MVP

I'm dropping this task from the actual list this year. My direction is such that if this occurs, great. If not, I am not to be detoured from continuing on this path.

8. Read

This one will receive a modification. I will continue to read, as life permits, but not feel like I have to read it all. I will continue to seek out those posts that have relevance to my skills and interests. I will seek out those posts from folks that simply inspire me to be better. I will try out other posts that are suggested and can be added to my toolbox. But I will not feel the crushing guilt of not reading everything that everyone writes as soon as its revealed. I simply cannot read that much.

9. Topics

As the year progresses, I hope to add to this with actual topics. Let’s say 2-3 new items need to be picked up, learned, and somehow incorporated into my life. More on this as time marches along this year.

10. #InboxZero

As this is an ongoing task, and has become part of my habits, I will not continue to have this as a separate task. I believe then that it has been accomplished in a sense, as it has become part of me, and no longer needs to be listed out separately.

The last statement I made is indicative of how I perceive goals or resolutions. They should be added to your list such that they become part of your life, and no longer need to exist in a list that you can check off. They become part of who you are. This frees up your task list to accept new and exciting items yet in your life to be accomplished, while continuing to accomplish the newly incorporated habits from last year’s list.


Themeword

So, thats all fine and dandy with the goals and explanations and wild wordage to explain my quirks, but what about a themeword? That one is a bit harder. As I write this, I have had quite a few words floating around my grey matter (which is a great short story by Stephen King, you should read it someday). Let me list them out here.

  • NoDrama
  • Relax
  • Prioritize
  • ReadMore
  • Play
  • WorkEfficiently
Somehow, I don't think that I can apply a single themeword to my next year. Along with the goals i have listed, along with the general direction I want to head, there are many themewords that I will be working on during the year. I take life as the opportunity to better ourselves, learn as much as we can, serve our fellow man, and ultimately perfect myself as much as I can. Others will help along the way, but I gotta do the brunt of the work, as I have been doing since this realization hit me at some time in my younger years. Unfortunately there will never be a time that I can retire from these tasks. So, its business as usual, working on perfecting myself, and enjoying life along the way with all its quirks.


Tagging

I wish to tag the following folks.
Pat Wright (blog|twitter)
Joe Webb (blog|twitter)


Sunday, December 20, 2009

My Christmas 2009 story

This has nothing to do with SQL Server, my job or even my career, except that it has to do with writing. From time to time, i try to write something different, to see if i can. I want to share this here with you folks, because you are part of my personal life, just like my work bleeds into my personal life from time to time. So, I hope you will indulge me with this little deviation, and I hope that you enjoy the story.

My Christmas 2009 story.

Friday, December 18, 2009

funny thing happened while trying to order

Someone in the QA group encountered an issue with a process they were testing. As they dug into the error, they found that a single stored procedure was erroring. The reason they are testing is on a new instance of our core code and databases, running against SQL 2005. This is exciting to us, as we have pieces still running against SQL 2000. At first, the question is how this piece of code made it into the system, not working. Investigation was done by some members, and questions were raised. After a small amount of detective work, we realized that the code in SQL2005 was identical to SQL2000. But it didn't work in 2005. Armed with this realization, we were able to quickly see the query and the problem. It turns out that the original developers had aliased 1 of the fields. The select statement was returning a handful of fields, 2 of which were ID fields, but from different tables. To differentiate these, the second ID field had been aliased. It was no longer called ID, but was FilterConfigID. This is not the issue, but the start of the issue. Everywhere else in the statement, the table was referenced by name, not by alias. So Table.Field was the naming standard for this select statement. Once the developers got to the Order By statement, they simply followed suit, and called the field they were ordering by Table.Alias, using the single aliased field from the select statement. This worked in SQL2000. But ceased working in SQL20005. The query processor was parsing this, realizing that the fieldname (aliased from ID to ConfigFilterID) didnt exist in the table, and returned an error.
This was a fun little exercise in naming conventions, old code, differences in versions and so on. It was a welcome distraction from the current issue i was dealing with, and i believe all DB folks that were involved with is, on multiple fronts, had a fun few minutes digging into this, realizing the issue, and coming up with a solution.

Friday, December 04, 2009

Wanna see some of my favorite GoldenGate scripts?

We use GoldenGate for replication from our hot server, to our warm, search and dr. Lots of data is replicated, using many different GoldenGate processes. From time to time, we will stop a process, halting replicatino for a period. After starting it back up, replication will be latent for a period. Given time, it will catch up. But in the meantime, I get worried about the status. I also need to know if processes are running or stopped.

To aid in this purpose, I have created some standard sql scripts that will provide me the data needed.

To see which items are latent, we can check the ACONPROCSB table within the DirectorDB, and produce latency times for each item that is 3 minutes latent.

--Get Latent > 3:00
SELECT
SUBSTRING(LASTCHECKPOINTLAG, 1, 2) as [hours],
SUBSTRING(LASTCHECKPOINTLAG, 4, 2) as [minutes],
SUBSTRING(LASTCHECKPOINTLAG, 7, 2) as [seconds],
CommonName as [ServerName],
ProcessName,
ProcessType,
LastStatus,
LASTCHECKPOINTLAG
FROM DirectorDB.GGS_DIRECTOR.ACONPROCSB WITH(NOLOCK)
where LastCheckPointLag > '00:03:00'
order by LastCheckPointLag desc, [ServerName], ProcessType, ProcessName


To see which items are not running, we can check the ACONPROCSB table within the DirectorDB, and check the LastStatus value of each process.

--Get Non-Running
SELECT
CommonName as [ServerName],
ProcessName,
ProcessType,
LastStatus
FROM DirectorDB.GGS_DIRECTOR.ACONPROCSB WITH(NOLOCK)
where LastStatus <> 'Running'
and ProcessName not like 'R1T2T%'
order by LastCheckPointLag desc, [ServerName], ProcessType, ProcessName


I have as many of these scripts precoded to the appropriate director database, with the appropriate other 'where' clause values. I can quickly open up these scripts from within a project and execute them where they need to be executed, and tell the status of the systems. The results of this query are from the Director database, and it does contain a bit of latency itself, but its a quick and dirty solution to tell me status. Armed with this knowledge, I can easily tell where we stand.

I have used these queries to ease my mind on many many occasions. setting them up, testing them, and having them handy has helped me tremendously.

Saturday, October 31, 2009

SQLPASS 2009 Schedule

As I have been thinking and planning, and hoping to capture all the various events I will be attending during the SQL PASS Summit in Seattle starting soon.
This is mainly for me, so I can reference it when i get confused or lost or sidetracked. It will also serve as a cheatsheet for those playing Twitter Bingo to more easily find me.

Before the whole Twitter Bingo thing took off, I tried to come up with my own similar idea. I fell short. But what I did do was purchase a few items to give away to the first 3 folks that find me that I do not know currently. I thought long and hard about what to give away. Something of value to the recipient, yet indicative of the local where I reside. A bunch of different items came to mind, but i ended up purchasing some simple items to hand out to those winners.

Schedule
------------

Monday

Virtual Chapter breakout 900pm - 1100am Room 208
Chapter meeting 1100pm - 1230am Room 208
Networking Seminar 430pm - 630pm
Welcome reception 630pm - 800pm
SSC party 800pm -


Tuesday

Regional Mentor meeting 100pm - 300pm
Ambassador for PASS 130pm - 600pm
SQL Sentry Party 900pm - 1200am


Wednesday

Quest breakfast 700am - 830am
MS Appreciation 700pm - 1000pm


Thursday

Chapter Lunch 1200pm - 100pm Hall 4B
Red-Gate dinner 730pm -

Thursday, October 22, 2009

SQL Query Processing doc

just a few minutes ago, i completed presenting on SQL Query Processing for SSWUG vConference.
One of the attendees was unable to download the word doc that contained the steps. I'm posting them here, so that this attendee, and any others, can grab a text version of it, and keep it for themselves


Logical query processing steps

(8) SELECT (9) DISTINCT (11) Top
(1) FROM
(3) JOIN
(2) ON
(4) WHERE
(5) GROUP BY
(6) WITH {CUBE | ROLLUP}
(7) HAVING
(10) ORDER BY

Monday, October 19, 2009

my SSWUG vConference Schedule

I got an email today detailing the schedule of SSWUG. I quickly went over there to see when I am presenting. Even though I am done with my part of the recorded presentation, I still get nervous about it being aired. Worry overtakes me that it will be good, that it wont stink, that it will be helpful. It does help to have recently heard from someone via email that they had recently watched me present some topic about auditing. It turned out to be at the last SSWUG conference, and the person relating it, had recently watched it at their office. That was a huge ego boost.
In any event, its only a couple days away. If you would like to see the schedule, click here. I present on the 21st and 22nd at 9am and 10am. Right there in the morning, right after each other, and bam, im done. I so look forward to being part of the forums and talking with folks, as the presentation is going on. I also look forward to the sure to be entertaining hijinks that will occur in some of the forums, and sponsor booths. Last time, quite the time was had by the SQL Community folks. (as a side note, i had an idea, and googled 'SQL Community' images. Keep traversing through them, and on page 7 you see me. wild. Others show up that I recognize as well).





So, here are the sessions
10/21/2009 9:00Professional Development / Social Networking
10/21/2009 10:00On Call Duties
10/22/2009 9:00SQL Server Logical Query Processing
10/22/2009 10:00Database Change Process

Thursday, October 15, 2009

SSWUG vConference is coming, again!

The SSWUG Ultimate Virtual Conference starts October 21st and runs for 3 days. I had the opportunity of participating last time (April) for the first time. I thoroughly enjoyed the experience, and think that a nitch has been created and filled with a virtual conference, that still lends itself to a lot of social interaction between presenters and attendees, and even between attendees. And all this can be done from the comfort of your favorite chair and computer.

If you have not registered yet, do so. Here is a link

There are many reasons to go. Check out the website for more information.

To plagiarize the SSWUG website,
Learning, learning and more learning

Being able to watch videos of prerecorded sessions, and interact with other attendees and the presenter, from wherever you want to watch the conference, is an incredible opportunity. You can ask questions, get clarifications, even rewatch sessions over and over. There are many sessions, and they are repeated a few times, giving you ample time and opportunity to learn.

Thursday, October 08, 2009

It's all about that other stuff

A couple times a year, we take our hot DB system and switch it to the warm DB system. Sometimes this warm DB system is a newer system with better hardware and the like. Its often a step up from where we are currently. We've gotten pretty good at switching from one hot system to a warm system, flipping statuses of these as we go. There are a lot of moving parts, and a lot of people involved, and a lot of prep work and practicing that goes into these switches. Its not for the faint of heart, but like most of our tasks, its not rocket science either. Just takes time, planning, and execution. The more of each we can put against these items, the better the outcome.

We just had a successful switch that we've been prepping for for weeks. Lots of dry runs occur prior to the fateful task. Today, I've been applying these same principals to another project I'm working on. Trying to envision all the possible tasks needed, creating a project plan, seeing thru the cracks, a little fortune telling, and even some guessing all were on the menu today. A Word doc was started to get the day rolling, a Visio diagram was created, and some project plans were also created. Some days, its not about the SQL. Its about the database. Its about the business. Its about, wow, all that stuff we claimed we were interested in when we interviewed for the position, but secretly only wanted to write TSQL.

I just wanted to note that it did happen, and be able to reach back in time, sometime in the future, and remember today.

Monday, October 05, 2009

I'm headed to #SQLPASS 2009

For a while, there, I was not sure if I would be going. After some discussions, some stress, some worry, I was allowed to attend. Excitement coursed through me, and I tweeted about it, and started getting excited to return. So much can be learned at PASS. If one could only attend a single day of sessions, and go home, I bet that person would feel satisfied that they had learned more than expected.

Multiply that by 3 days of intense learning, the chance to sit at the feet of contemporary authors and experts, rub shoulders with the leaders of the SQL Community, participate in learning with tons of other folks with similar experience and knowledge as you, and we come closer to what SQLPASS gives the attendee.

However, we're not done yet. You need to add in the SWAG that you can pickup from the vendors. Even in slow economy years, a couple tshirts makes you feel like a winner. My kids still play with some of the items I have brought back. However, don't just waste time getting SWAG from the vendors. Pick their brains, share with them your systems and see where they can help you. Look at as many booths as you can, and see where they may help you, or you them.

Let's not stop at the vendors. Near the vendors, you'll find experts from Microsoft eager to sit with you and hash out problems, questions, concerns and the like. Make sure that you think long and hard for some examples and ideas you can bring to this table. How often do you sit in your office wishing you had a connection to someone that could help you out with an issue you are experiencing? This is that chance. Bring to the table all the issues you can and take advantage of this opportunity.

Think we're done? No, we are just barely done discussing some of the structured events that will occur. I haven't mentioned the keynotes or any of the misc events like WIT luncheon. I have not mentioned the volunteer training, or the various parties put on by SQLPASS, SQLServerCentral, and vendors. Each of these provides yet more opportunity for knowledge to be gained. In some cases, its just for fun, but do not be naive enough to think that a party is just that. Its like the ogre once said, its an onion, with layers and layers. You must find your way through the layers and the meaning of each one.

One would think that if you crammed all this into 3 days, it would be enough. But it's not all. I'm only describing the goings on that may occur from 8 to 6. There is still time before and after for more. Its up to you to fill in this time. My first PASS, in Florida, I had no idea that I could fill this time with more networking, more knowledge, more. I went back to my room, and did nothing. I've since learned that this is not the time to be wasting either. Each evening there is something better you can be doing. Since this is a once a year event, why not maximize it? Why not fill it in with as much as possible? You'll be going home in a small while anyway, and you will regret not spending every waking minute filling your SQL bucket with as much as possible.

I booked my flight, and am leaving my home Monday morning, and will be in Seattle by 10am. I do this so that I have more time to fill my SQL bucket. I don't know what i will do with the time yet, but will fill it with something, for sure. I don't leave until late Friday evening either, well after the Summit proper has completed, giving myself more time to fill my bucket. While at the summit, I will spend time in my room, but only enough to sleep enough to be able to function the next day. And maybe a shower or two.

Others have blogged about their ideas of PASS. You should read them as well.
Jeramiah Peschka's Random thoughts
Bill Graziano's suggested sessions

Make your list, check it twice, and make sure you bring the properly sized bucket. Fill it with as much as possible. Bring the bucket home, and slowly, over the next few weeks and months, sift thru it, and absorb whatever you can. Use these things to make you work better and easier.

Thursday, October 01, 2009

SSWUG October 2009

I recently had the distinct privilege and honor to return to Tucson, Arizona to record 4 sessions for the upcoming virtual conference. This is my second time, and i loved it even more than the first time. This time around, I knew what to expect, and was more at ease. I was able to prepare 3 new presentations and 1 I had had presented previously in User Groups and at work. I spent a fair amount of time preparing these presentations, and worried about how to best present these topics. Knowing that the presentations are combined with forums and the attendees get the opportunity to speak about the topics amongst themselves and the presentor, helped me try to interact more with the audience than the first time thru. I hope that I was able to accomplish this, and bring the audience more into the presentation and forums. Speaking to an audience is always, for me, a scary proposition. Someone once told me that I do it well. This was a long time ago, I was young, and it was at church. I believed them, and have tried to improve this ability over time. I do enjoy it, and its such a learning experience for me, that I am selfish in pursuing it.
The presentations I chose were, SQL Query Processing, On Call Duties, Release Process and Professional Development and Social Networking. The first presentation is a book report about chapter 1 of Itzik Ben Gan's book on SQL Server 2005. Each time i present this, I remember all the things I learned and forgot and relearned. On Call Duties brings to light the tasks we should think about and prepare for if this task lands in our lap. There are many things that can be prepared and practiced to make yourself more ready to perform these duties. Release Processes have been around in each company I've been at. Each company dealt with these in different ways, and I hope to share these ideas with you thru this presentation. The last topic is near and dear to our hearts as we have all embarked on this new fangled social networking fad, but i attempt to show that this is just a new way to do an old trick.

There is a code that can be used to sign up for the vConference that will get you a discount. If you have not attended this conference before, you should really check it out. Being able to sit at your own desk, and participate in a well organized conference is a great boon to your career development. Being able to join in on the forums with other attendees as well as the presentor allows you the chance to interact with folks as well as you do in a physical conference. There are many sessions available, and unlinke a physical conference, most are re-presented if you could not make an earlier session. Check it out. Learn, interact, grow!