My devLINK Abstracts

For the past few years, I’ve spoken at a great event in Nashville called devLINK. I’ve really enjoyed speaking there.

Although it more developer oriented, it’s got a great SQLSaturday kind of feel. It’s heavily community oriented and has an intimate atmosphere about it. At 800 people, it’s also got the breadth of sessions and networking opportunities of a much larger event.

This year, devLINK has moved from its tradition home of Nashville to Chattanooga, Tennessee. Personally, I’m not thrilled about the move. It’s no longer just down the road and it’s going to be more a hassle for me to attend. But I’ll be there.

I’ve submitted six abstracts for the event. Hopefully some will be selected.

Locking & Blocking Made Simple

A good working knowledge of how SQL Server makes use of locking and transaction isolation levels can go a long way toward improving an application’s performance. In this session, we will explore SQL Server’s locking methodology and discover techniques for enhancing query response times.

Say Goodbye to Boring Meetings

Ever been in a meeting that drones on and on? It starts late, runs long, and doesn’t really accomplish anything. It’s a complete waste of everyone’s time. Worse yet, since nothing was resolved you’ll have to have a follow up meeting. Argh!

In this session you’ll learn some of the keys to conducting an effective meeting. You’ll gain practical tips for making your meetings more productive and dramatically improving one of the most inefficient parts of your day.

Getting Started in IT Consulting

Do you have the expressed goal or the suppressed desire to become an independent consultant? Think it’s too risky? Don’t know where to start? In this session, I’ll help you create a clear transition strategy to go from full-time employee to full-time independent IT consultant with a minimum of risk along the way.

I’ll discuss:

  • The many hats of a consultant
  • Strategies for minimizing risk
  • Setting up your business
  • How to handle sales
  • Low cost promotions
  • Some best practices

The PowerShell Cookbook for the DBA

The best DBAs work hard so that they don’t have to, well, work hard. In this session, we’ll discuss how you can use the PowerShell cmdlets and snap-ins to create scripts that automate the more mundane tasks in your role as a DBA or developer. We’ll create scripts that check the status of SQLAgent jobs, verify the configuration of your servers, and retrieves information from your SQL Server database. You can even store your results in a database table if you’d like. This session is mostly demos with only a few PowerPoint slides to get us started.

“I got promoted! Now what?”

You were a rockstar DBA/Developer. You could leap tall buildings and tune databases in a single bound. Life was grand. And then you got promoted. The skills that helped make a rockstar DBA/Developer won’t help you in management. In fact, some of those skills could actually be a hindrance. In this session we’ll discuss the new skills you’ll to hone to excel as a manager like, skills like: managing former peers, delegating to get more done, working more productively, giving effective feedback, and conducting effective meetings.

The Fundamentals of Good Negotiating

Creatively resolving differences and negotiating mutually beneficial agreements is crucial in all walks of life. It’s especially important and challenging in the IT industry where soft skills are not necessarily prevalent. 

In this session, we’ll introduce the basic concepts and precepts that will aid you in negotiating better agreements with your neighbors, peers, and even your boss.

The Art of Delegation

“Just do it.” That may have been a successful slogan for an athletic shoe manufacturer, but it’s no way to delegate tasks to your team. To successfully motive and lead your team, you must delegate in a way that encourages and motives yet accomplishes your goals. In this session, we’ll discuss proven tactics to get lead your team and get the results you need through the Art of Delegation.

Which Would You Choose?

I’m curious. Which of the sessions I’ve submitted would you choose? Are there some other topics that I should consider submitting?

If you’re a speaker and want to submit an abstract or two, the call for speakers ends on May 1st, 2011.

Related Posts

Opportunity Cost versus Real Cost

One of the hardest lessons to learn and put into practice as a self-employed consultant is that of Real Cost versus Opportunity Cost.

Let’s consider an example.

Real Cost

Real Cost is straightforward. If the water pipes in my house freeze and burst due to the cold weather, I can fix the leak myself or I can call a professional plumber. Those are my options. Sure, I could do without running water, but I’m fond of modern conveniences. So, let’s way I want to fix the leak.

Which is the better option – fixing the leak myself or hiring a professional? Assuming I have the know-how, fixing the leak myself sounds less expensive. In terms of Real Cost it is.

When I repair the bursted pipes myself, my only outlay is for the supplies required to stop the water from squirting out. I’ll need to run down to the hardware store to buy some replacement pipe and perhaps a couple of shiny new tools. That’s the extent of my Real Costs. Then I can roll up my sleeves and dive into the repairs.

If I call a plumber to come to my house and do the job for me, I don’t have to go to the hardware store. I don’t have to buy the materials myself. And I don’t have to find and fix the leak. But I do have to pay him to do these things for me. I have to pay for his time plus the materials he uses to remedy the problem.

So, calling a professional costs me time and materials whereas doing it myself costs only materials.

But that’s not really a complete picture. There’s an Opportunity Cost associated with the project.

Opportunity Cost

If I spend three hours repairing the ruptured pipes, that’s three hours that I’m not doing something else like working for my clients or spending time with my family. The things that I give up by not choosing them are the Opportunity Costs.

There are Opportunity Costs associated with every decision you make. Choosing one thing, by definition, will come at the expense of another.

In this case, the Opportunity Cost of fixing the burst pipes is the time I spend doing the work myself. A professional plumber can probably do the job in half that time. So from an economic perspective, I’m spending time doing something that I’m only marginally skilled at instead of focusing on areas where I’m more skilled. That’s underutilizing my effectiveness.

So in effect, I am paying for time and materials even when I do the job myself. I’m paying with my time rather than buying the plumber’s time. So the question becomes: how much is my time worth to me?

Unless the plumber charges twice my hourly rate or I don’t actually have the client work to do instead of fixing the broken pipes, it actually costs me less to pay someone else to do the job.

Applying The Calculation To Business

Real Costs versus Opportunity Costs apply to business as well. For example, should I outsource part of a project to another consultant?

Let’s say I’m a database consultant and I’m somewhat skilled in application development. I can do the application development work, but my area of expertise is in the database. Spending time developing the front end application is not a good use of my time. Someone else can do it better and faster than me. I should focus on the things that I do well.

The same goes for bookkeeping, web site development, and making reservations.

The concept also applies to managers and their team. If a manager does something that he could have delegated to a team member, it’s actually costing the organization. He could have delegated the task and had someone else do it, allowing him to focus on the things that only he can do.

There’s More To The Story

We must remember, however, that not all decisions are solely based on finances. Spending time with my family, working on the fence in the pasture, and volunteering as a Scout Leader all have Opportunity Costs associated with them. Despite being intangible, the results are well worth it. I’m not going to outsource some things.

Related Posts

Using PowerShell To Search The Event Log

The “30-minute DBA” was operating in a highly effective mode. He’d automated most everything that could be automated. The first half hour of each day was spent reviewing the automated reports that landed in his inbox over night, taking actions as necessary. That’s why he’s paid the big bucks and gets to spend the balance of his time playing and learning.

“I’m convinced that he actually works 30 minutes a day and the rest of his time is spent playing around with cool SQL Server things in his test lab.” That’s what another DBA told me about the 30-Minute DBA.

Searching The Event Logs

There are a lot of options for automation. PowerShell has become one of my favorites. For example, PowerShell can be used to peek into the Windows Event Log, searching for anything of interest to you. I’ve already written about one way to sift through the events; now I’ll share a few more options.

To examine the Application Event Log, invoke the following cmdlet in PowerShell

Get-EventLog Application;

You can narrow the results to only those entries that are of type Error using the EntryType parameter.

Get-EventLog Application -EntryType Error;

You can further limit the results by looking at only the past 24 hours.

Get-EventLog Application -EntryType Error -After (Get-Date).AddDays(-1);

Using the Message parameter, you can search for specific words or phrases in the error message.

Get-EventLog Application -Message "*failed*";

If a specific event becomes a sporadic problem, you can search for the event using the Where functionality.

Get-EventLog Application | where {$_.EventId -eq 1309} | Format-Table -autosize;

Using these techniques, you can easily set up your own automated Event Log review process and insert the results into an email, a spreadsheet , or a database table for review.

Question:

  • What techniques are you using to automate your daily tasks?
  • What do you wish you could automate?

What SQL Server Service Pack Do I Have Installed?

If you’ve used SQL Server for a while, you’re probably familiar with the @@version function. @@ variables are system variables that are automatically populated by SQL Server. Selecting the @@version function in a query window produces the following results on my system.

SELECT @@VERSION;
Microsoft SQL Server 2008 R2 (RTM) - 10.50.1600.1 (Intel X86)   Apr  2 2010 15:53:02   Copyright (c) Microsoft Corporation  Developer Edition on Windows NT 6.1 <X86> (Build 7600: ) (Hypervisor)

In the results, you can easily see that I'm running SQL Server 2008 R2  Developer Edition on an Intel X86 processor. Notice that the results also contain operating system information as well. In this case, it shows that SQL Server is installed on a Windows NT 6.1 machine.

This can cause confusion for many who are unfamiliar with the @@version variable. Frequently, the service pack of the operating system is placed toward the end of the text. It's easy to assume that this is the service pack level for the SQL Server, after all we are asking SQL Server for the information. That's not the case. It's the operating system system pack level.

The ServerProperty Function

To determine SQL Server's service pack level, use the built-in SERVERPROPERTY function with appropriate parameters - EDITION, PRODUCTLEVEL, and PRODUCTVERSION.

SELECT
SERVERPROPERTY('Edition') AS Edition,
SERVERPROPERTY('ProductLevel') AS ProductLevel,
SERVERPROPERTY('ProductVersion') AS ProductVersion;

In another post, I've shown how the SERVERPROPERTY function can be used to find the location of the SQL Server ErrorLog file.

Not familiar with terms like RTM, Service Pack, GDR, and CU? I've written about the terms in another post.

Enjoy.

Meet Me In Florida!

While much of North America is bracing for the Snowpocalypse 2011, my thoughts are turning to sunny Florida.

I’m not just thinking of an escape from the cold, dreary weather that February brings with it. No, I’m thinking of the warm hospitality of sunny Orlando and SQLConnections.

I’m going to deliver a couple of sessions at the conference. Check out all of the sessions.

SSC01: Locking and Blocking Made Simple
A good working knowledge of how SQL Server makes use of locking and transaction isolation levels can go a long way toward improving an application’s performance. In this session, we will explore SQL Server’s locking methodology and discover techniques for enhancing query response times.

SSC04: Tips and Tricks for Writing Better Queries
Transact-SQL is not a very difficult language to learn. As long as the syntax is correct, it can be quite forgiving. However, to truly get the best performance from your SQL Server, careful consideration should be given to the structure and logic of the queries. In this session, we’ll discuss some Transact-SQL tips and tricks that can be employed to help you write better queries, allowing your server to perform better.

As I tune into the weather channel and see the nasty arctic weather that’s pelting almost 1/2 of the continental United States, I can hardly wait. I hope to see you there, too.

 

My Most Popular Posts From 2010

I was recently looking through my blogging statistics and discovered that I can see the most viewed posts during that time period. I didn’t know that I could do that. I should spend a bit more time exploring the other features of WordPress.

Like all statistics, they can be a bit skewed. For example, a very popular post published in late December wouldn’t be well represented compared to a post from January. The earlier one would have much more time to be found and indexed in the search engines.

  1. How I Use My iPad for Business
  2. Book Review – Learning SQL Server 2008 Reporting Services
  3. The effects of DISTINCT in a SQL query
  4. Interactive Sorting Using a Tablix in Reporting Services
  5. Making Presentations With My iPad
  6. So I Got Promoted, Now What? Stop Doing Your Old Job
  7. My Experience with a Virtual Assistant using TimeSvr
  8. The Power of Regex in PowerShell
  9. The effects UNION in a SQL query
  10. Viewing Missing Indexes in Management Studio 2005

I’m not sure whether or not I would consider these my “best posts of 2010″. I’ll have to think about that. Maybe I’ll post a link to those another time.

Getting Started With Consulting Webcast Recording Now Available

If you missed my PASS Professional Development Virtual Chapter Webcast “Getting Started With Consulting” last week, it’s now available online.

I haven’t watched it yet just in case Doc in Back to the Future, Part II was right.

I foresee two possibilities. One, coming face to face with herself 30 years older would put her into shock and she’d simply pass out. Or two, the encounter could create a time paradox, the results of which could cause a chain reaction that would unravel the very fabric of the space time continuum, and destroy the entire universe! Granted, that’s a worse case scenario. The destruction might in fact be very localized, limited to merely our own galaxy.

If you watch it, please let me know what you think; feel free to send me any questions or comments you may have.

Keeping Perspective: What Are You Building?

Think about your responsibilities at work for a minute. How many do you have? Can you even name them all?

As technical professionals, we have a myriad of responsibilities This is especially true in today’s economy when so many of us are being asked to do more with less. It’s easy to get caught up in our daily tasks and projects. We must improve the response time of a report and gently slap the hand of the guy who designed it so inefficiently. We must crank out more code to meet an arbitrary deadline promised by a salesman.

It’s easy to lose heart and to think of ourselves as just another cog in the underbelly of a faceless, heartless organization.

At least one-third of each business day is spent at work. For some if us, it’s much more than that. When we are discontented with our jobs, it affects the other areas of our lives. That’s why it’s important to keep a healthy perspective on life.

The Power of Perspective

I’m reminded of the story a man who was waking down the street in old England many years ago when he happened upon a construction site. As he approached, he saw a laborer. The man stopped and asked the laborer what he was doing. The laborer gave a sneering look and replied “I’m laying bricks. What does it look like I’m doing?” and continued about the business of laying bricks.

A few minutes later, the man came to another laborer who was wielding a trowel and slathering mortar onto a granite block. The man asked the second laborer what he was doing. “I’m raising this wall.” replied the laborer as he continued working.

Another few minutes passed and the man came to a third laborer with trowel in hand. The man asked the laborer the same question posed to the first two laborers “What are you doing?” The laborer looked at the man and replied “I’m building a magnificent and grand Cathedral where generations of believers will be able to come to worship God Almighty.”

That’s the difference perspective can make. All three laborers were doing the same thing from an outsiders vantage point, yet each viewed their activities differently.

What Are You Doing?

So, let me ask you: what are you are doing? Are you creating maintenance plans? Or are you ensuring the medical staff have the information they need to help treat patients effectively? Are you going through your daily check list on the servers? Or are you working on something much more important, much bigger than yourself?

How is your perspective?

Removing Time From A Datetime Value

How much time would a DateTime have if a DateTime had no time?

Ok, forgive the bad pun. But the point remains is a valid one. How can we efficiently strip off the time portion of a DateTime value in SQL Server?

I’ve seen a several methods proffered on the Internet. Some are quite clever; others are not so clever. The latter includes converting the DateTime to a VarChar and using string manipulation techniques to loop off the time. That’s not going to perform well.

So what is the best way? Let’s find out.

Three Methods

I’m going to narrow down the field to only three methods for manageability. There may be other methods out there. If you know of one that’s not covered here and you think may be better, please let me know.

To test each case, I’ll employ the conversion 10,000,000 times to see which finishes the quickest. I’ll do this with the following code.

SET NOCOUNT ON
DECLARE @cnt INT = 1;
DECLARE @start DATETIME = GETDATE();
DECLARE @var DATETIME;

WHILE @cnt < 10000000
BEGIN
SET @var = [time removal option]
SET @cnt += 1;
END

SELECT @var;
PRINT CAST(DATEDIFF(millisecond, @start, GETDATE()) AS INT);

Cast To A Float And Back

First let's look at a technique that casts the DateTime to a float, gets the floor of the resulting value, and then casts it back as a DateTime.

CAST(FLOOR(CAST(getdate() AS FLOAT)) AS DATETIME);

This option finished in a 16,256 milliseconds.

Adding A Date

The next option uses the DATEDIFF function to calculate the number of days since the beginning of time and then uses the DATEADD function to convert it back to a DateTime value.

DATEADD(dd,0, DATEDIFF(dd,0, GETDATE()));

This completed in 15,593 milliseconds, slightly better then the first option.

Converting To A Char And Back

Finally, let's consider a technique that converts the DateTime to a Char of a specified format and then casts it back to a DateTime.

CAST(CONVERT(CHAR(11), GETDATE(), 113) AS DATETIME

As you may have expected, the conversion to a Char significantly slowed the process down. In fact coming it at 32,698 milliseconds, it took over twice as long as the second method.

Say, Do You Have The Time?

From the three methods I've considered, the second method which included using a DATEDIFF to count the number of days since the beginning of time slightly edged out the first method. Both significantly beat converting the DateTime to a Char string.

So, do you have a favorite method? If so, use the test script I've posted about and see how it performs. Let me know how it does.

It’s A Major Award!

“It’s a major award!” That’s what Darren McGavin’s signature role, Mr. Parker, proudly proclaimed to friends and family in the 1983 movie A Christmas Story. He was proud of his accomplishment and of the leg lamp that recognized them. What a great movie!

On January 1st, I received a major award as well. Arriving in my email inbox that day was a notification from Microsoft that I was awarded the prestigious Microsoft MVP Award for SQL Server. This was my seventh time to receive this honor and each time I’m humbled and even surprised. This is no “leg lamp” award and I certainly don’t take it lightly.

If you’re not familiar with the Microsoft MVP Program, here’s a short excerpt from the Microsoft MVP web site.

These exceptional community leaders come from a wide range of backgrounds. They are teachers, artists, doctors, engineers, as well as technologists, who actively share their high-quality, real-world technical expertise with the community and with Microsoft.

Thanks Microsoft! And it’s great to be a part of a such a vibrant and active community.

Follow

Get every new post delivered to your Inbox.

Join 32 other followers