Take 1: My first presentation at Sql saturday

I just recently presented at my first SQL Saturday event, SQL Saturday#334 – The Boston BI Session, and wanted to share my experience for future first-timers in the hopes it might help them with their presentations.  Special thanks to Mike Hillwig (@mikehillwig or http://mikehillwig.com/) for giving me a shot for this great event.  I did a fair amount of preparation leading up to the event in order to not be a total flop, and was able to speak at a local user group a couple of months before, which helped immensely. I’m a member of the SeacoastSQL User Group (http://seacoastsql.org/) out of Portsmouth, NH, and got some great guidance and feedback from Jack Corbett (@unclebiguns) after my first demo.  The group is co-run by Mike Walsh (@mike_walsh), and is regularly attended by 10-15 members at our monthly meetings.  I’ll take readers through the process I took to try and improve my presentation skills. Also, I will share the finished product and the elements of the presentation I believe I can improve on, and hope to, for any upcoming SQL Saturday experiences.


Pick a technology:

In order to prepare for my session, I took some time to think about what SQL technology I had the most experience with, and wanted to give an overview about.  I have seen some phenomenally brilliant people in a specific technology completely flop when trying to explain that technology, or freeze up when getting in front of a crowd, so I really wanted to make sure it was something I was very comfortable with.  When choosing my topic, SSRS, I decided it would be good to give an overview of the technology, as well as some “best practice” items for attendees to ponder as they walked away.  Also, I wanted to choose something I was very familiar with in case something went wrong with my demo, and I needed to adjust on the fly in order to keep things from becoming awkward.

Brush up on those speaking skills:

I’ve always been relatively comfortable being in front of a crowd and have loved the opportunity for good discussion.  There seems to be a general mix of people who like speaking and those who don’t.  Being in front of a crowd of your peers should be something to get excited about, and in order to build the community and our knowledge, everyone should try it at least once.  For those who aren’t aware, talking about tech can get a bit boring and tedious at times, so a nice overview of something where it can be kept light, and throwing some “softball” questions out to the audience to keep them engaged were items I focused on when building my presentation.  For those who aren’t comfortable, start with a small group to get feedback, or even just a recorded session to be able to playback your voice and notice what you’re doing that might annoy people.

For my presentation, I was showing a slideshow and a demo all in the same hour-long session.

I’ve actually seen 3 different types of speakers:

  • • All presenting with slides and examples
  • • Some presenting and some demo
  • • All demo

It’s really up to you what you want to do, and what you think will deliver an effective session to the audience.  My topic required some demonstration, and at the same time, gave me the opportunity to instill some methods and best practices for success.

Create a Script:

Some of the best advice I read about and received while preparing for the session was to create a script with some easy to reference queries for necessary coding elements of the presentation.  Also, the other piece of advice I picked up was to always avoid typing in a demo.  Copy and paste any code possible in order to avoid errors and delays.

Build your presentation:

I started with an overview of my background as well as the topics I wanted to cover.  Some people are better at reading from cue cards, but I’m more of an “off the cuff” speaker, so I just jotted down some notes I wanted to highlight in a basic order to go along with a PowerPoint presentation. Successful PowerPoint design rules are posted all around the web about how much content, bullet points, static text, and ways to keep people interested, so do some reading on how to make the presentation flow cleanly.

Practice the presentation:

The old saying is: Practice makes perfect, and not much can be further from the truth. I did a dry run about 6 times to get a sense of how long the whole presentation would take as well as putting the order of topics to memory.  From there, I recorded a session using the Camtasia Studio and sent it to a few friends to critique.  I knew I would be presenting for about an hour, including questions, so I made sure to leave time for interruptions, system stalls, and anything that might slow me down a bit.  My dry runs were taking about 45 minutes and when it came to the actual demonstration, it took 1 hour and 1 minute, so I was pleased with the timing.


When I reviewed the comments from the session evaluations, there was a mix of people who came to get introduced to the technology, and people who were refreshing their skills from some time ago.  Most people felt that they walked away having learned something, which means I succeeded in my mission. On a 1-5 scoring system, 5 being the best, I received many 4’s and 5’s, and a few 3’s, so it would seem people were pretty pleased with the topic and presentation.

Next time:

Among the items I learned in this presentation was that you can expect a wide range of questions from people, both on topic and off. I found myself spending time on questions that weren’t necessarily relevant to the conversation, so be aware of the audience and do your best to filter without being rude to the questioner if the question is off topic.

SQL Saturday events are for learning and networking, so if you find someone is showing interest in your topic, and/or somewhat jumping in and answering questions directed at you, I would suggest engaging that person after your session is over. This is a good opportunity for you to possibly learn more about the topic, or have a resource to rely on when you might be running into issues with a project.

Unable to deploy package to ssis 2014 Catalog

Recently ran into trouble because our Active Directory environment was upgraded to 2012, and I could no longer deploy packages to our SQL Server 2014 SSIS Catalog due to the following error:

A .NET Framework error occurred during execution of user-defined routine or aggregate


System.ComponentModel.Win32Exception: A required privilege is not held by the client


at Microsoft. SqlServer. IntegrationServices.Server.ISServerProcess.StartProcess(Soolean


at Microsoft.SqlServer.IntegrationServices.Server.ServerApi.DeployProjectlnternal(SqlInt64 deployld,

SqIInt64 versionld, SqlInt64 projectld, SqlString projectName)

. (Microsoft SQL Server, Error: 6522)

I found a nice blog post from Archana, a Microsoft SQL Developer, that helped resolve the issue, but was a bit wordy with the solution.


Long and short of the article was to follow the steps outlined below for the user account that needs access, and then run gpupdate on the server in question:

Odd authentication behavior

Just recently I came across some odd behavior when trying to connect to my SQL 2012 server via and SSIS package and ultimately SSMS from an external connection.  I’ll cut to the chase and tell you that the error I was receiving was the following:

The target principal name is incorrect. Cannot generate SSPI context. (.Net SqlClient Data Provider)

As it turned out, something went awry with the trust connection between the SQL server and the Active Directory Domain Controller that was not allowing my user account to authenticate.  Simply going into SQL Server Configuration Manager and re-entering the user password for the various services resolved the issue, however, not so simply, it took me about 7 hours of tweaking to figure out that was the problem…

The odd thing about this is that I was working in my environment on a Tuesday with no issues, connecting externally, etc.  Wednesday I was traveling for work, and upon my return on Thursday, any external connections I tried resulted in the error above.  The really strange thing about the error is that I could connect locally just fine, and I would only get it for external connections.

I went through the normal steps to check for external connectivity i.e.:

  1. Reboot (Fortunately, it’s just a server used for reporting, and not our SAP installation)
  2. Make sure SQL Browser and other services were running
  3. image
  4. Check the windows firewall (did an external port scan to make sure 1433 was open)
  5. Check the SQL Server Network Configuration protocols were enabled
  6. image
  7. Make sure external connections were enabled in Database Properties
  8. image

Even after all these steps and more, I simply could not find an answer, so I turned it over to my Sys Admin for another set of eyes, and almost immediately he found it by changing the “Log on as” account to local system.  This wouldn’t solve my problem completely, because I would need access to network shares within the domain, however, it got me pointed in the right direction, and viola! I was back in.

As it turns out, we have been recently doing some work on our domain as they put Win Server 2003 to End of Life, and upgraded to Windows Server 2012 Active Directory.  This helped me to remember that even when you think everything is working and configured the way it should be, there are always situations where something that’s happening externally to your own “silo” can still affect what you’re doing.  Always check with the Sys Admins and bounce the question of team mates when you run into issues.

SSRS 2008R2 Parameterized Reports stop working

SSRS 2008R2 Parameterized Reports suddenly stop working

After a recent round of Windows Updates, one of my SQL Server Reporting Server 2008 R2 users complained that reports were not working properly.  After some digging, I realized that in-fact, some of the reports were actually working, it just turned out to be the ones that require parameters.  The error looks like this:


The first thing I noticed was the “Error” message at the bottom that didn’t yield much information:


Although it got me pointed in the direction of something wrong with the Web Server.  In SSRS 2008, Microsoft changed the infrastructure and design of how the reporting services interacts with the different components and also eliminated the need for IIS.  Stacia Misner does a good job explaining this here:


By getting this information it made me realize that there was clearly no reason to continue messing with IIS to try to resolve the issue, so I began searching for the error I found in the log of SQL Server Reporting Services at:

C:\Program Files\Microsoft SQL Server\MSRS10_50.SQLREPORTING\Reporting Services\LogFiles

The error that I found was:

System.Web.HttpException: The URL-encoded form data is not valid. —> System.InvalidOperationException: Operation is not valid due to the current state of the object.

And finally after an extensive search, I found this posting in MSDN:


Looks like there was a Windows Update (KB2656351) that I had installed on Jan 12, 2012 and Possibly another (KB2656356) which did not affect me.  I uninstalled the first KB and rebooted, however, it did not resolve my issue.  By reading through the posting, I attempted the other suggested fix by modifying the web.config file found here:

C:\Program Files\Microsoft SQL Server\MSRS10_50.SQLREPORTING\Reporting Services\ReportManager

Inside the <appSettings> tags:

<add key=”aspnet:MaxHttpCollectionKeys” value=”10000″ />

10000 is just a suggestion, you can set it to the value of your liking depending on the sizes of your parameters.

And my problem was resolved!