Category: SQL Server

Implementing An Internal Software Development Project In A Technology Consulting Firm (aka EATING YOUR OWN DOGFOOD!)


 Part One

 “The task of the software development team is to engineer the illusion of simplicity” – Grady Booch

At Pinnacle, we are blessed with a population of senior technologists well versed in a multitude of modern development languages, approaches, frameworks, tools, apps and processes. Each of these elements are honed daily in the various customer environments we are actively engaged in. From time to time, we ask members of the organization to contribute to internal efforts that make life easier for all parties. We are currently in the midst of one of those times.

Like any project we perform for customers, we work with the team to understand the requirement and disseminate information and access pertinent to what we are looking to achieve. The next step is where it gets interesting. We tend to have options that more traditional businesses may not in choosing the technologies in which to construct our solution. We have partnerships with certain technology providers that minimizes our investment costs. And we have strong opinions on the most viable technology stack to use to solve this problem. In a recent LinkedIn post (, I wrote that one reason technology has gotten harder is due to Continue reading

Understand your system tables in SQL Server

It is my belief that a good understanding of the system tables in SQL Server is one of the keys to understanding why the engine does what it does.  For example, a good understanding of the system tables can help you figure out what query plan a sql statement is using.  In addition system tables can be used to find out key information in your database, for instance, what table in a database is largest by rows and data size.  In short, systems tables have a plethora of information that you can use to become a better DBA and DB Developer.

One of the most common questions I receive, on what seems to be a daily basis, is “My system is slow, what is going on”.    Many DBAs and developers take the initial step of running the system procedures: sp_who2 and sp_locks to see what is running or active on their system.  Both sp_who2 and sp_locks are helpful system procedures, but they only give you part of what you need to know.  This is where system tables come to the rescue. Continue reading