It’s that time of year again… The largest, coolest, geekiest, most awesome party of the year is just around the corner! Oh, and there’s this conference attached to the party as well. SQLBits 2018: Magic Edition. You may have heard of it? :D
SQLBits is the largest SQL Server and Microsoft Data Platform conference in Europe. It has 4 days of training and over 170 sessions by both the Microsoft Product Group and community speakers. It’s a professional conference in all ways, and it’s organized entirely by a group of dedicated volunteers. That’s right, it’s a pure community event, and it’s fantastic.
I was a speaker and volunteer at SQLBits 2015 (Superhero Edition), a precon speaker at SQLBits 2016 (Space Edition), a PASS representative at SQLBits 2017 (Disco Edition), and I’m very happy to go back to where I started as a speaker and volunteer at SQLBits 2018 (Magic Edition). I was actually really bummed when I wasn’t a volunteer, it’s so much fun helping out to make it a smooth conference for attendees and getting to know all the other wonderful volunteers. This year, I’m back! Yay :)
Biml objects have many built-in attributes. For example, all Tables have SchemaName and all Packages have ProtectionLevel. When your Biml solution starts to grow, you will quickly see the need for adding additional metadata that can be used in other Biml files. A common use case in Data Warehouse Staging projects is to store the source schema and source table name on your staging table objects. This allows you to use the source metadata in a higher tier Biml file that generates the SSIS packages to load the tables. To store and use this additional metadata, you can use Biml Annotations or ObjectTags.
Biml Annotations and ObjectTags are both Key/Value pairs. Annotations are String/String pairs intended for storing simple text metadata, while ObjectTags are String/Object pairs that can also store more complex metadata in .NET objects.
Do you want to learn more Biml? Have you always wanted to visit Chicago? Are you free on March 16-17? Then check out this amazing, once-in-a-lifetime offer just for you! …
Ok, ok, ok, I may have gotten a little carried away :) But I am excited to announce that I will be presenting a precon at SQLSaturday Chicago 2018! The precon will be held on Friday, March 16th, and is called Level Up! From Basic Biml to Automated Data Warehouse Frameworks. I will also present a general session on Saturday, March 17th.
Many Biml solutions start off very simple, with just a single Biml file that generates a few SSIS packages. Most developers quickly see the need for a more complex solution for multiple sources. One way to reuse code and apply the Don’t Repeat Yourself software engineering principle in Biml is to use Tiered Biml Files.
In addition to using Tiered Biml Files, there are four other main ways you can avoid repeating your Biml code:
I have written posts in the past about how to deal with technical failures as a speaker: Be prepared. Have backups of your files. Take screenshots or videos of your demos. Rehearse presenting your session with and without your slide deck. I have made plenty of I-wasn’t-prepared-for-that mistakes in the past, and I learned from them.
Last weekend was different. I was supposed to do a precon and a session at SQLSaturday Nashville. I didn’t experience any technical failures. I experienced what felt very much like personal failures.
On Friday, our precon got canceled due to weather.
On Saturday, no one showed up to my session.
I had not prepared for either of those things to happen, and I definitely had not prepared for both of those things to happen on the same weekend. I went through a whole range of emotions in a short amount of time, from embarrassment to disappointment to amusement.
Since then, I have debated with myself about whether or not to write this blog post. I have written and re-written it several times. I did not want to write a blog post full of whining and complaining, but I did want to share my experience as a reminder to both myself and others that:
These things happen. It’s ok to feel disappointed, but don’t let it stop you from trying again.
There is always something positive to take away from a negative experience.
Life is full of ups and downs. Social media (especially my own) often focus on the ups, but life is not amazing all the time.
If you only needed a few reminders, feel free to stop reading here :) The rest of the post is quite long and a little more like a journal entry, really.