What’s Your Biggest Weakness?

Freeze tag taken to an extreme

If you’ve followed many SQL Server blogs over the past few years, you’ve undoubtedly noticed a trend of “tagging” other bloggers. It usually starts with one person asking and answering a simple question. Typically, the question isn’t technical; it’s more of a “human interest” story. For example “How did you get your start in IT?” or “The best thing I learned at a PASS Summit” Something like that.

The person that starts it the question “tags” three other bloggers to answer the same question. The tagged bloggers answer the question in a post to their blog site and then tag three more. It continues from there, growing virally. It’s these kinds of blogs that tend to make the community more personable, more real.

The online version of freeze tag

Over the years, I’ve been tagged a number of times by friends and colleagues. I try to respond and keep the thread going but I must admit that I’ve probably missed as many as I’ve made. Usually that’s not intentional; I just run out of time. By the time I get around to responding, the question and answer craze has run its course.

I’ll confess, however, that occasionally I do skip questions that I don’t find entertaining or worthwhile. I almost did that with this question. Jeremiah Peschka (blog, twitter) tagged me with a question that David Stein started.

Why on earth would I want to share with potential clients, and everyone else for that matter, what I consider to be my biggest weakness? And not only to share it once, but to have it recorded for posterity. I don’t want to do that! Or rather, I didn’t want to do that.

Considering it from every angle

Then I began pondering the question. What would I say if I were to answer it? Would I answer it with the standard interview response to that question? Or delve deeper into some true self-analysis? What are the implications of each?

How high is your bar?

That’s when it really hit me. I was spinning my wheels looking for the perfect answer, one that was a good from every angle, one that was funny yet insightful, sincere yet not too revealing.

Have you figured it out yet, my biggest weakness?

I’m a perfectionist. I like and strive for perfection in everything I do. I set I very high bar for myself and expect not only to meet it but to exceed it. If I don’t live up to that expectation, I feel that I’ve fallen short somehow. I’m very competitive, but mostly with myself. I know I can bat 1.000 in softball. There’s no reason why I cannot get a turkey every time I bowl (even though that’s only once every five years).

Is that really a weakness, though? It can be. If you are never satisfied with your performance that can lead to a very unhealthy perspective on life.

It can also lead to “paralysis by analysis“, the phenomena where a decision cannot be reached because there is always more information to be sifted through or considered.

Fortunately, I’m not naturally affected by either of those by-products of perfectionism.  I tend to have a pretty healthy and balanced view of life, I think. And I’m much more of an action person than one who tends to over analyze.

Always room for improvement

Where perfectionism rears its ugly head in my day to day life is that there is always room for improvement, at least in my mind.

Let me give you a real example. I’ve written several books and authored articles for magazines and other publications. When I first started writing, I spent a consider amount of time writing, rewriting, revising, and fine-tuning each and every paragraph of each of each and every page of the article or chapter. Was the final product better than the first draft? Yeah, probably so. But was it really noticeably better, especially considering the extra effort required? Probably not. At least not to anyone except me. That was not a good use of my time.

Dealing with perfectionism in an imperfect world

Over the years, I’ve recognized my tendencies toward perfectionism and have slowly discovered habits that help to turn that tendency into a positive attribute.

Setting realistic goals
As many others have stated in various ways, it’s important to begin with the end in mind. That is, know where you are starting from and where you intend to go. The former is not a problem for the perfectionist; we can easily identify our starting point. But the latter can be an issue. If your expectations are not realistic or are needlessly over ambitious, that can be a problem. It can be counter productive to set goals that are too far fetched. We’ll either spend too much time trying to achieve the unachievable or get frustrated trying.

Moving the ball down the field
A corollary to “Setting realistic goals” is to keep in mind that often times it’s best to set incremental goals along the way. Sure we all want to achieve great results, but sometimes, getting from A to Z in one leap is too much to ask. It’s better to take two or three steps in the right direction and then once that’s done, set new goals to go a little further. Eventually we’ll get to our destination.

Time boxing

When I set out to accomplish an activity or task, I employ “time boxing”. Time boxing is the technique where you allot yourself a reasonable, yet finite, amount of time to work on the given task. During the allotted time you work as diligently as you can and do the best job you can to accomplish the task. At the end of the the scheduled time, you’re done. Period. No more. Then you move on to the next activity.

Continuing with the writing example, I may give myself a total of eight hours to write an article. I may break this up in to four 2-hour blocks. At the end of the fourth 2-hour session, it’s done. Time to turn it in.

Are there exceptions? Sure. But at least they are conscious choices rather than a continual slide toward never finishing the article.

Setting priorities
Implicit in all of this is the concept of setting priorities. We must take a balanced approach and consider what is not getting done because we are spending what may be considered an excessive amount of time on one particular task or project. It’s good to weigh priorities at the task level (what I’m working on right now) as well as at the overall project level (what projects am I engaged in currently) and even the meta-project level (all of the projects I’ve worked on compared to the direction I want to go).

No excuses!

Now, to be clear. I’m not advocating putting in a sub-par effort or recommending a “well it’s good enough” attitude. That’s a completely different issue. What I am recommending is that you keep in mind the Law of Diminishing Returns when it comes to your work.

Your turn

I was a bit late getting my answer to this post out (not because I kept rewriting it, though) so I’m not going to tag anyone else as a follow on. But I’d encourage you to give this question some thought. If you decide to blog about it, leave me a link to it in the comments section below.

And if you have some thoughts on how to better manage your time, I’d love to hear that too.

Reporting Services Licensing

Licensing models can sometimes make database modeling seem trivial. Per processor or per seat? Single core, dual-core, multi-core processors? Multiple instances on one server? Virtualizing servers on a single server? It can get very confusing, very quickly.

I’m regularly asked by a former students, clients, and people in the Forums about licensing for a SQL Server Reporting Services instances. A typical question is: How many SQL Server licenses are required when the Report Server is installed on one server and the back end database is installed on a separate remote server?

Here are a couple of links that help describe the SQL Server licensing models.

And by the way, the answer to the sample question? Each server where a Business Intelligence component is installed requires a valid SQL Server license. So, a remote database deployment scenario where the Report Server is installed on one server and the ReportServer database is installed on a separate server requires two licenses of SQL Server.

Reporting Services Licensing

Licensing models can sometimes make database modeling seem trivial. Per processor or per seat? Single core, dual-core, multi-core processors? Multiple instances on one server? Virtualizing servers on a single server? It can get very confusing, very quickly.

Recently, I was asked by a former student about licensing for a SQL Server Reporting Services instance. In the proposed scenario, the Report Server would be installed on one server and the back end database would be installed on a separate, remote server. How many licenses of SQL Server are required?

In short, each server where a Business Intelligence component is installed requires a valid SQL Server license. So, a remote database deployment scenario where the Report Server is installed on one server and the ReportServer database is installed on a separate server requires two licenses of SQL Server.

But don’t take my word for it. Here are a couple of links that will help clarify licensing requirements.

Special Licensing Considerations for SQL Server 2005

SQL Server 2008 Pricing and Licensing

Cheers and I hope this helps!

Joe
kick it on DotNetKicks.com

Print | posted on Tuesday, February 17, 2009 8:01 AM

<!– –>

Feedback

# re: Reporting Services Licensing

really, as far as I know every server that runs any service of sql server needs separate licensing… And it is very expensive to have at leat 2 physical processor server for your SSRS…

2/17/2009 8:16 AM | Remote DBA

# re: Reporting Services Licensing

I could use a clarification here. Having any SQL Service run on a separate server makes sense that it would require an additional license. However, I’m under the impression that having the web components run on a different server does NOT constitute a SQL Service and therefore would NOT require a separate license.

Am I mistaken there?

Nick

11/10/2009 1:03 PM | Nick L Duckstein

# re: Reporting Services Licensing

Check this document:

http://download.microsoft.com/download/1/e/6/1e68f92c-f334-4517-b610-e4dee946ef91/2008%20SQL%20Licensing%20Overview%20final.docx

It seems like if you want to install reporting services web components (the site and the web service) on a different server where SQL Server 2008 is installed then you will need an other license.

12/17/2009 7:58 AM | Jairo Portela

Post Comment

Title
Name
Email
Url
Comment 
Remember Me?

Enter the code shown above:

Locking Scripts

Thanks to everyone who attended my TechNet Thrive! and Nashville SQL Server User Group presentations this week! I hope it was worth your while. As promised, here is the presentation.

And here’s the script I used to review the locks.

–examine the resources
SELECT
resource_type
,(CASE
WHEN resource_type = ‘OBJECT’ THEN object_name(resource_associated_entity_id)
WHEN resource_type IN (‘DATABASE’, ‘FILE’, ‘METADATA’) THEN ‘N/A’
WHEN resource_type IN (‘KEY’, ‘PAGE’, ‘RID’) THEN (
SELECT
object_name(object_id)
FROM
sys.partitions
WHERE
hobt_id=resource_associated_entity_id)
ELSE
‘Undefined’
END) AS resource_name
,request_mode as lock_type
,resource_description
,request_status
,request_session_id
,request_owner_id AS transaction_id
FROM
sys.dm_tran_locks
WHERE
resource_type <> ‘DATABASE’;

Locking & Blocking

On the gridiron, two opposing teams are contending for one very limited resource, the football. One team has it; the other team wants it. The team that has it, tries very hard to protect it by securing the football and blocking all others from getting to it.

The same can be said about SQL Server. When one process needs to access a resource, say a table, it secures the resource (locking) which prevents other processes from accessing it (blocking).

Locking in SQL Server is a good thing. Locking helps to maintain data integrity by ensuring that two different processes are not going to use a single resource in a way that is considered incompatible.

Blocking, a natural by-product of locking, is not so good of a thing.

If a resource is locked by one process and another process needs access to that resource, the second process will be blocked until the resource is released by the first process.  The effect? The second process experiences a longer wait time and performance suffers.

But locking and blocking are two sides of the same coin.

Locking & Blocking Made Simple

Okay, if locking is good and blocking is bad, what can be done about locking? I’m glad you asked! Tomorrow, I’m speaking at the Nashville SQL Server User Group. In the session, I’ll cover those topics and more. Here’s the abstract:

A good working knowledge of how Microsoft SQL Server makes use of locking and transaction isolation levels can help you greatly improve an application’s performance. In this session, we explore the SQL Server locking methodology and share techniques for enhancing query response times.

If you’re in the Middle Tennessee area, come on out and join us for the meeting. For more information on time, location, etc, visit the Nashville SQL Server User Group web site.

If you’re not in the Nashville area, I believe the meeting will be available via LiveMeeting provided by PASS. Stay tuned and follow me or NashSQL on Twitter for up to the connection information.

Thanks and I hope to see you there!

Follow

Get every new post delivered to your Inbox.