Wednesday, November 13, 2013

Pivoting SQL Data for Instant Reporting

I always get a bit of geeky enjoyment out of finding an excuse to take advantage of features introduced into newer versions of SQL server. Today, a coworker asked me to help him pivot some data from an issue tracking table he was using. He didn’t know what “pivot” was, but that is what he wanted.

Here’s the table with sample data:

CREATE TABLE [dbo].[Issues](
    [Id] [int] IDENTITY(1,1) NOT NULL,
    [WorkItem] [nvarchar](50) NOT NULL,
    [DateSubmitted] [date] NOT NULL,
    [DateFixed] [date] NULL,
    [Id] ASC

INSERT [dbo].[Issues](
('Test', '20130310', '20130310'),
('Test1', '20130310', NULL),
('Test2', '20130311', '20130313'),
('Test3', '20130311', '20130311'),
('Test4', '20130311', '20130320'),
('Test5', '20130312', '20130314'),
('Test6', '20130314', '20130315'),
('Test7', '20130314', '20130315'),
('Test8', '20130316', '20130319'),
('Test9', '20130319', '20130330'),
('Test10', '20130320', NULL)

He asked me to go through the table, and for each day count how many issues were submitted and how many were fixed. When he manually counted the values, he got the following results:

Date Submitted Fixed
3/10/2013 2 1
3/11/2013 3 1
3/12/2013 1 0
3/13/2013 0 1
3/14/2013 2 1
3/15/2013 0 2
3/16/2013 1 0
3/19/2013 1 1
3/20/2013 1 1
3/30/2013 0 1

After staring at the tables for a few moments, I realized that the easiest way to transform the table into the results was to use PIVOT.

Select [Date]
, ISNULL([Submitted],0) as [Submitted]
, ISNULL([Fixed],0) as [Fixed]
  (Select DateFixed as [Date], COUNT(Id) as ct, 'Fixed' as md
     from dbo.[Issues]
    where DateFixed is not NULL
group by DateFixed
   Select DateSubmitted as [Date], COUNT(Id) as ct, 'Submitted' as md
     from dbo.[Issues]
    where DateSubmitted is not NULL
group by DateSubmitted) as SourceTable
   for md in ([Submitted], [Fixed])) as pvt
order by [Date]

And there you go. Fun day with new PIVOT-y toys.

Monday, September 30, 2013

Easy Trace File Query

Whenever a customer has an issue with slowness, we request a trace file to help us figure out where the problem may be. The trace allows us to see which procs are called most often, and which are taking up the most time.

I used to import the trace file into a temporary table, then run my own queries on the file to pinpoint issues. While that works well, it requires me to make additional copies of the customer's data which all has to be tracked due to in-house security rules. Since I don't like having to do excessive paperwork, I found a way to easily read in the data from where it sits rather than importing it into SQL server:

Select ObjectName
, substring(DatabaseName, 1, 18) as dbname
AVG(cpu) as cpuuse
, AVG(reads) as avgreads
, AVG(writes) as avgwrites
, COUNT(EndTime) as instances
, AVG(duration) as avgduration
, COUNT(EndTime) * AVG(reads) as cumexpense
from fn_trace_gettable ('C:\Temp\MyTraceFile.trc', DEFAULT)
group by ObjectName, substring(DatabaseName, 1, 18)
order by avgreads desc

The above query orders the items in the trace by average number of reads. Next, order the list by Average CPU then Average Duration. Any queries that are consistently at the top of the list are the first candidates for tuning.

I've also used the following to zero in on data regarding specific procs:

select  DatabaseName, ObjectName, TextData, CPU, Reads, Writes
from fn_trace_gettable ('C:\Temp\MyTraceFile.trc', DEFAULT)
where ObjectName ='MyStoredProc' or ObjectName='YourStoredProc'

Have fun analyzing your trace files.

Wednesday, October 31, 2012

Preparing for SQL Pass Summit–Part the Last

It’s the week before SQL Pass, and I hope everyone feels they’re ready to go. It’s time to pack your stuff, iron your kilts, and get your travel documents organized – we’ll be seeing you soon. This will be the final Pre-Summit blog post to wrap up the series for the "Summit First-Timers" program. This is the sixth posting in the series. Here are the links for Part 1, Part 2, Part 3, Part 4, and Part 5.

Last minute TO-DO list

Check your flights

If you’re flying into Seattle, this is a must – especially if your flight has a stop in or departs from any of the Airports that were in Hurricane Sandy’s path. The storm made a total mess of the eastern half of the US, some airports may still be under water or out of commission, and your flight plans may have to be changed. In addition, since about 20,000 flights into and out of the area were canceled earlier in the week, expect security lines to be extra long and airports to be especially crowded as stranded travelers seek seats on upcoming flights.

Check the Weather

People always ask me, “Will it rain during SQL Pass?”. Probably. According to’s 10-day forecast for Seattle, expect rain showers on a couple of the days during the week, and clouds the other days. Temperatures will range from the low 40s at night, to the upper 50s during the day. Another weather site, Wunderground, predicts a slightly more sunny week. Bring a raincoat just in case the first one is right – you never know when it comes to weather.

Print relevant travel documents

Print out your hotel reservation information, flight itinerary, boarding passes, and your SQL PASS Summit receipt, Visit your favorite online mapping site – google maps, mapquest, or yahoo maps – and print out the appropriate maps showing the location of your hotel, the convention center, and other sites you’re planning to visit while in Seattle. I know some will say, “I’ve got a GPS application on my phone to handle all that”, but what if your phone’s battery runs out while you’re traveling, and you can’t use it? Paper doesn’t require batteries. 

Download Reading Material

If you are bringing a eBook reader (Kindle, Nook, Tablet with eBook reader application) for the flight or train trip to Seattle, be sure you have downloaded several books before leaving home – you can’t rely on being able to find free wifi to load you eBook while traveling, and there’s nothing like opening your Kindle application only to see 0 books available.

Pick Songs to Sing at SQLKaRAOKE

SQL Karaoke - singing best left in the showerJen McCown reminded me via twitter of this very important Pre-SQLPASS step:

If you are planning to participate in Karaoke on any of the evenings of SQL PASS (some attendees go every evening – just ask around), you should pick out a handful of songs that you’d like to sing so that when it’s your turn at the microphone you’ll be ready to rock. Practicing songs in the shower is strongly advised.

Pack your SQL Kilt and SQL-Saturday Shirts

Wednesday of SQL PASS Summit is “wear your SQL Saturday shirt” day so if you haveJean & Sean Showing off their SQLKilts one be sure that you remember to pack it.

Thursday is SQL Kilt day. Yes, both men and women don kilts on the day of the WIT Luncheon to help celebrate and support Women in Technology. SQLKilt day is a tradition that started several years ago when a bunch of SQL MVPs decided to show up at SQL PASS wearing kilts, and over the years more and more people have joined in on the fun.

If you don’t already have a kilt, don’t worry, Utilikilts is on 1st Avenue in Seattle, which is just a short walk from the Convention Center, and you should be able to pick one up there shortly after you arrive.

Watch the First-Timers Webcast Recording

If you weren’t able to view Denny Cherry’s live webcast for SQL PASS Summit First-Timers, he has uploaded it to the Live Meeting website for you to view. Simply go to the Live Meeting site which is setup for this recording and put in your name. It will also ask you for a recording key, just leave that blank as there is no key for this recording. On the next screen it'll ask you for your email address and company then you'll be able to view the recording. The entire video is posted online including all of the Q&A.

Make arrangements for Pets and Mail

nom nom nomIf you live alone, don’t forget to tell the post office to hold your mail so that the mailbox won’t be overflowing when you return.

If you have pets, be certain that you’ve arranged to have someone visit your home every day to provide food and water for them. And be sure to give your beasties a little extra loving before you leave. They’ll miss you.


Well, that about covers it. See you at SQL Pass Summit!

Saturday, October 27, 2012

Vieux Télégraphe Châteauneuf-du-Pape Tasting

Last Friday, October 19, 2012, my husband and I had the privilege of meeting DanielIMG-20121019-00013 Brunier, Winemaker for  Vieux Télégraphe Châteauneuf-du-Pape , at Liner and Elsen, a neighborhood wine shop in Portland, Oregon. We tasted 8 wines that M. Brunier produces. It was a LOVELY evening and a fantastic opportunity to enjoy our favorite wines along with a crowd of others who also greatly appreciated this kind of wine. The following are the tasting notes my husband recorded.

The prices shown are what Liner and Elsen listed on the tasting notes sheet that each attendee was given.

We score the wines from 0 to 10. NO WINE has ever received a score of 10 from us (we’re tough when it comes to rating). Anything above a 6 is excellent. Our cellar is full of mostly Vieux Telegraphe Chateauneuf-du-Pape so you know we LOVE this winemaker.

2011 Les Pallieres Gigondas rose, "au petit bonheur"

($21.99 bottle/225.61 case)
- Grenache , Syrah , Cinsault , Clairette
- Crisp, lighly sparkling, bone dry
- score: 9

2010  Vieux Télégraphe Châteauneuf-du-Pape blanc

(bottle 66.99/ case 687.31)
- Clairette (40%), Grenache Blanc (30%), Bourboulenc (15%) and Roussane (15%)
- Clear and clean
- light acidity
- Nothing special (but nothing really wrong)
- Score: 7

2010 Brunier Le Pigeoulet en Provence, Vin de Pays de Vaucluse rouge

(bottle 17.99/ case 184.57)
- Coppery finish almost cheaper pinot-like. Good pizza wine
- Grenache Noir (80%), Syrah (10%), Carignan (5%), Cinsault (5%)
- score: 8

2008 Pallieres Gigondas, Terrasse du Diable

(bottle 31.99/ case 328.21. 1.5l 74.99)
- Young with a shorter finish than Vieux Télégraphe
- Pepper, cherry, tobacco
- Grenache Noir (90%),Mourvèdre (5%), Clairette (5%)
- score: 8

2009 Telegramme Châteauneuf-du-Pape rouge

(bottle 45.99/ case 471.85)
- mostly Grenache
- Tight, alum chalky
- light black cherry
- Score: 8

IMG-20121019-000122009  Vieux Télégraphe Châteauneuf-du-Pape rouge

(bottle 66.99/case $687.31; 1.5l $161.99; 3l $368; 6l $698; 9l $1028)
- Grenache Noir (65%), Mourvèdre (15%), Syrah (15%); Cinsault, Clairette and sundry others (5%)
- Very green and tight
- tasty; classic CNdP
- Score: 8

2010  Vieux Télégraphe Châteauneuf-du-Pape rouge

(bottle $82.99/case 851.47; 1.5l $185; 3l $458)
- Grenache Noir (65%), Mourvèdre (15%), Syrah (15%); Cinsault, Clairette and sundry others (5%)
- Much more approchable than the 2009
-  tasty; classic CNdP
- Score: 9

Wine Spectator Interview with Daniel Brunier in 2007:

Tuesday, October 23, 2012

Preparing for SQL PASS-Part 5

Since I've attended SQL Pass Summit a couple of times, this year I volunteered to help out with the "Summit First-Timers" program. This program is designed specifically to help people who are attending SQL Pass Summit for the first time to get the most out of their experience at Summit. I've decided to post a series of blog entries here to not only help out my flock of first-timers, but to also ensure that the information is shared with as many other first-time (and alumni) attendees as possible. This is the Fifth posting in the series. Here are the links for Part 1, Part 2 Part 3, and Part 4.

I hope most of you watched Denny Cherry's "SQL PASS First-Timers" webcast. I attended it and discovered that they have already moved the location of the breakfast & lunch room from its traditional location in cozy little 4B to the cavernous 4E-F. Check out the map to see the conference center layout. The 4th and 6th floor are where most of the activities will be held.

First-Timers Networking Sessions

On Tuesday afternoon, there are several 45-minute networking sessions led by Don Gabor. These are exclusively for First-timers and are invite only. All first-timers should have received an email with links to RSVP to the session of their choice. If you are a first-timer and have not received the email, please contact PASS, and let them know. Any sessions not filled before the end of this week will be opened to other attendees.

First-Timers' Orientation

Lady Runa's Flock
Tuesday evening, at 5:15 is the First-Timers' Orientation. This is where First-Timers will first meet their alumni Mentor. If I am your Alumni Mentor, you'll receive a sticker of the graphic to the left of this paragraph to put on your badge to make it easier for you to identify the other "official" members of my flock. If you aren't part of my flock, I hope that the person who is your mentor has his own set of stickers to brand his herd with. (I printed twice as many stickers as I need, so if you REALLY want to be a part of the flock, I can be bribed convinced to give you one). Further details about this event, and the schedule from there will be available later - generally speaking, shortly after the orientation, we'll be heading down to the Welcome Reception.

Don't forget to bring along business cards to hand out to people you meet!


Thought I'd let you off easy, eh? Well, since SQL PASS Summit is only 2 weeks away, I have homework for you to do:

  • Ensure you have a login for SQL PASS (free registration link here).
  • Log in to the Schedule Builder and select sessions you wish to attend*. If you're having difficulty choosing sessions to attend, you may consider following the advice from the Expert Picks provided by PASS Virtual Chapter leaders and community Experts.
  • If you will be present in Seattle on Monday and/or Tuesday, consider signing up for one of the pre-conference sessions. These are full day in-depth sessions that are well worth the additional $395 each to attend.
*PASS uses the data from the Schedule Builder to plan session room sizes - the most popular sessions are moved to larger rooms, and less popular sessions to smaller ones - ensuring that the sessions you want to attend will have enough room available for you to squeeze in.

Wednesday, October 17, 2012

Preparing For SQL Pass Summit–Part Four

Since I've attended SQL Pass Summit a couple of times, this year I volunteered to help out with the "Summit First-Timers" program. This program is designed specifically to help people who are attending SQL Pass Summit for the first time to get the most out of their experience at Summit. I've decided to post a series of blog entries here to not only help out my flock of first-timers, but to also ensure that the information is shared with as many other first-time (and alumni) attendees as possible. This is the fourth posting in the series – Part 1 can be found here, Part 2 is here, and Part 3 is here.

Answers to Questions from my Flock

asyobiI was happy to see that several of my First-Timers responded to my emails with some interesting questions. Since the answers to these questions could also help out others, I thought I’d include my answers here.

Q: What’s Twitter? Why do we want it?

Twitter ( is a social media forum that functions like a micro-blogging site. It’s used for social messaging, news reporting, media marketing, and learning about SQL!

If you follow mostly SQL server people – yes, they occasionally post silly stuff – but frequently they tweet extremely useful things like twitter_bird_normal

  • Links to blog posts about SQL that are important
  • Information on SQL PASS activities
  • Links to free SQL training and books

In addition, you can even request help on something SQL-related – simply include #sqlhelp in your tweet. For example, one guy asked: ” Is it possible to remove a static IP from an availability group listener? If so, how? #sqlhelp” … and within a few minutes, Denny Cherry, Brent Ozar and Allan Hirt responded with helpful information that allowed the asker to go on with his work. I’ve posted a few #SQLHelp questions myself, whenever I’ve gotten stuck on something. Usually someone answers within minutes. It’s like having a mentor available at your beck and call. Of course, not all answers are perfect or correct, but they are helpful.

Brent Ozar has published an eBook called “the Simple Twitter Book” that explains twitter and how it can help you in your career. Here’s another article you may want to examine. 


  Q: Is Pre-Registration required for Sessions?

Only for the pre-conference sessions, and this is because you have to pay an additional $395 to attend them. The cost for the regular sessions is included in your Summit registration. As long as you are wearing your badge, you can attend any of the sessions you choose. For a session that you believe is particularly interesting, you may wish to line up early to ensure you can grab a good seat.


Q:How many people are attending SQL PASS Summit?

I don’t know for sure, but I’ve heard numbers from 4000 – 6000.


Q:What do you do with four pet goats?

VladMiklosYears ago, we would go hiking with them and they would get to carry all of our stuff. This meant that we could hike for greater distances because we wouldn’t get tired from hauling all the food and water that we needed to bring along. The goats would get tired, but not us.

Now, they’re just pets. They eat the grass, weeds, blackberries, rose bushes and leftovers from dinner. They are especially fond of eating the leftover potato chips and Doritos following parties. Sometimes they provide entertainment by running around chasing each other and butting heads.

Besides, you’ve got to admit they are rather cute.


Random Reminders

  • Be sure to vote (if you’re registered to vote in the United States) before coming to SQL PASS Summit, which happens during the week of Election Day (Nov 6). Most states allow voters to sign up for absentee voting (usually this means you vote by mail a few weeks prior to Election Day – check your state’s government page for details on how to vote absentee) and some states like Oregon and Washington simply have vote by mail, which allows voters to cast their votes any time within a month prior to election day.
  • Purchase the SQL PASS Summit Session Recordings. Why? Because it’s impossible for one person to attend all of the sessions offered. In fact, this year the schedule lists15 sessions in each of 4 time slots per day (5 time slots on Friday).The recordings are less expensive if you order them when you register, but if you haven’t ordered them ahead of time, you can order them while at SQL PASS Summit. If you attend a pre-con seminar, be sure to order the recordings from the pre-con sessions – there is a separate charge for this set of recordings.
  • If this is your first time attending SQL PASS Summit, try to attend as many of the First-Timer Events as you can.
  • If you are attending SQL Pass Summit with coworkers
    • Plan on attending different sets of sessions to maximize the variety of training that everyone in your work group receives.
    • Sit at separate tables during meals to expand networking opportunities.
    • Compare sets of vendor information that each coworker picked up since you may be able to eliminate taking home duplicate pamphlets.
  • Bring business cards listing your name and contact information to facilitate networking.
  • After Summit, be sure to connect to the people you met via Linked In and Twitter.
  • If you didn’t join PASS when registering for Summit, please do so now.
  • Bring “Emergen-C” drink mix to add to your water bottle. Each packet provides 1000 mg Vitamin C, plus a mix of electrolytes, antioxidants, and vitamins to help keep you alert. It also tastes better than plain water.
  • Get your flu shot a few weeks prior to attending. Getting sick is no fun. Take care of yourself.


Important SUMMIT links for you

  • Official Schedule (just released on 9/26/2012)
  • Seattle 101 (thanks Kendra!) – an excellent guide to what’s in Seattle and how to get around town. Definitely something to read if you will be in Seattle for more days than the days SQL PASS Summit is running.
  • The list of people attending SQL PASS Summit includes attendee names as well as their twitter handles. You may want to follow several of them on twitter.
  • Workstations loaded with Microsoft Hands-on Labs will be at SQL PASS Summit for you to try (and Microsoft people will provide assistance to you if you need it during the labs)
  • Several Community Bloggers have posted additional articles that should be helpful for SQL PASS First-Timers.

Tuesday, October 9, 2012

Preparing for SQL PASS Summit - Part 3

Since I've attended SQL Pass Summit a couple of times, this year I volunteered to help out with the "Summit First-Timers" program. This program is designed specifically to help people who are attending SQL Pass Summit for the first time to get the most out of their experience at Summit. I've decided to post a series of blog entries here to not only help out my flock of first-timers, but to also ensure that the information is shared with as many other first-time (and alumni) attendees as possible. This is the third posting in the series – Part 1 covered planning the trip, getting there and garments to pack. Part 2 provides advice on safe(r) travelling and choosing the right luggage to haul your stuff in.

Yes, Virginia, There Is A Free Lunch (and Breakfast)

One thing I rejoiced about the first time I attended SQL PASS Summit was the fact that most of my meals were included with the Summit registration, which meant I didn't have to eat at expensive restaurants or subsist on fast food and convenience store munchies. Yes, there are great restaurants in Seattle, and yes, people sing the praises of Top Pot doughnuts for breakfast, but since the conference registration includes the cost for these meals, there's no sense in paying twice for the same meal.


Start your Summit out right by waking up bright and early and heading over to the Conference Center around 6:45 AM each morning for a continental breakfast. You'll find the dining area near the vendor's hall (in fact, they're separated only by some ropes marking the border) on the same level as Registration. The room is "4B" if you're looking for it on the Conference Center map.

Grab yourself a hearty breakfast then plunk down in a seat next to a future friend. That's right - the included meals are excellent networking opportunities, as well as convenient ways to ensure you've consumed enough coffee to stay alert through the morning. Always strive to sit near someone different, and be sure to pass out business cards (you did print some up, right?) to everyone you meet. Ask them what sessions they're planning to attend (and why!) - you may discover that a session you dismissed as "not interesting" is actually something you really must attend.

In addition to the Summit-included breakfast, be on the look out for Vendor-sponsored breakfast sessions that will be offered on some mornings. The food will be similar, except you'll be listening to a presentation while eating your breakfast. I like these smaller breakfasts because the Vendors frequently give out awesome door prizes (I recall that at one Vendor breakfast, the grand prize was a new laptop. No, I didn't win...). Check the "After Hours" web page and your conference materials for details on when and where these breakfasts are to be offered. Also, after the session, be sure to stop by that Vendor's booth in the Exhibitor hall and thank them for sponsoring the breakfast (especially if you win something).

Break Time

To ensure you don't get too dehydrated or coffee deprived, there are breaks between some of the sessions. See schedule for exact times since they vary depending upon the day. The breaks area is in the East Lobby of the 6th floor, and usually includes coffee, soda, and water. Make sure you refill your water bottle so you'll have some water during the sessions. They also provide twenty or so computers with free internet access that you can use to quickly check your email or send out a few tweets about how much you're learning (don't want to get your coworkers who stayed home too jealous, right?).


After several hours of intense training, you'll be ready for a hearty lunch. Again, your Summit registration includes lunch, so you don't have to get soaked in Seattle's famous rain searching for a bite to eat. Lunch will be offered in the same room as breakfast ("4B") around 11:30. The food is served buffet-style, so you can fill your plate with what you like. They usually have a vegetarian option in addition to something with meat. If you have any special dietary restrictions that makes it difficult for you to eat from a typical American buffet, you may with to contact PASS Headquarters and inquire about the menu to be sure you can eat at least something that's offered.

You may also want to consider attending one of the luncheons instead of the regular Summit lunch. The Women In Technology luncheon will be held on Thursday, and will have several panelists discussing the topic, "Women in Technology: Where Have We Been and Where Are We Going?". The PASS Chapter luncheon (Wednesday) and Birds of a Feather luncheon (Friday) are actually held in the same location as the regular lunches - check the cards displayed on the tables to see who's who. I believe they usually provide a map of the tables in the materials you receive at registration, so you should be able to pick your target table in advance.


Since you'll be done for the day (as far as training goes), you may choose to hit a restaurant for dinner, however you really don't have to thanks to our amazing sponsors. There are events each evening which provide some food (and drinks!!).

Tuesday night be sure to not miss the Welcome Reception and Quizbowl (sponsored by SQL Sentry). Not only is the Quizbowl amusing and entertaining, but you'll also have the opportunity to sample various finger-foods. If you over-stuffed yourself earlier at lunch, the amount of food you snag at the Welcome Reception will tide you over until breakfast.

After your final session on Wednesday night, dash on over to the Exhibitor Hall for the Exhibitor Reception. They always provide an amazing variety of foods, so wander around the hall and discover what they're offering both for food / drink as well as products that can make your job easier.

Thursday night, Microsoft has plotted a fantastic evening for everyone - a "Community Appreciation Party" at Seattle’s Experience Music Project (a shuttle to the venue will be available). You should receive some sort of armband in your registration packet that you'll use as an entrance ticket for this party. There will be plenty of food and drinks available for everyone.