Try patching your server. I attempted to recreate your issue with SSMS 2012 (11.0.3000) by connecting to four servers: one SQL Server 2008 (10.0.1600) and three SQL Server 2008 SP 1 (10.0.2531). As you can see the only difference between the four servers is one server does not have Service Pack 1 installed. On all of the servers with service pack 1 installed intellisence worked without issue. However, intellisence did not work on the server without service pack 1 installed.
You can download the service pack here.
http://www.microsoft.com/en-us/download/details.aspx?id=20302
It might be latency, or it might be something else. Run a SQL Server Profiler trace on the remote DB, starting the trace just prior to connecting via SSMS remotely. IntelliSense works by running queries to get the meta-data, so you will be able to see if it is even attempting to work or not, and if so, potentially if it is running into any problems.
You should filter the ApplicationName
column on LIKE %IntelliSense%
, though the full name of the program is Microsoft SQL Server Management Studio - Transact-SQL IntelliSense
. Events to select: SQL:BatchStarting
, SQL:BatchCompleted
, SQL:StmtStarting
, SQL:StmtCompleted
, SP:Starting
, SP:Completed
, SP:StmtStarting
, SP:StmtCompleted
, RPC:Starting
, and RPC:Completed
.
Try it first on a DB that works so you know what the normal / expected behavior should look like. Hitting Control + Shift + R to force a reload of the local cache should produce a decent amount of activity captured by your trace.
Best Answer
I really don't think this is a problem with Management Studio, just that the user the tool has to act on behalf of does not have the permission to pull the metadata required to support IntelliSense. So I doubt other tools will fill the need. Your choices are:
Hopefully they will fix this problem at some point. Even my Connect item incorrectly blames the UI when the problem is with the permissions (not) granted to the contained user.