Book Review: SQL Server 2012 Integration Services Design Patterns

This book is written by Andy Leonard, Matt Masson, Tim Mitchell, Jessica Moss, and Michelle Ufford. These are all highly talented people we are talking about. Andy is constantly teaching SSIS patterns in his training classes and articles. Matt, for me, is the face of SSIS team at Microsoft. Same goes to other authors, they are common appearances in forums and community events helping people learn SSIS.

Within a few hours of reading SQL Server 2012 Integration Services Design Patterns, it stood out that none of the authors were trying to impress by showing what they all know in SSIS. Instead, they focused on describing solutions and patterns in a great detail (exactly why i paid for).

Each chapter is a collection of solutions and best practices to common data integration problems. For loading flat files go to chapter 7, for data warehouse patterns go to chapter 11. Each solution is written in detail with lots of pictures and step by step instructions. You could have the book open at work and follow through each step to solve a problem without running into any issues.

There is also pages and pages of code that you could immediately use. You’ll learn frameworks and metadata driven execution patterns. I didn’t find a companion cd or website from where you can simply copy and paste this code. That leaves you with having to type-in; a little depressing.

It is fun to read as well. I smiled when page 30 said VCR play button (referring to the debug button).Literature in the book is plain, clear, and casually written. It was like reading a blog post - simple and refreshing.

If you’re on a mission to learn everything about SSIS, I wouldn’t recommend this to you. This isn’t a know-all-SSIS book. Authors didn’t hide this fact either. Cover of the book says “Improve your efficiency as a data integration developer”. This focuses on patterns to data integration problems. If your job involves moving data using SSIS, this is a must have. SSIS 2012 Design Patterns teaches building faster, efficient, and reusable packages for your data integration needs.

I’m @SamuelVanga on Twitter.

Tips to improve your blog, really!

As I learnt a few things about blogging, I made a list of tips to get better at blogging. Thought I would share.

  1. Pour your heart out to answer a question. When someone asks a question, it means they followed your post hoping they would find an answer to their problem. If they are stuck, take responsibility. Do everything you can do to help them.
  2. Don’t plagiarise. It is just not the right thing to do.
  3. Don’t like your own posts. We know you like them, you don’t have to explicitly click like to show that.
  4. Don’t start with Hi or Hello. You’re writing a blog, not a letter.
  5. Don’t sweat it. Write what comes to you and how it comes to you.
  6. Be natural. You’ll be at your best when you are yourself.
  7. Use images. Images deliver the message quickly. If it’s a technical post, throw in lot of screen prints, else find a funny and relevant picture to use.
  8. Name your images. One extra opportunity do drop keywords for SEO. Search engines read image names and rank your post better. Posts also show up in image search.
  9. Use lists.
  10. Check spellings. There is no excuse for spelling mistakes.
  11. Check grammar. Difficult specially for people with foreign mother tongues (including me). It’s okay to be not perfect, but keep an eye on it.
  12. Check font. Inconsistent font size looks ugly. Will make the readers go away.
  13. Title is the key to a good post. Choose a title to attract people, not Google.
  14. Make use of URLs. Google will read URL text to show your posts in search results. People don’t read this. Feel free to use as many keywords as you want.
  15. Let the readers comment. Don’t post a comment saying you received so and so feedback from somebody.
  16. Be careful with series of posts. They are both powerful and dangerous. In depth series like this by Devin Knight, for example, will make the readers come back, a series on keyboard shortcuts won’t.
  17. Use your energy wisely. Blogging requires a lot of energy: time and thought. Use it and write to solve problems.
  18. Blog because you want to, not because someone else is blogging.

As always, comments are most welcome.

@SamuelVanga

Do You Know These Free Events?

I frequently attend a few online training events that greatly help me learn new things. Thought I would share, if may be you are interested too. These are all cool people sharing information for free to the community.

Go get'em!

All the sessions are recorded and posted on their respective blogs. If you miss the live event you can always catch up later.

Do you know something else that isn’t here? Please share. Drop a comment below. And SPREAD THE WORD, would ya!

~Sam.

Be careful with two digit years

I recently had a scary conversation with a user, which can be broken down to:

User: Why would the data have customers with a birth date of MM/DD/2020?

Me: What are you talking about? Lemme take a look.

Me again, this time with a changed voice: Umm, Umm, i plead guilty with an explanation your honor!

User: Let’s hear your explanation son.

Me: We receive a raw file with customer data. Date of birth is a field in that file, and it is supposed to contain data in ‘DD-Month-YYYY’ format. But, apparently, one fine day the file contained two digits for year instead of four. My import process decided that the two digit year 20 is 2020 and not 1920.

User: Okay, I’ll let you go this time, but fix it. Won’t you?

<end of story>.

Turns out, SQL Server automatically uses current century for two digit years less than 50, and previous century for years greater than or equal to 50.

SELECT CAST('01-January-49' AS DATETIME) [<50]

Result:

<50
———————–
2049-01-01 00:00:00.000

(1 row(s) affected)

SELECT CAST('01-January-50' AS DATETIME) [>50]

Result:

<50
———————–
1950-01-01 00:00:00.000

(1 row(s) affected)

Here is the books online explanation for the two digit year cutoff. Benjamin Nevarez (t|b) pointed me to this link when i asked for help on twitter using the #sqlhelp hashtag. Thanks Benjamin.

Cheers!

@SamuelVanga.

You will also like If i learn something, sorry, but you have to read it!

#meme15 – Use. Twitter. Why?

Should an average Jane or Joe professional use twitter?meme15new

Yes.

Why?

Because, I’m using it.

Not enough reasons? <grumpy face> I knew you wouldn’t buy this.

Okay, allow me to present why you should:

Advertise.

You might be thinking, “I’m neither an author nor do i have any business to advertise”. True, but do you have a blog? Are you working on any interesting project? Are you a character? If the answer to any of these questions is yes, then yes, you’ve something to advertise.

Follow your interests.

Twitter makes it easy to follow your interests: people, events, or anything else, so you can stay up to date of what’s happening around your interests. I’ll use me as an example: I follow a (very) few people. No, I don’t follow celebs like @KimKardashian or @justinbieber – I don’t care what they do – oh, sorry, my interests don’t match theirs. Instead, I follow people from whom I learn new things, people whom I find interesting, people those inspire me. If any of those people write a new article, I want to know about it. With Twitter, i can know the news from all the people at a single place.

Interact.

Example. Mine. Again.

I follow Marco Russo (blog|@Marcorus). Marco tweeted that he was doing a session on Vertipaq vs OLAP.

image

I was excited about it and wanted to attend, but couldn’t. I tweeted this.

image

A tweet appeared magically from Marco saying, hey Sam – you are awesome, this session has been recorded for you. Ha, I’m dreaming here. But you can see his tweet below:

image

This shows how Twitter makes it easy for a novice like me to interact with a master like Marco.

Wrap it…

I’m sure there are other ways to achieve these – but don’t you want to pick the horse that wins the race?

There are more reasons, oh yes, more. Need’em? Sure. Fantastrateic bloggers are giving more reasons here, while participating in this month’s #meme15, created by Jason Strate (t).

When you are ready to start using Twitter, read this free simple twitter e-book by Brent Ozar (@BrentO). You will thank me later.

See ya on the Twitter world…

@SamuelVanga

Management Studio Split Tabs

This is by far the simplest and silliest post ever, but i just figured how to create vertical tabs in management studio. When I learn something, you have to read it. I apologize, but you have to read it. As Ellen DeGeneres says, “if I see something… you have to see it” (YouTube Video).

When I want to compare scripts, I would open management studio in two separate windows and compare them. I knew there is an easier way, but didn’t know how to do that until recently.

Right click on a tab and choose – New Vertical Tab Group.

image

Split vertical tabs can be seen in the image below.

image

Note that you won’t see the new tab group options unless you have more than one tab open. Horizontal tabs can be created by clicking on New Horizontal Tab Group.

When done, you can reset the tabs to the original position by clicking on Move to Previous Tab Group.

image

I’m sure you know this – but like I said earlier, if I learn something…!

@me.

Why did I start blogging?

This post is in response to #meme15 started by Jason Strate (b|t). Two questions were asked in the first assignment. Why did you start blogging, and why do you currently blog?

I recently started writing. My blog is still a baby. I started because I…

  • Want to be a part of the community. I read other people’s blogs. I seek help on forums. I watch those informative free webcasts. I’ve been and still am a consumer. So, why not contribute and help someone.
  • Learn while writing.I strongly believe the best way to learn is to teach. When you teach/write, you can’t just write what you think is correct. Why? Once you hit that publish button, you are opening yourself to criticism. And if what you’ve written is nothing but crap, my friend, you are done. So, to stay in the game you will read, research, and in the process will learn a lot of new things.
  • Enjoy writing. I’m not sure how I can explain this, but I just enjoy explaining, writing.

@SamuelVanga

T-SQL Tuesday #025 – Tips and Tricks

And the trick i share for this month’s T-SQL Tuesday is… Distraction free management studio.

If you’re an avid writer, you might be using Writeroom. It’s a full screen distraction free writing application, which gets your computer out-of-the-way so that you can focus on your work. Dark Room is a similar app for Windows.

Distraction free! Focus on your work! Isn’t that amazing?

So how about a similar app for management studio where you spend most of your time, writing queries? Wouldn’t it be nice to focus on queries alone and not worry about new email pop-ups or any other windows on your computer?

I did a quick search, and results, nada. But, better yet, this experience can be achieved by modifying a few options.

  • Add line numbers. From management studio, choose Tools, options. Expand Text Editor and expand Transact-SQL. In the general properties check Line numbers under Display and click ok.
  • Change background color. Again from options expand Environment and choose Fonts and Colors. Click ok.
  • View query window in full screen. Click view and choose full screen when writing queries. This will bring SSMS to the foreground and closes object explorer too. To exit from full screen again click view and deselect full screen.
  • Hide results window. Finally, press Ctrl+R to hide the results window. Press Ctrl+R again to display results window.

image

Give it a try, you’ll know what i am talking about!

@SamuelVanga

Start Documenting Your Day! Why Now?

I read a post about documenting your day by Steve Jones, here is where culture insists i write a few words about the person i refer to. But you don’t expect that for Steve. Do you? :(

In this short post, I’ll present my view on why you should document your day and why now is the right time.Document your day

For most of us the job we do is more than just a pay check. It’s fun. It’s a sense of achievement. And documenting your accomplishments will only help you get better at what you do.

We all make new resolutions every year. Personal experience tells me that most of them are never visited. Documenting your every day is very hard and can be one of those that will stay in the parking lot for ever.

There are only a couple of weeks left in this year. So if you start now, you can find out if you can enjoy doing this and if this can help improve your productivity. And once you figure this out there is no going back.

Happy documenting!

~Sam.