Sharing a Good Idea

Professional Development
I posted earlier about my experiments with Microsoft Curah!. (yes, technically the period should follow the exclamation since the exclamation is part of the name, not the end of the sentence) Evidently people actually read this blog because it inspired Stephen Bennet to start putting together his own curations and collect them on his blog. I think that's a pretty interesting idea. I might try it myself (after I get back from SQL Intersection). Stephen's Curah! so far. Oh, and I kind of dislike the name. Curah! Just typing it I feel like I should be excited except I'm not. Anyhooo...
Read More

I’m a Traveling Man

PASS, Redgate Software
We are coming into quite a busy time for my speaking schedule. I'm hitting the road. It does one thing for me that I truly love, I get to talk to people. So, if you have questions, want to chat, need to call me a pompous know-it-all to my face, I've got some opportunities for you. Next week, April 13-16, is SQL Intersection. You can register by clicking here. The following week, I've got two events. First, on Friday April 25th, Red Gate Software is hosting a free half day SQL in the City Seminar in the Chicago area. We'll be talking database deployment all day. Go here to register, but don't wait, seats absolutely are limited. And, since this is a Red Gate event, at the end of the…
Read More

Curation and Performance

Misc, SQL Server
I'm trying out a new web site from Microsoft called Curah! that is all about curation. Curation is basically what blogging started out as. Blogs, short for Web Log, was really just a collection of links you'd visited recently and what you thought about them. But it's grown into all manner of things, the least of which is a collection of links and what I thought about them. However, the concept of a useful set of links, why they might be useful, what you'll find there, these concepts still have value. Hence the rise of curation. As a concept, I get it. I don't think it deviates radically from what we do with our blogs, our resources pages (see the links above), and other similar functions. But, it is rather…
Read More

Speaker of the Month, April 2014

Professional Development
I'm really enjoying picking a speaker of the month. It forces me to sit through a lot more sessions at the events I attend. I had been getting rather slack about attending sessions. It's easy to get caught up in networking so much that you're not taking advantage of the learning opportunities. This month we're on to the East Coast to pick a speaker from the Boston SQL Saturday event. The talk was called, "What I Wish I Knew Before Becoming a DBA." The speaker of the month is Mike Walsh (b|t). Mike's session was just a general discussion about the job of being a DBA. He didn't get into a lot of technical detail. Instead it was like a conversation with your friends talking about personality traits, work/life balance, restore…
Read More

Thanks For Stopping By

Misc
Yesterday I passed 300,000 views on the blog. Recently I went over 1,000 comments. My little joke on Tuesday garnered over 2,000 views alone. I just wanted to say thank you for stopping by and reading about my struggles to understand SQL Server, Azure, our amazing community and whatever else it is that I've posted here. I appreciate your time. On to the next 300,000.
Read More

SQL Server 2014 New Defaults

T-SQL
Today, April 1st, 2014, marks the release of SQL Server 2014. There are tons and tons of great new methods and functions and processes within the product. We're all going to be learning about them for quite a while to come. One of the most exciting though is one of the changes to the defaults. In the past there's been a lot of debate around how best to configure your databases. What cost threshold should be set for parallelism, the max degree of parallelism, memory settings, auto growth, and all sorts of other settings affect how your databases work. But, Microsoft has finally done something smart. They've bowed to the pressure of hundreds and hundreds of DBAs, Database Developers and Developers around the world. They've finally done the one thing…
Read More

Save Money On Your Training Server

Azure, T-SQL
You can spend less money. Some of us are lucky. We work for very large corporations who can easily set aside a spare desktop or even space on a rack for a server on which we can train. Others of us are not as lucky. We work for smaller organizations that have to be more careful with their money. Not only do we not get the extra machine to train on, but our laptops could be weak things that can't run two or more VMs. In this case, how can you go about learning stuff? Spend your own money? Sure, it's an option. There are some very cheap servers available out there that won't cost you even $1000 dollars to set up. And for pretty cheap you can buy some…
Read More

PASS DBA Virtual Chapter Talk

Azure, PASS
I almost forgot to tell you about the Database Administration Virtual Chapter meeting next week, March 26th, 2014. I'll be doing a talk about query tuning in Windows Azure SQL Database. It's a talk I've given before (it was in the top 10 at the PASS Summit last year). Come find out why you'll need to tune queries in WASD, the tools you get, and the glorious fact that you'll actually be actively saving your business money by tuning queries! Click here now to register.
Read More

Query Tuning Near You

SQL Server, T-SQL
It really is so much easier to just throw hardware at badly performing databases. Just buy a bigger, faster server with more and faster disks and you can put off doing tuning work for another 6-9 months, easily. But, for most of us, sooner or later, our performance problems get so big or, we just don't have any more money to spend, and we're stuck. We have to tune the queries. And frankly, query tuning is a pain in the nether regions. But, after you've tuned queries 20 or 30 times, you start to recognize the patterns and it gets easier (never easy, just not as hard). But, if you haven't done it 20 or 30 times, what do you do? My suggestion, talk to someone who has done it…
Read More

Finding Mistakes

SQL Server, T-SQL
Ever had that moment where you start getting errors from code that you've tested a million times? I had that one recently. I had this little bit of code for pulling information directly from query plans in cache: WITH XMLNAMESPACES(DEFAULT N'http://schemas.microsoft.com/sqlserver/2004/07/showplan'), QueryPlans AS ( SELECT RelOp.pln.value(N'@PhysicalOp', N'varchar(50)') AS OperatorName, RelOp.pln.value(N'@NodeId',N'integer') AS NodeId, RelOp.pln.value(N'@EstimateCPU', N'decimal(10,9)') AS CPUCost, RelOp.pln.value(N'@EstimateIO', N'decimal(10,9)') AS IOCost, dest.text FROM sys.dm_exec_query_stats AS deqs CROSS APPLY sys.dm_exec_sql_text(deqs.sql_handle) AS dest CROSS APPLY sys.dm_exec_query_plan(deqs.plan_handle) AS deqp CROSS APPLY deqp.query_plan.nodes(N'//RelOp') RelOp (pln) ) SELECT qp.OperatorName, qp.NodeId, qp.CPUCost, qp.IOCost, qp.CPUCost + qp.IOCost AS EstimatedCost FROM QueryPlans AS qp WHERE qp.text = 'some query or other in cache' ORDER BY EstimatedCost DESC; I've probably run this... I don't know how many times. But... I'm suddenly getting an error: Msg 8114, Level 16, State 5,…
Read More