Wednesday, December 28, 2011

2011 PASS Board Election Results

Results of the 2011 PASS Board of Directors election were officially announced this morning. I want to congratulate my friends Adam Jorgensen (Blog | Twitter), Denise McInerney (Blog | Twitter), and Rob Farley (Blog | Twitter) for each being elected to a 2 year term on the Board. All three are passionate about PASS's success and will work to continue making PASS a better organization every day.

Unfortunately (for me at least) I finished outside of the top 3 and was not elected. Obviously not the result I had hoped for, but it was still a good experience for me and perhaps I'll run again in 2012.

I'd like to thank everyone who took the time to vote (whether it was for me or not). The future of PASS is in good hands with the addition of Adam, Denise, and Rob and I'm looking forward to what they help PASS accomplish in 2012.

Tuesday, December 20, 2011

2011 PASS Board Elections Notes

As I write this the final hours for the 2011 PASS Board of Directors elections are ticking away. Before the results are announced to the candidates and general public I wanted to share how I thought this year's election cycle went.

Random Thoughts

  • Whereas each of the last two elections had some contentious issue, this election cycle was controversy free. Kudos to the Election Review Committee for the changes that were made this year!
  • Gut feel - the community at large was relatively quiet, or at least quieter than previous years. Not a bad thing, though. Maybe it's because every candidate's application was posted, because of the timing of the elections cycle (things ran later this year than usual), because there weren't any big controversies, or some combination thereof. Whatever it was, though, I don't believe there was voter apathy. The #passvotes hashtag received some good buzz on Twitter and several people did post blogs. It'll be interesting to see if the number of votes cast this year exceeds 2010.
  • The NomCom's job was to vet the 6 candidates but with 3 seats open and an ideal target of 3 candidates per seat their role this year was more or less to make sure that none of the candidates were underqualified. That's not to downplay the job they did by any means - they volunteered a tremendous amount of their time and effort - but it will be very interesting (next year perhaps?) to see what happens when they have to make the really tough call at where to draw the line on who makes the slate and who doesn't.
  • Many people made the comment that any combination of the 6 candidates would be a good addition to the Board. I agree - even if that means I'm not one of them.

Suggestions For Improvement

I have two suggestions for next year's elections:

  • As with last year's election the NomCom produced a detailed score sheet that assessed each candidate on a variety of topics (see this link for an example of what last year's sheet looked like). These sheets were used to rank the candidates but unlike last year the detailed scores were not published nor made available to anyone outside of the NomCom. As a candidate I would like to have at least seen my own scores so I know what areas I can improve on.
  • I'd like to see at least one live Q&A session with all the candidates that's moderated by PASS during the elections. If the elections run during the Summit and all the candidates are in attendance we could do something similar to the Board Q&A; otherwise we could leverage LiveMeeting and do it online.

Whether I'm elected or not, I've enjoyed the experience of running and appreciate the support I've received. The results will be announced publicly in the December 28 PASS Connector. THANK YOU to everyone who voted, and stay tuned to find out who your newest PASS Board members are!

Thursday, December 15, 2011

PASS Summit 2011 Session Evaluations

Session evaluations from the 2011 PASS Summit have been entered, calculated, and officially released to speakers. While I didn't make it into the "best of" sessions (hey, room for improvement right?) I did improve over last year's scores.

Following a similar format from previous years, each question is rated on a scale of 1-5 (1 = Very Poor, 2 = Poor, 3 = Average, 4 = Good, 5 = Excellent) with room for additional comments should the person completing the form feel compelled to add more information about why they gave a particular score. There were also two comment-only (i.e. unrated) questions. Here's how I fared:

Working With XML In SQL Server

Level: 300
Attendance: 47
Responses: 25
Average Rating: 4.56
Overall Rank: 64 (out of 190 sessions)

1. How would you rate the Speaker’s presentation skills? 4.6

  • Kendall started off the last session of PASS with a corny SQL joke. Excellent. :) Kudos  for pointing out the insecure way of connecting to SQL and mentioning that it should never be done

2. How would you rate the Speaker’s knowledge of the subject? 4.68

  • a few questions he couldn't answer on indexes/stats

3. How would you rate the accuracy of the session title, description and experience level to the actual session? 4.64

  • too basic 100 or 200
  • very good overview

4. How would you rate the quality of the presentation materials? 4.56

  • time was limited

5. Did you learn what you expected to learn? 4.32

  • Exactly what I wanted! Thx!
  • neutral since I'm still new to xml

6. What will you take away from this session? (comment-only question)

  • Possible methods to improve currently poor XML use.
  • great tips on working w/XML
  • a better overview of xml-dml queries
  • i want to query my execution plan DMV's using Kendal's query
  • resources to obtain queries

7. What would you change to improve the overall quality of this session? (comment-only question)

  • correct the level
  • would like to see a few more of the "cool" examples that were at the end (eg querying for showplans)
  • Put this session before the 500-level session on performance tuning XML usuage
  • Not a thing
  • 90 minute


Paging DR Availability, You're Wanted In The Recovery Room
Level: 200
Attendance: 61
Responses: 42
Average Rating: 4.36
Overall Rank: 124 (out of 190 sessions)

1. How would you rate the Speaker’s presentation skills? 4.4

  • Flowed well and handled questions gracefully.
  • Good, but more dynamic.
  • Thorough explanations.
  • Speaks a little too fast for me.
  • Very easy to understand and open to answering questions.
  • Applause at the end is a good sign. Humor, self-deprecating - clear, funny and smart. (Note from me: Thanks!)

2. How would you rate the Speaker’s knowledge of the subject? 4.6

  • Knows his stuff :)
  • Very good knowledge of the topic - was able to answer most questions.
  • Very good.

3. How would you rate the accuracy of the session title, description and experience level to the actual session? 4.29

  • Hoped for more concreate guide for DR vs. HA.
  • Should describe this as a high level overview.
  • This was more of a HA class than DR while still very good, title was a little misleading.
  • Might have been 100 level.

4. How would you rate the quality of the presentation materials? 4.31

  • More examples.

5. Did you learn what you expected to learn? 4.19

  • Well presented @ SQL DBA!
  • Not what was expected.
  • Doing this stuff, but needed "this is what to do!" :)
  • Speaker broke down technologies.
  • Learned about replication.
  • Was hoping for more in depth info but speaker warned us at beginning it was an overview.

6. What will you take away from this session? (comment-only question)

  • There is no single solution Even though there are many options avaiable
  • Ideas about different types of disaster recovery.
  • Better understanding of HQ and HR concepts.
  • A good idea of the various strategies I can use in my shop.
  • HA vs. DR. Good score card.
  • Given me a better understanding of how I can back-up and keep our data current.
  • More knowledge and points to take back and improve.
  • Good info on which strategy to use when and why.
  • Understanding difference between HA/DR.
  • Different DR technologies - will implement database mirroring with in the next month.
  • Very good overview of a topic a lot of people mess up: HA vs. DR.
  • Excellent score card!!!
  • Good overview of techniques and strategies.
  • The info on transactional replication was really helpful.
  • A better sense of what's available out there.

7. What would you change to improve the overall quality of this session? (comment-only question)

  • Nothing.  Good job.
  • A couple demos (mirroring, t-log shipping) would have been nice.
  • Less time spent on the "basics" that are well known. Hoped for more info on using combinations of the technologies - clustering with mirroring.
  • Class focused on clustering over DR.
  • None, other than to check slides before presentation. (Me: Yep, I had a typo in one of my slides. My fault!)
  • Add multi site clustering info.
  • More time.
  • Demo some types of recovery mirror, etc.
  • It's skimming the surface.  Learned stuff, but was surprised at how much of it i know.



One thing I've learned after presenting at three Summits is that I'm not going to over-analyze the results. I'll leave it at this: I didn't bomb my presentations and I improved over last year's scores so I'm happy. There are a few things I'll tweak to both sessions to make them better, and some of the comments confirm that I could easily turn the HA\DR presentation into a day-long precon (something I've been kicking around for a while now).

I'd like to thank everyone who attended my sessions and took the time to provide honest feedback. I'm happy to have been given the opportunity to present at the Summit and am looking forward to next year!

Friday, December 9, 2011

A PASS Board Of Directors Endorsement

One of the requirements for the PASS Board of Directors application was a collection of recommendations - 3 from volunteers, 3 public, 1 personal, and 1 work-related. Every candidate's application is available for review (here's mine) with some minor amount of information redacted. One such section was for the volunteer recommendations and for me that means the recommendation from my friend Andy Warren (Blog | Twitter).

With permission from both Andy and the Nomination Committee I'm posting his recommendation here:

To: PASS Nominating Committee

Subject: Letter of Recommendation for Kendal Van Dyke for the PASS Board of Directors

I was introduced to Kendal in 2007 and soon after he agreed to do a presentation for the just re-launched oPASS chapter. Since then he’s gone on to speak at many other chapter meetings and SQLSaturday events, and has been selected twice to speak at the PASS Summit. He’s a confident and capable presenter.

He’s done more than just speak at events. He’s been active in growing oPASS and early this year launched our second Orlando chapter, MagicPASS. He was also a key member of the SQLRally team, taking ownership of the local side of marketing and also leading a networking ‘speed dating’ session as part of the event. He’s well known on Twitter, blogs on a recurring basis, and has built a substantial network in the community.

Kendal has all the personal attributes I look for in a candidate. He’s a good listener, willing to work hard, willing to take criticism, understands that not all decisions are perfect and that not all decisions will be popular, and he has no agenda other than to give back. He’s spent time with me discussing how the Board works and why we made some of our decisions, and I know he has spoken with others about this as well.

Kendal is a PASS success story. We held events that opened doors for him, and as a result he’s had a lot of opportunities to grow. I think highly of Kendal, and I believe he would do well on the Board if elected.


Andy Warren

Director, PASS

PASS Board Of Directors Voting Open Through Dec. 20

Voting for the 2011 PASS Board of Directors elections started earlier this week and if you were a PASS member in good standing as of June 1 you should have received an email with a link to cast your vote. If you've already voted - thank you! If you're undecided I'd encourage you to visit the election site, read each candidates' background and platform, and if you still have questions post them on the discussion forum. All the candidates, myself included, are monitoring the forum and will usually answer within 24 hours.

So why should you vote? Besides being easy - just a few clicks and you're done - you are helping decide who you want to lead a growing international organization that can impact your day-to-day professional life. If you've ever been to a SQLSaturday, SQLRally, Summit, user group meeting, a virtual chapter meeting, or 24 Hours of PASS you have been part of a PASS event. It takes a strong leadership team to help make all of those events happen, and by voting you're adding your input on who you think will best be able to continue to provide that leadership.

If you haven't received an email with a link to vote, please visit the election website and look for the link in the lower right corner to contact PASS HQ and let them know.

Voting is open through December 20. I hope you take the time to make your voice heard and cast your vote!

Thursday, December 1, 2011

Database Mirroring In A Windows Workgroup

Database Mirroring is a popular high availability solution and low-cost alternative to clustering, especially for smaller shops who can't afford the costs associated with SANs and Windows Server Enterprise or for smaller installations where clustering is simply overkill.

I recently set up mirroring for servers in a Windows workgroup and I had a few struggles getting it to work correctly. I did eventually get it running and wanted to share two things in particular that you might find helpful if you find yourself in a similar situation.

SQL Service Accounts

Because a workgroup isn't part of a domain any account that SQL is run as on a machine in a workgroup is a non-domain account. Books Online states "If you run SQL Server under a non-domain account, you must use certificates" for configuring mirroring. However, that's not entirely accurate - unless you have a specific need for certificates you don't have to use them.

The solution is simple - use local machine accounts with the same username and password for each SQL instance that will participate in mirroring.

Let's pretend you have two servers named serverA and serverB that will participate in mirroring and the SQL Service on each server uses a local machine account named sqlservice. When you configure mirroring and use the Database Mirroring Security Wizard you'll want to make sure to pay attention to the part where you specify the service accounts. If serverA is going to be the Principal and serverB the Mirror you'll want to put serverB in the Principal and serverA in the Mirror on this screen:


Although this seems backwards from what you might think at first don't worry - when the wizard completes it will actually create the login for serverA on serverA and the login for serverB on serverB. This is because the wizard creates mirroring endpoints on each server and grants CONNECT access to the service account from the other partner. In this example since serverA is the Principal the wizard will use the credentials you entered for the Mirror (serverA\sqlservice) to create a login on the Principal (serverA) and the credentials you entered for the Principal (serverB\sqlservice) to create a login on the Mirror (serverB).

The simplified reason this approach works is because when a connection is established from serverA to serverB the credentials supplied from serverA match the local machine account on serverB and access is granted - No certificates required!

Fully Qualified Domain Names

Books Online indicates that while you can use a fully qualified domain name (FQDN) for server network addresses you can also use IP addresses. Windows workgroups don't have the concept of a FQDN so I went with IP addresses and everything appeared to work…until I tested failover. Failover to the mirror worked great except that the apps on the web servers using the SQL native client (configured with the right connection string parameters) wouldn't talk to the mirror. On top of that, after failover the mirror would lose connectivity to the witness and if I rebooted the principal all the databases on the mirror would go into recovery mode. Talk about a demo that didn't go over so well!

Digging around in the Windows event log on the mirror turned up this error:

Database mirroring connection error 4 'An error occurred while receiving data: '64(The specified network name is no longer available.)'.' for 'TCP://[SERVERNAME]:5022'.

where [SERVERNAME] is the name of the mirror. It turns out Adam Machanic (Blog | Twitter) had the same issue and fixed it by switching to FQDN. The problem? In a workgroup there are no FQDNs and trying to enter just a machine name in the mirroring wizard results in an error.

The solution? Add "fake" FQDN entries to the Windows hosts file (usually located in c:\windows\system32\drivers\etc\) on the principal, mirror, witness, and web servers, then rebuild mirroring using the "fake" FQDNs.


I hope my pain becomes your gain should you ever find yourself having to set up database mirroring in a Windows Workgroup!