Items removed from the DB aren't indicated as a DB change by the SSMS GUI.
No Category for BUGS? When comparing the TFS version to live DB in SSMS, objects missing from live DB don't cause the "change" visual queue. One must select the DB/SQLSource Control/Get Latest Tab to realize there are extra items in the DB. SQL compare does not have this issue.
-
James Billings commented
Hi Dwaine. This Uservoice forum is really for feature requests, not bugs. If you think something is broken, it's generally best to contact our support team directly for assistance.
In this case specifically, it sounds like a misunderstanding in how the tool works (although that suggests we've not explained something correctly!)The commit tab will offer to delete stuff from TFS if the change was you deleted it from the live DB. For example if you're currently in a state where everything matches up and there's nothing on either tab, then deleting 1000 tables in the Live DB would show you 1000 drops on the commit tab, which, once executed, will delete the objects from TFS.
It sounds like you have stuff in TFS you want to get rid of that isn't in the Live DB you currently are looking at? If so, then it suggests that at some point things have gotten out of sync somehow. One option would be to use the "Undo changes" feature. This will pull items back into the Live DB from the repository and resync everything so you could then delete them from the DB and commit the drop back to TFS? Or if you don't want to make changes directly on the DB, you could create a new empty database, link to the TFS location, do a "Get Latest" on all objects, then delete the ones you don't want in TFS (again, you'd then see drops for all of these on the commit tab).
To understand how we determine what to show on the two tabs, you might want to read this background technical document, which explains it in more detail: http://documentation.red-gate.com/display/SOC3/How+SQL+Source+Control+works+behind+the+scenes
As I said, you can reach out to our support team either by email at support@red-gate.com or via their portal at http://redgatesupport.zendesk.com for more direct assistance.
-
Dwaine Wright commented
(sorry, visual cue)...
COMMIT CHANGES Should offer to DELETE missing objects from TFS, and GET LATEST should offer to generate DROP statements to remove unwanted DB objects!
It seems even worse than I thought! I can't use either SQL compare OR SQL Source Control to remove deprecated items from TFS? SSMS can only generate a script to remove them from the DB, and SSC will only add the unwanted objects to a DB, no way to remove what's not wanted from TFS. I have only 28 objects.... What if I had 1,000??!! is this a bug in 3.8.11.103 or am I missing something basic?