We have a couple of synonyms that are being used to reference tables in a separate database (that\'s on the same server).
The actual synonyms are fine, but the store
I have the same problem with table synonyms that point to another database on the same server as the main database. Adding the reference works for almost everything but in-line table-valued functions. As soon as you try to use a synonym
create synonym syn.Table for [$(MyDb)].[dbo].[Table];
in such a function the error is back. SSDT 2013 Update 4 is my version. It's just unbelievable that in 2016 such an error is still with us. Handling synonyms should be seamless as this is the prime mechanism for abstracting dependencies. Can't believe it's still not been corrected.
This happens because in the caller database you must add a reference to the dependent database and specify also a value for the database name. Look below:
Then you can create your synonym using the following code:
CREATE SYNONYM [dbo].[mytable] FOR [$(MasterDatabase)].[dbo].[mytable]