ApexSQL Clean: Impact Analysis and Graphical Dependency Viewer tool
From the context menu of the main grid all options you need are available:
You can modify the grids’ appearance and select the columns you want to see and hide the others.
Below the main grid you notice two panels that display referencing information for the currently selected object(s) in the main grid.
This “Children” panel shows the information about objects that depend on the selected object of the main grid.
The Parent Panel displays information about objects on which the selected object in the main grid depends on. If the “Children” does not contain any information, it means that the selected object of the main grid can safely be removed from the database because it isn’t referenced by any other object. I will explore how the main grid and the 2 panel work together in just a moment.
ApexSQL Clean offers you to analyze column level dependencies. What does that mean? Well, that’s probably explained best by means of an example. When you expand the “Grid” menu item from the main grids’ context menu, you’ll see.
After clicking on this menu item, one can see the column of the checked table(s)
As you can see, each item in the “Table” section of the main grid can be expanded. Currently I’ve selected the column “Num” in the Ref_Num table. The children panel below is giving me the information this column is referenced by the vw_RefNum view.
Now I’ve switched from the “Num” column to the “Ref_Num” table in the main grid and automatically the children panel adjusts its display to reflect this switch. Now I can see that this table has 2 child references by the 2 views shown in the children panel.
But not only the main grid and the children panel are synchronized with each other, but also the parent panels does reflect all changes in the main grid.
And as you can see from the above screenshot, if the underlying parent object is a table, you can expand its column list to see what column is referenced. In my case the screenshot read as follows:
In the main grid I’ve selected the RangeView view. The children panel gives me the information that only 1 object depends on that view and that is the RangeNums stored procedure. From the parent panel I can see that the RangeView view itself depends on the Nums table, specifically it depends on the Num column of that base table.
To sum it up, the main grid alone with its two corresponding panels (children and parent), gives you a very convenient method to drill down on your dependencies. But there is more…