Our main database has a number of references to external databases using Linked Servers. Because of these some stored procedures have fully-qualified table names [linked server].[database].[schema].[table].
Initially when i was developing the database project, I created the external databases to simulate the Linked servers by directly them back to the local database server. When the rest of my colleagues picked up the project, they hit errors like
Error 2 TSD4001: The OLE DB provider "SQLNCLI" for linked server "Extern_Server" does not contain the table ""Extern"."dbo"."HistCurr"". The table either does not exist or the current user does not have permissions on that table. (SQL error = 7314) Acquire.proc.sql 16 1 Database
This happens despite establishing the databases and Linked servers. When one peeks around manually, the Linked server catalogs can be browsed and queried just fine. Each of my colleagues went through a random sequence of service restart, system reboot, re-opening of Visual Studio before resolving the issue. We could not properly pin-point what made the error go away.
Has anybody working on Linked servers ever encountered similar problems?
The melody of logic will always play out the truth. ~ Narumi Ayumu, Spiral