Looking back at 2013

Looking back at my list of 30000 foot goals, it seems that I have put forward goals that I will work towards that are hard to measure.  A lot of them are more geared toward social aspects that it would feel wrong to measure as such.  I think I will attempt to get back into the “Getting things done” methodology a bit more and think about what I want to accomplish, both professionally and at home, on a more regular basis.

With that said, I feel as though I have done a pretty good job at maintaining my goals for family and friends in that I have worked towards a good work / life balance, I have been spending time with family and friends, and I am providing a good home for my wife and child.  Some highlights included taking time off when my son was born, taking a trip for our anniversary and getting to see one of our favorite bands in concert, going to a football game with my some friends along with my Dad, Uncle and Cousin, going it to a basketball game with nearly the same group, spending Christmas with both sides of the family.

I have some goals for finances, but they mostly revolve around budgeting, building up savings and not incurring extra debt.  I have not done a great job at my stated goals, but I am instead attempting to pay my mortgage off at a faster rate, so I feel like I am doing well here.

As far as health goals are concerned, I have recently been able to reach one of my intermediate goals and am relatively proud of that; now to continue to work towards my long term goals and keep up with exercise.  As for getting enough sleep? Well, I am finally starting to catch up – but newborn / infants can make this one a little tough.

For community goals, I have done a few presentations this year, although not as many as I would normally like. I was able to attend the PASS Summit in Charlotte and SQL Saturday Orlando – both were incredible events and I am absolutely grateful to have had the chance to attend. I haven’t been as active with this blog, twitter or really anything else for that matter. It is an area where I plan on improving in 2014 (I’ll believe it when I see it?).

For knowledge, staying current and new things I have attempted to read through various blogs, watch some presentations, attend the local user group and SQL Saturdays, and try new things out.  I went to a couple of meetings for the local Big Data group, I listened to an audio book on habits and one on predictive modeling.  I have attended training on giving effective feedback and attempted to work more on my soft skills. I managed to pick up the MCSA and MCSE SQL Server 2012 certificates, but I am not nearly as excited about these now that the MCM certification program is closing down.

For fun and activities I have tried to keep up with Game Nights, video games, going to parks, reading and watching movies / shows.  In reality, I have probably spent too much time on video games this year. Oh well, even if it wasn’t productive, it was fun.

All in all, 2013 was fantastic.  I can only hope that 2014 is as fun, exciting and rewarding.

Posted in Uncategorized | Leave a comment

MCSE: Data Platform

So, on a much quicker note, since it was a much quicker test for me, I went and took the upgrade test to complete my MCSE: Data Platform certification. I did this after looking at the list of skills measured on both tests and coming to the conclusion that they were both really pretty similar and that I felt relatively confident for both of them. I was also somewhat trying to challenge myself to see if I could take the test with little to no studying. I did take about four hours the Saturday before to look over a few things on the list I wasn’t as confident about, but other than that held to the no studying.

The test was split into sections. Something I liked a fair amount were the sections based on case studies that would explain the situation and the requirements and then questions to go along with them. The thing I didn’t like was the reporting, which was based on the test that was associated and not the breakdowns for that test. Also, I’m not really certain that the scores were split up by test as both of mine reported the same thing. Who knows?

In any case, I was extremely happy with this test experience. Now, only two tests left for the mid-tier SQL certifications. After that, maybe I’ll think about trying for the MCSM. Not sure if I will go that far or not.

Posted in Uncategorized | Leave a comment

70-463 – Implementing a Data Warehouse with Microsoft SQL Server 2012

This is the test that I was going to breeze through.  I knew SSIS front to back, and all I had to learn was the new 2012 stuff.  I figured at most a few days of studying, and the majority of that would be Data Quality Services and Master Data Services.  And then I took a practice test… and did poorly.  So then I took another practice test… and did poorly again. 

Now I think, looking back, that the practice tests are not set up properly from the Microsoft Test Prep Kit. It appears they have an equal number of questions from each section of the skills measured, and it appears that they weight each of these as equal, instead of by the percentages that each are worth on the test.  Either way, with practice test scores that were right at or below passing I wasn’t willing to take the chance.  Even though I had played with them some, I was missing most of the questions on the new elements of SSIS and on the MDS / DQS tools.  So, I went ahead and read the book, which I hadn’t planned on doing. 

ImageI have not really been all that impressed with the Test Prep Kit books in the past, both from the 2012 versions and the 2008 versions. Some were OK, most were somewhat poor.  The book probably isn’t the best book to learn SSIS, and it certainly isn’t the book that covers SSIS the most in depth.  It is not my favorite SSIS book.

But, this was a pretty good book. It covered most of if not all of the areas I would consider import.  It did so in a logical order. It had a good mix of examples, practice questions, and background knowledge.  After reading through the book, I was able to answer the majority of the practice questions without issue (However, I think that is probably because it appears that the pool of test questions was taken from the questions in the book – which I do not like).  Overall I would recommend the book.

Then came time to set the test up, and for the first time it wasn’t a pick whatever time you wanted.  I’m not sure what was going on, if anything, but I ended up having to set up a time during lunch and hope that I could get through the test relatively quickly to get back to work.  When I got to the test center it was not a quick process.  I think it took over half an hour for them to get the test started correctly.  Very strange, not at all what I’ve experienced before.

I can’t remember how many questions there were, but I think it was about fifty.  They had several choose the correct order, Lots of multiple choice and a few choose all that apply.  For the most part standard.  There were a few that I don’t know if I’ve seen before relating to drag out a component or property to the appropriate place.  I would guess this is because SSIS is mostly GUI based so getting to know items like this in a method most similar to what you’d do while developing is a good idea. I don’t remember any questions that were terribly far fetched or that were based on a situation which I would not recommend doing to begin with. Overall I thought that the test taking experience was pretty good and that the test questions did a reasonably good job determining if you knew what you were doing. 

And, now I have the MCSA: SQL Server certification.  And we all rejoiced 🙂

Posted in Uncategorized | Tagged , , , | 2 Comments

70-462: Administering Microsoft SQL Server 2012 Databases

70-462 CertThis morning I passed the 70-462: Administering Microsoft SQL Server 2012 Databases exam.  I feel quite happy with this accomplishment for many reasons, least of which is being woken up at 2 AM by my son and not being able to go back to sleep until about 4:30 or 5 – and still being a functioning human being at 6:30 AM when I woke up to get ready and at 8:30 AM when I was at the test center and ready to get started.  Such is the life when you have a newborn.  But I wouldn’t trade it for anything.

Speaking of which, preparing for this exam is something I’ve done off and on for the past month and a half or so with a gap of about 3 weeks in the middle.  I would guess overall I spent about 40 hours on it.  As a set up for practicing for the exam, particularly for practicing all of the high availability stuff which I do not feel particularly strong in, I downloaded and set up several virtual servers with Windows 2012 Core.  I  learned how to interact a bit better with the system through powershell, figured out the domain controller and active directory enough to create a domain and users, etc.  I’m still NOT great at any of this, but I felt accomplished getting the environment setup enough to talk to each other.  I was prepared.  I was going to do all sorts of cool tests! … I pretty much ignored it.  But it was about 10 hours of the 40 I spent.

Once the lab environment was set up, I think I started out relatively strong by looking over the exam objects and trying to determine what areas I needed to look at most.  I didn’t necessarily want to do the same thing I did with the querying test and study things which I was already relatively strong in as I felt a little bit like I wasted time with that test.  Looking at the list, however, it seemed like there was enough on it that I needed a refresher on that I determined that I ought to try to do a complete review.

70_462So, I read the entire book Microsoft Press Training Kit (Exam 70-462): Administering Microsoft SQL Server 2012 Databases book by Orin Thomas, Peter Ward and boB Taylor.   I’m not entirely sure how I feel about the book.  On the one hand, I believe that it is better than the Querying book (which I thought was really pretty bad).  On the other, it still feels a bit like it traded in depth and breadth of knowledge for a type of tutorial follow along.  This is probably really great for some people.  I found myself reading along and promising myself that I would come back and do them after I finished reading the whole book (I didn’t).  I do feel like this was a good refresher book, but I’m curious how much I would have learned from it if it were all I had.  Several of the reviews for it on amazon say that you HAVE to follow the links provided in the text in order to do so.

After finishing up with the book, I went ahead and took several of the practice tests that come with the book.  I did four in all; one the first night after finishing, a second on the second night, and two the night before the exam.  On each, I felt a little bit stronger on the questions I was seeing – but I was seeing a lot of the same questions again and again.  I did make sure to review the answers, both for those I got right and those I got wrong.  Some of the questions definitely had better explanations than others, but it was a good exercise overall.   Note: I saw at least one question that the answer was wrong… so, if you are fairly certain that you are correct, double check online and try to recreate the answer.  The people behind the practice tests are human too.

Finally, I watched the born to learn video*.  This video provided me with one awesome bit of knowledge that I really should have caught on to but hadn’t to this point.  Every answer has to pass the Plausibility requirement.  That means that every answer has to be, or at least have been at one point in time, a valid thing.  Therefore, all of the times in the past for practice tests where I sat back trying to guess if there really was a dmv named XYZ I was not using all of the tools available to me since it HAS to actually exist if it is presented.  Now the question is whether or not it still exists and whether or not it would be useful in the current scenario.  Upon hearing this I double checked just to make certain.

I can’t talk much about the exam itself because it is under NDA.  With that said, I believe that I can comment that my version of the test had a number of questions within the given range (40-60) and that I felt a lot better about the way it was written and the content than I did about the Querying test.  This had a few questions where you needed to know syntax or ordering or whatnot, but a large portion of the test dealt with theory and knowing which technology or setting to apply.  In that regard, it was similar to the 70-432 Implementation and Maintenance test.

Hopefully this helps a bit for anyone trying to go through the exam.  If you are doing so, consider joining the Google Community for the 90 days to MCSA challenge.  Good luck!

 

* Quick tip, I downloaded it so that I could watch it at 2x speed as it seemed that the presenters worked through the material at an extremely slow pace.  I find a lot of the technical videos that I watch could probably be consumed at a rate 1.5 to 2 times faster without loss of ability to follow along.

Posted in Uncategorized | Tagged , , | 2 Comments

The (In)Equality of the spaces

Today I’d like to talk about an issue I ran into over the past week… It isn’t the first time that I have seen this, but it apparently didn’t sink in well enough the last time.  The issue has to do with how SQL interprets space at the end of a string when dealing with the equality operator.  One might expect the space to be counted when determining the equality of a string – it is, after all, being stored in the database.  And this is the case… kind of.

Lets look at a simple example:

 Declare @TestString as varchar(10) = ‘blah ‘;

Select case when @TestString = ‘blah’ then 1 else 0 end as myTest;

——-

Result 1

Here we have an trailing space on the variable.  I would probably expect this to return 0.  It does not.  We ignore the trailing space when it comes to equality.

Let’s look at a leading space.

Declare @TestString as varchar(10) = ‘ blah’;

Select case when @TestString = ‘blah’ then 1 else 0 end as myTest;

——-

Result 0

OK, this works as I would expect.  It is not, in fact, equal.  We treat spaces anywhere, other then trailing, as non-equal if present only on one side of the comparison.

Now, the real concern I ran into this week was not really having to do with either of these cases, but instead in the difference between how we interpret the trailing space with an equality, and what I would also consider to be an equality, the like operator with no wildcards.

Declare @TestString as varchar(10) = ‘blah ‘;

Select case when @TestString like ‘blah’ then 1 else 0 end as myTest;

——-

Result 1

Again, I’m a little surprised at the results here as we come back with a match.  It ignores the trailing space.  Now let’s reverse the assignment.

Declare @TestString as varchar(10) = ‘blah’;

Select case when @TestString like ‘blah ‘ then 1 else 0 end as myTest;

——

Result 0

Here we have the trailing space in the like clause.  No dice.

So, what have we learned?  I have no clue. I can say that there is an inequality in the way that we treat spaces with comparison operators in the database.  If you are finding that when auditing data you have differences in the counts, make sure that you are using the same operators, and that they are in fact doing what you would expect.  Particularly if you are storing patterns for comparison with a like operator, some of which contain wildcards and some of which do not.

Posted in SQL | Tagged | 2 Comments

Expert Performance Indexing for SQL Server 2012

ExpertIndexing

Expert Performance Indexing for SQL Server 2012 is written by Ted Krueger (@onpnt) and Jason Strate (@stratesql) – two guys who I’ve known for a few years now.  They’re fun and knowledgeable and if you ever run into them at a conference or on the street you should heckle them relentlessly.  It’s fun.

I got this book as a present to myself after trading in my coin jar for amazon money.  If the electronic version hadn’t been less than half of the physical book price I surely would have gotten that instead.  With that said, either version of the book is well worth it and this is a reference that I will be using quite a bit in the future.

The first half of the book goes through the basics of indexing: what they are; how you would create, alter or drop them; how they are stored; the differences between clustered, non-clustered, XML, full-text, spatial and column-store indexes; etc.  I was a bit surprised at the amount of detail that the authors went into for some of these topics (ex. storage).

The second half of the book is where the book really shines.  Particularly the last chapter on index analysis.  In this half, there are sections on: common indexing myths and best practices; how you would go about maintaining the indexes and statistics in your environment (you don’t just create them and then forget about them); what tools you can use to determine what indexes are currently working well in your environment, what indexes might work well in your environment if you were to implement them, and what indexes might be redundant; indexing strategies to best cover your workload; strategies for writing queries in order to best ensure that the indexes you have created are used; and the analysis of index statistics, wait statistics, and performance counters in order to help determine what in your environment could best use your attention.  One note: The section that is covered in chapter 8 relating to “surrogate keys” should instead be named “natural keys”.

This is by far the most comprehensive look at indexes which I have seen put together in one place to date.  I can’t recommend it enough.

Posted in Books, SQL | Tagged , , , | 2 Comments

70-461: Querying Microsoft SQL Server 2012

CertificationSo, I had made the decision to go for the new certifications.  The next decision to be made was which to take first.  I looked over the areas of focus for each of the tests some more and decided to go ahead and take the querying exam.  It looked relatively easy as querying is something I do on an every day basis.

Feeling a bit like pushing myself I set up the exam for a little bit less than two weeks out.  I had a feeling that even if I took it the next day I should be able to pass.  However, I didn’t want to waste any time by taking the certification too quickly and having to retake it,  so I figured I’d spend just a few hours looking over the books online articles for the materials listed.  I also had access to the new Certification Prep Kick from Microsoft Press and figured I might skim through it to fill in a few holes.

Training Kit (Exam 70-461): Querying Microsoft SQL Server 2012

Unfortunately for me, my compulsion to do things correctly kicked in after reading a few chapters from the prep kit book the first night and I ended up reading through all of it instead.  And I say unfortunately because I can not be kind if asked about this book.  It does not do any justice compared to Ben-Gan’s otherwise absolutely stellar books.

The information provided did not seem to go into enough depth to cover the fundamentals for several topics that were listed on the skills for the certification.  The code and sample exercises were often repetitive.  The depth to which the majority of the topics were covered was much weaker than previous books.  The practice tests included did not mimic the real tests in many ways (although I don’t think I can say how since we’re not supposed to talk about what was on the exam).  And, I’d say, most importantly, I don’t really think that this book provided enough information for one to read through it, use the practice material, and take the test.

So, all in all I ended up using my previous experience, reading the books online pages for a few topics and reading through the prep kit book.  I also took the practice exams that came with the book four times.  Overall I think I spent about 20 hours preparing for the exam.  At the beginning of the process I had figured I might spend 5, maybe 10.

The morning of the exam I figured that I would be in and out relatively quickly.  And, it really wasn’t that long of a process.  However, it took me about twice as long as I was expecting: not quite an hour and a half.  I’ll leave off discussing any real details about it other than to say that I passed, and that it was a more difficult experience than I thought it would be going in.

So, one test down with at least two more and in all probability six more to go for the year.  I’m not certain when I’ll set the next one up for, but more than likely some time next month.  I’d like to get the first three knocked out before the end of march as I don’t know how much extra-curricular time I’ll have after that.

 

Posted in SQL | Tagged , , | 4 Comments

More Certifications? But why?

MCP
I have decided to pursue the new-ish Microsoft SQL Server Certifications this year as one of my goals.  The certifications are the ones’ which most people refer to as the 2012 certifications but which have not been labeled as such intentionally.  I believe that this is the case since they don’t necessarily want to roll out a new test each time a new version of the software comes out but is not a major release (see: 2008 R2) and also because they don’t want to put themselves into the position of focusing on mainly the new features of a particular release.

I was a bit on the fence about going for the certifications as I am not certain that I like the idea of a certification only being valid for a certain period of time – in this case, three years.  I get that often times the knowledge that you had when you took a certification is not only questionable memory and skill wise, but also from a technology standpoint, when you look back three or more years later.  However, it still seems a bit off to me that you theoretically won’t be able to put it down on your resume or CV after a certain period of time.  Heck, if I really wanted to pimp a MCDBA certification ten years later, why not? (I don’t have one, nor would I continue to list it this far removed from that technology platform).

In the end, there were a few factors that pushed me in the direction to “write” these exams.  I am a bit sadistic and enjoy taking the tests as a way of gauging whether I really know mostly what I’m talking about.  It helps me to maintain some semblance of an understanding on the portions of the product stack which I don’t often use professionally.  I believe that they have some (small) value on resumes as another point of interest.  And, perhaps most importantly, they help out with the Microsoft Partner program and the company which I am working for has need for a few of its’ employees to get the new certifications to retain the benefits of the program.

After the decision was made to go for at least one of the certifications I had another choice: Take all of the tests individually as though I had not earned any 2008 certifications, or take the upgrade path for the MCSA and MCSE data platform certifications.  Oddly enough, this took me some time to come to a decision.  Doing the upgrade method would have saved me from taking two tests (one for the MCSA and one for the MCSE), which is a good amount of money, but it would have meant needing to focus on that much more for each of the tests.  In the end, I decided to go through and take the normal certification tests – using the certification pack for the MCSA that is available now which saves about 15% and gives you a second shot for each of the exams.  Also, there is some talk of a reward for each of the tests through my work… so more tests might be better in that direction as well.

So, this year I’ll be taking at least three of them since that is what I paid for up front.  Hopefully they will provide me with some form of satisfaction or benefit.  And, hopefully the public won’t mind reading about them now and again…

MCSA(rgb)_1459

MCITP(rgb)_1255

MCTS(rgb)_1271_1270_1269

 

 

Posted in SQL | Tagged , , , , | Leave a comment

A look back at 2012 and a short look forward

2012 was a great year for more reasons than I can possibly list.  It was not, however, a great year for blogging or following through with my goals for the year.

Some highlights:

  • Had another great year with my Wife
  • Took a vacation to the mountains for our anniversary
  • Bought a house
  • Got a new job (helps with long term financial goals)
  • Paid off my student loans
  • Paid off my new-ish car (which we bought late 2010)
  • Read or listened to 53 books
    • 8 Technical, or pseudo-technical books
    • 2 professional development books
    • 28 novels
    • 3 audio books
    • 2 novellas
    • 9 graphic novels
    • 1 children’s book (actually more I think, but I didn’t record them all)
  • Went and Spoke at 3 SQL Saturdays (Jacksonville, Pensacola, Orlando)
  • Made it to the 9 Jacksonville SQL Server Group meetings
  • Hiked / Walked about 300 miles, ran about 120 miles
  • Had a family outing to a Buccaneers and Chiefs game.
  • Somewhat regularly had game nights either at our place or friends place for board games and general shenanigans
  • Reconnected with several older friends while playing video games (diablo 3 and guild wars 2 have been my free time’s downfall this year)
  • I got to see my sister, who had been living in Brazil for the past year + and in Scotland for several years before that.
  • …. and we’re having a baby boy who is due in March / April 2013! 🙂

Like I said, a really great year.  I was at first disappointed when I saw that I was missing goals as the year went by.  I’d think I could catch up with them but knew that it probably wasn’t feasible.  But, as the year closed, I began to think about goals a little differently again.

I think that it is perhaps more important for me to set and reach shorter term goals.  One month at a time, re-evaluate each month.  I’m trying to set tasks for each week to help get to the monthly goals.  And, I am making sure that the goals I am setting fit in to long term goals that I have; that I’m not doing too much that doesn’t fit in to those goals. (Note that these goals need to include things like spending time with friends and family and having fun)

In either case, I’m not determining 2013 goals.  I have goals for January, but they are, for the most part, non-technical in nature.  About the only things that ARE technical in nature that I have for January is to read the Expert Performance Indexing book by Jason Strate and Ted Krueger and to take the 70-461: Querying SQL Server certification (posts upcoming).

I have no clue what this year will bring, but I know that it will include a lot of changes.  I know I’ll have less free time, but in the past I’ve actually found that it has helped me to focus on the important things.  Most of all, I can’t wait to meet my son and begin to have experience all of the things that come with being a part of a growing family.

Posted in Uncategorized | Leave a comment

Data Quality Assessment (Arkady Maydanchik)

Overview

imageOverall this is a very strong look into data quality assessment. In it, we examine several subjects including:

  • What is meant by data quality
  • Defining our data through collection of general meta data
  • Profiling our data to see what it is that we really have
  • Defining our data quality rules based off of the meta data and data profiles
  • Preparing a system to capture the results of the data quality rules check
  • Iteratively improving the data quality rules and capture process

Some subjects are covered in more detail than others. To me, this is a very good thing. For instance, there is a lot of source material out there for gathering meta-data. There is quite a bit out there for conceptual versus relational data models. The information presented is enough to pique your interest without bogging you down if you are unfamiliar with a given field.

With that said, we do get into quite a bit of detail on what I would consider to be the important subjects: what it that is meant by state dependent objects, what it is to data profile and how a data quality assessment project should be put together and whom it should contain. In addition, as would be suggested by the title of the book, the section on data quality rules for the assessments is very good. Here we get chapter level detail on Attribute and Domain Constraints, Relational Integrity Checks, Rules for Historical Data and State-Dependent Objects, as well as Attribute Dependency Rules.

Once we have a firmer grasp on what each of these mean, we go into the actual implementation details through the chapters on Implementing Data Quality Rules, Fine-Tuning the Rules, Cataloging Errors , Measuring Your Data Quality Scores, Implementing a Data Quality Meta-Data Warehouse and finally Recurrent Data Quality Assessment.

It should be noted that, like many other books in the field, this is not a complete reference for data quality. The authors states that we gloss over the subjects of data cleansing, monitoring data integration interfaces, ensuring quality of data conversions and consolidations, and building the data quality meta-data warehouse. I am not sure that I even agree with the list of subject areas that are skipped, but I find it somewhat interesting that the author continuously mentions that this book is the first in a series which will capture all aspects of data quality initiatives. When I look around it is the only title available. I think this volume is relatively strong on its’ own and probably could have done without the references to the non-existent material by stating that the subject area was out of scope for the book (which is essentially all that was done by these references).

Posted in Books | Tagged , | Leave a comment