Tag: SQL Dependency Tracker

  • Using SQL Dependency Tracker as a Picklist

    This is part of a demo series I did for a customer workshop. I’m adding a little more detail and explanation of the demos of products I gave.

    A long time ago Andy and I were chatting with the founder of Redgate. At the time SQL Compare use was growing and it was becoming one of the “must have” tools for any DBA. I suggested that having a separate way to getting just the dependencies for an object listed was a good idea. Redgate agreed and at some point SQL Dependency Tracker was released.

    This post looks at one of the main uses I’ve found for Dependency Tracker: a picklist of things to examine.

    Altering a Table

    One of the common things a developer might do is change a table. In my case, I’ll add a column to a table.

    2019-09-13 17_10_12-Window

    Once I do this, I might think I’ve fixed something, but what if there are dependencies? Could there be a view of other item I want to ensure gets changed? There might be. While I could run a query against sys.depends, that might not get me everything that I need.

    Dependency  Tracker fulfills a need here and can make this process smoother. I’ll flip over to my SQL Source Control tab and click the icon in the upper left. I can use this integrated menu to launch Dependency Tracker with context, in this case, the database in which I’m working.

    2019-09-13 17_11_27-Window

    When Dependency Tracker launches, it will build a project out from my database, including a diagram. While this looks great, I find the diagram hard to use and navigate, especially when I’m in an unfamiliar database.

    Maybe if Redgate bought me a 42” monitor for home, I’d feel differently (hint, hint).

    In any case, this is the basic Dependency Tracker view

    2019-09-13 18_03_05-Window

    To me, the best part of the tool is on the right side. Specifically, the middle and lower panes. If I click in the middle pane, I can see my objects listed.

    If I now start to type a table, say my “Articles” table, I can see the list of objects sorts down to matching items.

    2019-09-13 18_03_41-Window

    Nothing special here, but when I click on the object in the middle pane, the bottom pane fills. In this case, I see what items depend on my object.

    2019-09-13 18_03_45-Window

    This bottom pane is where I find value. This is my picklist of things to examine. I can click on one of the items, and then go back to SSMS and find that item in SQL Search. I can see if I need to do work.

    2019-09-13 18_03_52-Window

    When I’m done, I ALT+TAB back to the Dependency Tracker screen and down arrow to the next item. In this way, I can walk down a picklist and try to ensure I don’t miss any dependencies. If I change any object, I can double click on it in the “Dependencies” window in Dependency Tracker and see if there are lower dependencies on that object.

    2019-09-13 18_03_57-Window

    Keeping track of work and ensuring I catch everything that might be affected by a change is an area that many developers struggle to do well.

    Dependency Tracker is a great way of ensuring that you catch all the dependencies that might be affected by your database change.