SQLHangout #37 – Being the Lone DBA with Monica Rathbun

SQLHangout #37 – Being the Lone DBA with Monica RathbunThe recording of SQLHangout #37 is now available! In this SQLHangout, Monica Rathbun (@SQLEspresso) shares her advice on how to survive as the lone DBA. How do you survive and keep your sanity when you’re the only database person in your company? How do you find help and avoid getting overwhelmed? The keyword is networking :)

SQLHangout #37 – Being the Lone DBA with Monica Rathbun


Check out Monica’s blog A Shot of SQLEspresso to find her slide deck and great resources for other DBAs. Her blog post from the #SQLChat in November is another great resource on how to build your name recognition and SQL network – and that’s great advice for everyone, not just lone DBAs! :)

Past SQLHangouts

All the recorded videos are available in the YouTube playlist and on the SQLHangouts Facebook page.

Upcoming SQLHangouts

Do you want to participate in a SQLHangout some day? Let me know! :) If you don’t want to participate in a SQLHangout yourself, but you have an idea for a topic or speaker, use this form or tweet and use the #SQLHangout hashtag.

Switching from Lumia Windows Phone to Samsung Galaxy Android

The not-so-smart phone era

Sony Ericsson G502 (Picture from gsmarena.com)I admit it, I was late to the smart phone party. In 2012 I still had a Sony Ericsson G502, and I was perfectly happy with it. I could call and send text messages, and it had the familiar T9 keyboard that I knew how to use without looking at the phone. I searched for smart phones for years without finding one that I really wanted.

The happy Windows Phone years

Nokia Lumia 800 Magenta (Picture from windowscentral.com)Then I found the Nokia Lumia 800 and immediately fell in love. The Windows Phone operating system really appealed to me with its minimalist design. And it was pink! I bought one in February 2012 and loved how simple, fast and responsive it was. I loved it.

In 2014, I broke it :( The screen cracked. I may have cried a little.

Nokia Lumia 930 (Picture from techrific.com.au)After a short period using a borrowed HTC One Windows Phone, the Nokia Lumia 930 was finally released in Norway. No pink version this time, so I bought the bright acid green one instead. Because colors :) I was once again really happy with my phone. The phone itself is wonderful, I love the look and feel of it, and the upgrade from Windows Phone 7.5 to Windows Phone 8 came with a bunch of great improvements.

Happy Cathrine!

The “only 1% of our users use Windows Phone, so we don’t have an app for you” stage

I was patient. I waited. I defended the Windows Phone – and I still like the look and feel of it. Windows 10 would make everything so much better! I don’t need all those apps I can’t get anyway! Things will be better Soon™

But two years later, I changed my mind. It was a difficult decision, being a Microsoft girl. I really wanted the Windows Phone to be awesome. But it wasn’t. It was slowly dying. Sorry, Microsoft! I tried, I really, really tried.

It wasn’t fun to feel left out because I couldn’t see all the pictures and videos of my niece and family on SnapChat. It wasn’t very productive having to click Select → Move → Trash to delete my Gmail e-mails because the Delete button actually only archived the e-mail and labelled it “Deleted Item”. (Oh, that wonderful day when I discovered that and had to sort through several thousand e-mails that I thought I had deleted. SO FUN!) It was sad only having beta version of apps for several years, apps I needed, apps that crashed frequently, apps that were never fixed or updated. Sure, there were workarounds to many issues. But too many workarounds are cumbersome.

The “OMG Android!?” future

In 2016, I finally made up my mind and bought a Samsung Galaxy S7 Edge Android phone.


(A new fantastic point of view! ♫)

I was worried that it would take me a long time to get used to Android, that it would feel chunky and cluttered, that there were ten thousand things I had to dig through to find what I wanted. All based on my brief experience with Android phones back in 2012. And I’m happy to say that I was very wrong.

The phone is extremely easy to understand and use, and it’s very fast and responsive. I did spend some time customizing and tweaking things, but I did that on my Windows Phone as well. (I could never decide how to move those tiles around!) In less than a day, it felt like my phone.

Samsung Galaxy S7 Edge (Picture from samsung.com)It’s a beautiful phone. I adore the vibrant colors and the crisp and clean look and feel. The fingerprint sensor is such a relief to have after typing the wrong pin code approximately 2147483647 times. Both cameras take fantastic pictures. The edge panels gives me even easier access to the things I use the most. The speech-to-text and “OK Google” features actually work really great. It’s such a great user experience that I’m fine with Google knowing more about me and my life and my habits than me :)

More importantly – it makes me productive. (Or… well… at least when I’m trying to be productive and not just playing with all the new, shiny apps and features!) It has all the apps I need, everything is integrated seamlessly, and it all feels smooth and responsive.

It just works.

I don’t think I’ll regret switching :)

Speaking at SQLSaturday Iceland 2016

Speaking at SQLSaturday Iceland 2016On June 18th I will be speaking at SQLSaturday Iceland! This is my first time visiting Iceland (and not just the airport in Reykjavik), and I’m really looking forward to spending a couple of days there. I get to celebrate Iceland’s national day on June 17th, and it’s also right before the summer solstice so the days will be looooong and bright :)

I will present my Biml for Beginners: Speed up your SSIS development session. This is one of my favorite sessions to present, and I will also be around the rest of the day if you want to chat, have any questions, or if you just want me to go through some of the content from my advanced Biml sessions.

If you want more hands-on Biml experience, check out Rasmus Reinholdt’s pre-conference workshop Building tomorrows ETL architecture with BIML and MDS today. You’ll get a full day of training for a very reasonable price. Just note that the SQLSaturday Iceland pre-conference workshops are on Thursday, June 16th, because Friday is Iceland’s national day.

Also, last week I started working for Advania, an Icelandic company. I hope to meet some of my new coworkers there! :D

Make sure you register now so you don’t end up on a wait list, and join the conversation on Twitter by using the hashtag #SQLSatIceland. Hope to see you in a couple of weeks! Come and say hi when you see me :)

Goodbye Comfort Zone! – Starting a New Job

Right now, as I write this, I’m between jobs. Earlier today I finished my last day as an in-house data warehouse solutions architect and business intelligence developer. Tomorrow I’m starting my new job as a technical architect in a consulting company. It’s sad to say goodbye to wonderful coworkers, but it’s also very exciting (and scary!) to start a new chapter in my life.

Continue reading →

Why can’t I create SSIS Project Parameters from Biml?

Why can't I create SSIS Project Parameters from Biml in BimlExpress or BIDS Helper?BIDS Helper and BimlExpress does not support creating SSIS project parameters from Biml out of the box. There are workarounds (and I have previously blogged about my solution for creating project parameters from Biml), but why is this not a standard feature in BIDS Helper or BimlExpress? Many people have asked about this, so I sat down with Biml creator Scott Currie (@ScottCurrie) to get the full story.

Why doesn’t BIDS Helper or BimlExpress emit SSIS project parameters from Biml?

Well, technically it could, but it shouldn’t. The user experience would have serious issues, leading to confusion, frequent errors, and the potential for data loss. How can that be?

First a comparison to SSIS packages
When the BimlEngine emits a package, it knows that it is overwriting the entire .dtsx file. In general, this is safe, because each .dtsx file contains exactly one package. There is no risk that by overwriting one .dtsx file, that it might overwrite both the desired package and some other unrelated package. One package per file – good.

Furthermore, since it is one package per file, BIDS Helper or BimlExpress can present you with a convenient checklist of all the packages that are about to be overwritten. Maybe you made a mistake in your BimlScript code and accidentally generated a package that has the same name as a painstakingly created manual package. Maybe you noticed it in the overwrite list. Maybe not. Either way, you had the opportunity to prevent that bad thing from happening. Also, if you are using source control and checked in recently, you can revert the changes and restore your manual package.

Finally, if you have a package open with unsaved edits, not much changes from the above scenarios. The very uncommon worst case is that you lose a small number of changes that you made to a manual package since you last saved – and only when you also made the mistake of generating a package with the same name as your manually created package. The common case is that you lose some manual changes (e.g. moving boxes around on the design surface) that you never intended to preserve in the first place.

How are SSIS project parameters different?
SSIS project parameters do not work the same way as SSIS packages. All project parameters are stored as XML elements in a single XML document for the entire project called Project.params. This is the core reason why packages have a good overwrite story while parameters have a poor overwrite story.

It should be obvious that BimlExpress can’t just overwrite your Project.params file. Of course, BimlExpress would be creating the parameters you specified in your BimlScripts, but it would also be overwriting any parameters you might have created manually. If you are a Biml purist, you might not care about this, because you would be fine with creating all of your project parameters through Biml. Unfortunately, most Biml users are not Biml purists – and even fewer development teams are Biml purists.

The next logical thought is to avoid the overwrite problem through merging. Certainly BimlExpress could insert the generated project parameter elements into the existing Project.params file. Duplicate values could be ignored. Unfortunately, this only solves the problem for the very first version of your generated Project.params file. What happens when you change the names of the parameters in your Biml code or delete some of them? The BimlEngine has no way of knowing that a given parameter in your Project.params file was deleted or renamed and not just created by hand. This would lead to a potentially large number of orphaned project parameters that you would need to manually manage.

Perhaps, you might suggest, we could add some form of XML annotation to the Biml-generated elements in the Project.params file to solve or at least improve the merging capabilities? That could be a great solution, but Visual Studio / SSDT strips any additional properties you add whenever it saves the Project.params file. Even if Visual Studio / SSDT preserved those additional annotations, this could still be a risky strategy, since other Microsoft and 3rd party tools have the potential to fail or otherwise misbehave if the BimlEngine diverges from the standard accepted encoding for the Project.params file.

This gets even worse for project parameters in the scenario where the user has unsaved manual changes to the Project.params file at the time when generation is performed. These unsaved changes are impossible to detect and merge because the SSIS project system does not expose those changes to add-ins until they have been saved in the Project.params file. This means that parameter changes would have to be force-saved prior to any Biml generation, but would then still suffer from all of the above issues.

Can’t you do anything? Even with an optional setting?
Based on the above analysis, the only scenario that doesn’t create more user confusion and frustration is the Biml Purist scenario. For this case, we might be able to offer an option to always overwrite the Project.params file, but that would satisfy a minority of users and would also be very frustrating in cases where you forgot to turn it off for non-purist projects. Our thinking is that it is not worth the trouble it might cause to add this option.

Thank you, Scott!

Scott CurrieThank you to Scott Currie (@ScottCurrie) for taking the time to give us such a detailed explanation! I really appreciate it, and I hope this helps all of you Biml users who have been wondering why you can’t create SSIS project parameters from Biml. (Well, you can, but as you have probably realized by now – it can be risky.)

Finally, both Scott and I would love to hear your thoughts on this. Would you like to see an optional setting? Is it worth the risk, especially when working with Biml-generated packages and manually created packages? Is it worth the risk when working in mixed development teams?

What do you think?

Page 1 of 21 1 2 3 4 5 ...10 20 ...Last »