• Hi Steve - good topic!

    I'm a heavy user of synonyms -- in fact for every external database access whether on the same server or not.

    My world is one of a fair number of interdependant databases. I can view these external dependencies by simply looking at (or scripting) the synonyms. (Although, if important, I back this up with a variety of search techniques, to ensure that nothing gets missed.)

    A 'policy' (Policy Management) ensures that there are no 3 or 4 part names in my databases (as these should be in the synonyms.)

    The other major benefit is that I can easily redirect my synonyms to help with testing etc.. In other words by simply changing the synonym, I can point to another instance of the base object. Indeed I've used this technique to render a database with many external database references 'stand-alone' by redirecting the synonyms to internally situated tables. (This was done for the purposes of demos / testing.

    I would recommend everyone considers use of synonyms. The only case I've encountered where it wasn't a good idea is in a reporting database, which had exclusively stored procedures pointing to tables in other databases. This resulted in hundreds of synonyms, and added little value.

    A final point is that SQL Prompt (for those who use it) still doesn't properly support synonyms. It's got to be the number one most requested item on the red-gate support forum.

    All the best,

    David.