Can SQL Server disable IntelliSense on SSMS?
.everyoneloves__top-leaderboard:empty,.everyoneloves__mid-leaderboard:empty{ margin-bottom:0;
}
up vote
2
down vote
favorite
I am using SSMS 2016 (ver: 13.0.15000.23) and connecting to SQL Server database 2016 (ver: 13.0.5081.1).
IntelliSense is not working on my SSMS.
I tried the following:
- Tools >> Options >> Text Editor >> Transact-SQL >> IntelliSense, and select Enable IntelliSense
- Tools >> Options >> Text Editor >> Transact-SQL >> General, and verify Auto list members and Parameter information check boxes are checked
- Query >> IntelliSense Enabled
- Verify that SQLCMD is disabled
- Refreshed IntelliSense cache (Ctrl+Shift+R)
- Making sure no compile errors are in the query
- Uninstall and reinstall SSMS
I asked other members in my team and IntelliSense only works sporadically for them, if it does.
Question:
Is there a server setting which is disabling IntelliSense on SSMS?
I've already gone through all of these questions:
- IntelliSense not working but it is enabled
- IntelliSense is not working at SQL Server Management Studio
- Why is SQL Server 2008 Management Studio Intellisense not working?
- SQL Server Intellisense not working on some servers
- SQL Server 2008 R2 intellisense doesn't work
- SSMS IntelliSense doesn't work on particular database
I can see around 1,600 names of objects and columns by running:
SELECT o.name, c.name
FROM sys.objects o
INNER JOIN sys.columns c ON o.object_id = c.object_id
WHERE o.is_ms_shipped = 0;
sql-server sql-server-2016 ssms intellisense
New contributor
add a comment |
up vote
2
down vote
favorite
I am using SSMS 2016 (ver: 13.0.15000.23) and connecting to SQL Server database 2016 (ver: 13.0.5081.1).
IntelliSense is not working on my SSMS.
I tried the following:
- Tools >> Options >> Text Editor >> Transact-SQL >> IntelliSense, and select Enable IntelliSense
- Tools >> Options >> Text Editor >> Transact-SQL >> General, and verify Auto list members and Parameter information check boxes are checked
- Query >> IntelliSense Enabled
- Verify that SQLCMD is disabled
- Refreshed IntelliSense cache (Ctrl+Shift+R)
- Making sure no compile errors are in the query
- Uninstall and reinstall SSMS
I asked other members in my team and IntelliSense only works sporadically for them, if it does.
Question:
Is there a server setting which is disabling IntelliSense on SSMS?
I've already gone through all of these questions:
- IntelliSense not working but it is enabled
- IntelliSense is not working at SQL Server Management Studio
- Why is SQL Server 2008 Management Studio Intellisense not working?
- SQL Server Intellisense not working on some servers
- SQL Server 2008 R2 intellisense doesn't work
- SSMS IntelliSense doesn't work on particular database
I can see around 1,600 names of objects and columns by running:
SELECT o.name, c.name
FROM sys.objects o
INNER JOIN sys.columns c ON o.object_id = c.object_id
WHERE o.is_ms_shipped = 0;
sql-server sql-server-2016 ssms intellisense
New contributor
1
What permissions do you have on the instance and database(s)? This may be permission related depending on your security setup. I say this as I've seen environments that revoke default grants to public which can exhibit this behavior.
– John Eisbrener
Nov 20 at 16:19
@JohnEisbrener Very little permission. I've to find out. However, I canselect
andupdate
records in the database I'm working in, but didn't tryinsert
.
– Farhan
Nov 20 at 16:40
add a comment |
up vote
2
down vote
favorite
up vote
2
down vote
favorite
I am using SSMS 2016 (ver: 13.0.15000.23) and connecting to SQL Server database 2016 (ver: 13.0.5081.1).
IntelliSense is not working on my SSMS.
I tried the following:
- Tools >> Options >> Text Editor >> Transact-SQL >> IntelliSense, and select Enable IntelliSense
- Tools >> Options >> Text Editor >> Transact-SQL >> General, and verify Auto list members and Parameter information check boxes are checked
- Query >> IntelliSense Enabled
- Verify that SQLCMD is disabled
- Refreshed IntelliSense cache (Ctrl+Shift+R)
- Making sure no compile errors are in the query
- Uninstall and reinstall SSMS
I asked other members in my team and IntelliSense only works sporadically for them, if it does.
Question:
Is there a server setting which is disabling IntelliSense on SSMS?
I've already gone through all of these questions:
- IntelliSense not working but it is enabled
- IntelliSense is not working at SQL Server Management Studio
- Why is SQL Server 2008 Management Studio Intellisense not working?
- SQL Server Intellisense not working on some servers
- SQL Server 2008 R2 intellisense doesn't work
- SSMS IntelliSense doesn't work on particular database
I can see around 1,600 names of objects and columns by running:
SELECT o.name, c.name
FROM sys.objects o
INNER JOIN sys.columns c ON o.object_id = c.object_id
WHERE o.is_ms_shipped = 0;
sql-server sql-server-2016 ssms intellisense
New contributor
I am using SSMS 2016 (ver: 13.0.15000.23) and connecting to SQL Server database 2016 (ver: 13.0.5081.1).
IntelliSense is not working on my SSMS.
I tried the following:
- Tools >> Options >> Text Editor >> Transact-SQL >> IntelliSense, and select Enable IntelliSense
- Tools >> Options >> Text Editor >> Transact-SQL >> General, and verify Auto list members and Parameter information check boxes are checked
- Query >> IntelliSense Enabled
- Verify that SQLCMD is disabled
- Refreshed IntelliSense cache (Ctrl+Shift+R)
- Making sure no compile errors are in the query
- Uninstall and reinstall SSMS
I asked other members in my team and IntelliSense only works sporadically for them, if it does.
Question:
Is there a server setting which is disabling IntelliSense on SSMS?
I've already gone through all of these questions:
- IntelliSense not working but it is enabled
- IntelliSense is not working at SQL Server Management Studio
- Why is SQL Server 2008 Management Studio Intellisense not working?
- SQL Server Intellisense not working on some servers
- SQL Server 2008 R2 intellisense doesn't work
- SSMS IntelliSense doesn't work on particular database
I can see around 1,600 names of objects and columns by running:
SELECT o.name, c.name
FROM sys.objects o
INNER JOIN sys.columns c ON o.object_id = c.object_id
WHERE o.is_ms_shipped = 0;
sql-server sql-server-2016 ssms intellisense
sql-server sql-server-2016 ssms intellisense
New contributor
New contributor
edited Nov 20 at 18:55
Max Vernon
49.5k13110216
49.5k13110216
New contributor
asked Nov 20 at 16:16
Farhan
1114
1114
New contributor
New contributor
1
What permissions do you have on the instance and database(s)? This may be permission related depending on your security setup. I say this as I've seen environments that revoke default grants to public which can exhibit this behavior.
– John Eisbrener
Nov 20 at 16:19
@JohnEisbrener Very little permission. I've to find out. However, I canselect
andupdate
records in the database I'm working in, but didn't tryinsert
.
– Farhan
Nov 20 at 16:40
add a comment |
1
What permissions do you have on the instance and database(s)? This may be permission related depending on your security setup. I say this as I've seen environments that revoke default grants to public which can exhibit this behavior.
– John Eisbrener
Nov 20 at 16:19
@JohnEisbrener Very little permission. I've to find out. However, I canselect
andupdate
records in the database I'm working in, but didn't tryinsert
.
– Farhan
Nov 20 at 16:40
1
1
What permissions do you have on the instance and database(s)? This may be permission related depending on your security setup. I say this as I've seen environments that revoke default grants to public which can exhibit this behavior.
– John Eisbrener
Nov 20 at 16:19
What permissions do you have on the instance and database(s)? This may be permission related depending on your security setup. I say this as I've seen environments that revoke default grants to public which can exhibit this behavior.
– John Eisbrener
Nov 20 at 16:19
@JohnEisbrener Very little permission. I've to find out. However, I can
select
and update
records in the database I'm working in, but didn't try insert
.– Farhan
Nov 20 at 16:40
@JohnEisbrener Very little permission. I've to find out. However, I can
select
and update
records in the database I'm working in, but didn't try insert
.– Farhan
Nov 20 at 16:40
add a comment |
1 Answer
1
active
oldest
votes
up vote
6
down vote
Permissions
As the comment answers you've received so far imply, the most likely reason for this problem is that you don't have the appropriate permissions to that database. This is (rather vaguely) documented here:
Troubleshooting IntelliSense -> Database Engine Query IntelliSense
- Completion lists do not include database objects for which you do not have permissions. IntelliSense flags references to objects for which you do have permissions. For example, if you open a script that is written by someone else, any references to objects for which that person has permissions and you do not are flagged as incorrect.
The easiest way to fix this is to have a DBA grant the "View Definition" privilege to the database user that you're using to connect to this database.
For example, I can create this login, and a database user for a specific database, on my local SQL Server 2016 instance:
USE [master]
GO
CREATE LOGIN [nerd-login] WITH PASSWORD = 'NerdPassword1';
USE [SomeDatabase]
GO
CREATE USER [nerd-user] FOR LOGIN [nerd-login] WITH DEFAULT_SCHEMA=[dbo]
GO
And if I login as nerd-login, I can connect to the SomeDatabase
database, but I can't get any intellisense on it. But, after running this command:
USE [SomeDatabase]
GO
GRANT VIEW DEFINITION TO [nerd-user];
I'm able to get intellisense on the objects in the SomeDatabase
database.
This can also be granted more broadly at the instance level (by executing GRANT VIEW ANY DEFINITION
in the master
database context), or at the per-object level.
Latency
In the comments here, you've mentioned:
Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
Factors like the amount of metadata in a particular database (# of tables, views, columns, functions, stored procedures, etc), the network speed between you and the database, and how busy the other database is, can all affect intellisense.
Here's a pretty thorough treatment of the latency issue in a blog post from Aaron Bertrand:
Troubleshooting IntelliSense in SQL Server Management Studio 2012
And finally, you may just need to be patient. Check your network speed, the general health of the server, and be understanding if your metadata is quite large - if you are running SAP, for example, there's a lot more data to bring across than AdventureWorks.
When SSMS is attempting to get metadata from the destination server, it may time out before it starts receiving results. This timeout is hard-coded to two seconds in SSMS 2012, but in previous versions, it would wait for the database connection to time out (which could be 30 seconds or more). It will continue trying in the background, so you may not see the drop-down appear right away, but it could appear after successive attempts at pressing Ctrl+J.
You can force it to try to reload by pressing Ctrl+Shift+R or the menu option Edit > IntelliSense > Refresh Local Cache. Once metadata is retrieved in the background, the data is cached in local memory. If the connection is working and none of the above factors are in play, the cache will eventually be populated and you should be able to use all of the functionality.
But again, on SSMS 2008 or SSMS 2008 R2, this may take a little bit longer because of the more relaxed timeout.
Note: I realize that's about SSMS 2012, but the same general principles still apply
Thanks for your answer. Does the permission also cause intellisense on function names (e.g.getdate()
) and variable declarations (e.g.declare @myName varchar(25)
) to stop working?
– Farhan
Nov 21 at 14:20
@Farhan I don't think it would affect that. The primary cause for that kind of intellisense issue, I think, would be latency communicating with the SQL Server database engine. Are you getting red squiggly lines on GETDATE(), or just not seeing it in completion lists? Is the server you're connected to very far away, or on a slow network, or across a slow VPN, etc?
– jadarnel27
Nov 21 at 15:26
No, there is no red squiggly line undergetdate()
, in fact the color changes as soon as I type the laste
, indicating that SSMS knows it's a function. When intellisense works, you would see the locally declared variable names popup too, but that's not happening either. Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
– Farhan
Nov 21 at 16:08
@Farhan okay, that sounds more like latency, or the server is too busy to respond to the metadata queries in a timely manner, etc. I've updated the answer. In that case, you should eventually be able to get intellisense. It just might take a while.
– jadarnel27
Nov 21 at 16:40
add a comment |
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
up vote
6
down vote
Permissions
As the comment answers you've received so far imply, the most likely reason for this problem is that you don't have the appropriate permissions to that database. This is (rather vaguely) documented here:
Troubleshooting IntelliSense -> Database Engine Query IntelliSense
- Completion lists do not include database objects for which you do not have permissions. IntelliSense flags references to objects for which you do have permissions. For example, if you open a script that is written by someone else, any references to objects for which that person has permissions and you do not are flagged as incorrect.
The easiest way to fix this is to have a DBA grant the "View Definition" privilege to the database user that you're using to connect to this database.
For example, I can create this login, and a database user for a specific database, on my local SQL Server 2016 instance:
USE [master]
GO
CREATE LOGIN [nerd-login] WITH PASSWORD = 'NerdPassword1';
USE [SomeDatabase]
GO
CREATE USER [nerd-user] FOR LOGIN [nerd-login] WITH DEFAULT_SCHEMA=[dbo]
GO
And if I login as nerd-login, I can connect to the SomeDatabase
database, but I can't get any intellisense on it. But, after running this command:
USE [SomeDatabase]
GO
GRANT VIEW DEFINITION TO [nerd-user];
I'm able to get intellisense on the objects in the SomeDatabase
database.
This can also be granted more broadly at the instance level (by executing GRANT VIEW ANY DEFINITION
in the master
database context), or at the per-object level.
Latency
In the comments here, you've mentioned:
Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
Factors like the amount of metadata in a particular database (# of tables, views, columns, functions, stored procedures, etc), the network speed between you and the database, and how busy the other database is, can all affect intellisense.
Here's a pretty thorough treatment of the latency issue in a blog post from Aaron Bertrand:
Troubleshooting IntelliSense in SQL Server Management Studio 2012
And finally, you may just need to be patient. Check your network speed, the general health of the server, and be understanding if your metadata is quite large - if you are running SAP, for example, there's a lot more data to bring across than AdventureWorks.
When SSMS is attempting to get metadata from the destination server, it may time out before it starts receiving results. This timeout is hard-coded to two seconds in SSMS 2012, but in previous versions, it would wait for the database connection to time out (which could be 30 seconds or more). It will continue trying in the background, so you may not see the drop-down appear right away, but it could appear after successive attempts at pressing Ctrl+J.
You can force it to try to reload by pressing Ctrl+Shift+R or the menu option Edit > IntelliSense > Refresh Local Cache. Once metadata is retrieved in the background, the data is cached in local memory. If the connection is working and none of the above factors are in play, the cache will eventually be populated and you should be able to use all of the functionality.
But again, on SSMS 2008 or SSMS 2008 R2, this may take a little bit longer because of the more relaxed timeout.
Note: I realize that's about SSMS 2012, but the same general principles still apply
Thanks for your answer. Does the permission also cause intellisense on function names (e.g.getdate()
) and variable declarations (e.g.declare @myName varchar(25)
) to stop working?
– Farhan
Nov 21 at 14:20
@Farhan I don't think it would affect that. The primary cause for that kind of intellisense issue, I think, would be latency communicating with the SQL Server database engine. Are you getting red squiggly lines on GETDATE(), or just not seeing it in completion lists? Is the server you're connected to very far away, or on a slow network, or across a slow VPN, etc?
– jadarnel27
Nov 21 at 15:26
No, there is no red squiggly line undergetdate()
, in fact the color changes as soon as I type the laste
, indicating that SSMS knows it's a function. When intellisense works, you would see the locally declared variable names popup too, but that's not happening either. Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
– Farhan
Nov 21 at 16:08
@Farhan okay, that sounds more like latency, or the server is too busy to respond to the metadata queries in a timely manner, etc. I've updated the answer. In that case, you should eventually be able to get intellisense. It just might take a while.
– jadarnel27
Nov 21 at 16:40
add a comment |
up vote
6
down vote
Permissions
As the comment answers you've received so far imply, the most likely reason for this problem is that you don't have the appropriate permissions to that database. This is (rather vaguely) documented here:
Troubleshooting IntelliSense -> Database Engine Query IntelliSense
- Completion lists do not include database objects for which you do not have permissions. IntelliSense flags references to objects for which you do have permissions. For example, if you open a script that is written by someone else, any references to objects for which that person has permissions and you do not are flagged as incorrect.
The easiest way to fix this is to have a DBA grant the "View Definition" privilege to the database user that you're using to connect to this database.
For example, I can create this login, and a database user for a specific database, on my local SQL Server 2016 instance:
USE [master]
GO
CREATE LOGIN [nerd-login] WITH PASSWORD = 'NerdPassword1';
USE [SomeDatabase]
GO
CREATE USER [nerd-user] FOR LOGIN [nerd-login] WITH DEFAULT_SCHEMA=[dbo]
GO
And if I login as nerd-login, I can connect to the SomeDatabase
database, but I can't get any intellisense on it. But, after running this command:
USE [SomeDatabase]
GO
GRANT VIEW DEFINITION TO [nerd-user];
I'm able to get intellisense on the objects in the SomeDatabase
database.
This can also be granted more broadly at the instance level (by executing GRANT VIEW ANY DEFINITION
in the master
database context), or at the per-object level.
Latency
In the comments here, you've mentioned:
Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
Factors like the amount of metadata in a particular database (# of tables, views, columns, functions, stored procedures, etc), the network speed between you and the database, and how busy the other database is, can all affect intellisense.
Here's a pretty thorough treatment of the latency issue in a blog post from Aaron Bertrand:
Troubleshooting IntelliSense in SQL Server Management Studio 2012
And finally, you may just need to be patient. Check your network speed, the general health of the server, and be understanding if your metadata is quite large - if you are running SAP, for example, there's a lot more data to bring across than AdventureWorks.
When SSMS is attempting to get metadata from the destination server, it may time out before it starts receiving results. This timeout is hard-coded to two seconds in SSMS 2012, but in previous versions, it would wait for the database connection to time out (which could be 30 seconds or more). It will continue trying in the background, so you may not see the drop-down appear right away, but it could appear after successive attempts at pressing Ctrl+J.
You can force it to try to reload by pressing Ctrl+Shift+R or the menu option Edit > IntelliSense > Refresh Local Cache. Once metadata is retrieved in the background, the data is cached in local memory. If the connection is working and none of the above factors are in play, the cache will eventually be populated and you should be able to use all of the functionality.
But again, on SSMS 2008 or SSMS 2008 R2, this may take a little bit longer because of the more relaxed timeout.
Note: I realize that's about SSMS 2012, but the same general principles still apply
Thanks for your answer. Does the permission also cause intellisense on function names (e.g.getdate()
) and variable declarations (e.g.declare @myName varchar(25)
) to stop working?
– Farhan
Nov 21 at 14:20
@Farhan I don't think it would affect that. The primary cause for that kind of intellisense issue, I think, would be latency communicating with the SQL Server database engine. Are you getting red squiggly lines on GETDATE(), or just not seeing it in completion lists? Is the server you're connected to very far away, or on a slow network, or across a slow VPN, etc?
– jadarnel27
Nov 21 at 15:26
No, there is no red squiggly line undergetdate()
, in fact the color changes as soon as I type the laste
, indicating that SSMS knows it's a function. When intellisense works, you would see the locally declared variable names popup too, but that's not happening either. Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
– Farhan
Nov 21 at 16:08
@Farhan okay, that sounds more like latency, or the server is too busy to respond to the metadata queries in a timely manner, etc. I've updated the answer. In that case, you should eventually be able to get intellisense. It just might take a while.
– jadarnel27
Nov 21 at 16:40
add a comment |
up vote
6
down vote
up vote
6
down vote
Permissions
As the comment answers you've received so far imply, the most likely reason for this problem is that you don't have the appropriate permissions to that database. This is (rather vaguely) documented here:
Troubleshooting IntelliSense -> Database Engine Query IntelliSense
- Completion lists do not include database objects for which you do not have permissions. IntelliSense flags references to objects for which you do have permissions. For example, if you open a script that is written by someone else, any references to objects for which that person has permissions and you do not are flagged as incorrect.
The easiest way to fix this is to have a DBA grant the "View Definition" privilege to the database user that you're using to connect to this database.
For example, I can create this login, and a database user for a specific database, on my local SQL Server 2016 instance:
USE [master]
GO
CREATE LOGIN [nerd-login] WITH PASSWORD = 'NerdPassword1';
USE [SomeDatabase]
GO
CREATE USER [nerd-user] FOR LOGIN [nerd-login] WITH DEFAULT_SCHEMA=[dbo]
GO
And if I login as nerd-login, I can connect to the SomeDatabase
database, but I can't get any intellisense on it. But, after running this command:
USE [SomeDatabase]
GO
GRANT VIEW DEFINITION TO [nerd-user];
I'm able to get intellisense on the objects in the SomeDatabase
database.
This can also be granted more broadly at the instance level (by executing GRANT VIEW ANY DEFINITION
in the master
database context), or at the per-object level.
Latency
In the comments here, you've mentioned:
Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
Factors like the amount of metadata in a particular database (# of tables, views, columns, functions, stored procedures, etc), the network speed between you and the database, and how busy the other database is, can all affect intellisense.
Here's a pretty thorough treatment of the latency issue in a blog post from Aaron Bertrand:
Troubleshooting IntelliSense in SQL Server Management Studio 2012
And finally, you may just need to be patient. Check your network speed, the general health of the server, and be understanding if your metadata is quite large - if you are running SAP, for example, there's a lot more data to bring across than AdventureWorks.
When SSMS is attempting to get metadata from the destination server, it may time out before it starts receiving results. This timeout is hard-coded to two seconds in SSMS 2012, but in previous versions, it would wait for the database connection to time out (which could be 30 seconds or more). It will continue trying in the background, so you may not see the drop-down appear right away, but it could appear after successive attempts at pressing Ctrl+J.
You can force it to try to reload by pressing Ctrl+Shift+R or the menu option Edit > IntelliSense > Refresh Local Cache. Once metadata is retrieved in the background, the data is cached in local memory. If the connection is working and none of the above factors are in play, the cache will eventually be populated and you should be able to use all of the functionality.
But again, on SSMS 2008 or SSMS 2008 R2, this may take a little bit longer because of the more relaxed timeout.
Note: I realize that's about SSMS 2012, but the same general principles still apply
Permissions
As the comment answers you've received so far imply, the most likely reason for this problem is that you don't have the appropriate permissions to that database. This is (rather vaguely) documented here:
Troubleshooting IntelliSense -> Database Engine Query IntelliSense
- Completion lists do not include database objects for which you do not have permissions. IntelliSense flags references to objects for which you do have permissions. For example, if you open a script that is written by someone else, any references to objects for which that person has permissions and you do not are flagged as incorrect.
The easiest way to fix this is to have a DBA grant the "View Definition" privilege to the database user that you're using to connect to this database.
For example, I can create this login, and a database user for a specific database, on my local SQL Server 2016 instance:
USE [master]
GO
CREATE LOGIN [nerd-login] WITH PASSWORD = 'NerdPassword1';
USE [SomeDatabase]
GO
CREATE USER [nerd-user] FOR LOGIN [nerd-login] WITH DEFAULT_SCHEMA=[dbo]
GO
And if I login as nerd-login, I can connect to the SomeDatabase
database, but I can't get any intellisense on it. But, after running this command:
USE [SomeDatabase]
GO
GRANT VIEW DEFINITION TO [nerd-user];
I'm able to get intellisense on the objects in the SomeDatabase
database.
This can also be granted more broadly at the instance level (by executing GRANT VIEW ANY DEFINITION
in the master
database context), or at the per-object level.
Latency
In the comments here, you've mentioned:
Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
Factors like the amount of metadata in a particular database (# of tables, views, columns, functions, stored procedures, etc), the network speed between you and the database, and how busy the other database is, can all affect intellisense.
Here's a pretty thorough treatment of the latency issue in a blog post from Aaron Bertrand:
Troubleshooting IntelliSense in SQL Server Management Studio 2012
And finally, you may just need to be patient. Check your network speed, the general health of the server, and be understanding if your metadata is quite large - if you are running SAP, for example, there's a lot more data to bring across than AdventureWorks.
When SSMS is attempting to get metadata from the destination server, it may time out before it starts receiving results. This timeout is hard-coded to two seconds in SSMS 2012, but in previous versions, it would wait for the database connection to time out (which could be 30 seconds or more). It will continue trying in the background, so you may not see the drop-down appear right away, but it could appear after successive attempts at pressing Ctrl+J.
You can force it to try to reload by pressing Ctrl+Shift+R or the menu option Edit > IntelliSense > Refresh Local Cache. Once metadata is retrieved in the background, the data is cached in local memory. If the connection is working and none of the above factors are in play, the cache will eventually be populated and you should be able to use all of the functionality.
But again, on SSMS 2008 or SSMS 2008 R2, this may take a little bit longer because of the more relaxed timeout.
Note: I realize that's about SSMS 2012, but the same general principles still apply
edited Nov 21 at 16:34
answered Nov 20 at 18:39
jadarnel27
2,3171226
2,3171226
Thanks for your answer. Does the permission also cause intellisense on function names (e.g.getdate()
) and variable declarations (e.g.declare @myName varchar(25)
) to stop working?
– Farhan
Nov 21 at 14:20
@Farhan I don't think it would affect that. The primary cause for that kind of intellisense issue, I think, would be latency communicating with the SQL Server database engine. Are you getting red squiggly lines on GETDATE(), or just not seeing it in completion lists? Is the server you're connected to very far away, or on a slow network, or across a slow VPN, etc?
– jadarnel27
Nov 21 at 15:26
No, there is no red squiggly line undergetdate()
, in fact the color changes as soon as I type the laste
, indicating that SSMS knows it's a function. When intellisense works, you would see the locally declared variable names popup too, but that's not happening either. Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
– Farhan
Nov 21 at 16:08
@Farhan okay, that sounds more like latency, or the server is too busy to respond to the metadata queries in a timely manner, etc. I've updated the answer. In that case, you should eventually be able to get intellisense. It just might take a while.
– jadarnel27
Nov 21 at 16:40
add a comment |
Thanks for your answer. Does the permission also cause intellisense on function names (e.g.getdate()
) and variable declarations (e.g.declare @myName varchar(25)
) to stop working?
– Farhan
Nov 21 at 14:20
@Farhan I don't think it would affect that. The primary cause for that kind of intellisense issue, I think, would be latency communicating with the SQL Server database engine. Are you getting red squiggly lines on GETDATE(), or just not seeing it in completion lists? Is the server you're connected to very far away, or on a slow network, or across a slow VPN, etc?
– jadarnel27
Nov 21 at 15:26
No, there is no red squiggly line undergetdate()
, in fact the color changes as soon as I type the laste
, indicating that SSMS knows it's a function. When intellisense works, you would see the locally declared variable names popup too, but that's not happening either. Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.
– Farhan
Nov 21 at 16:08
@Farhan okay, that sounds more like latency, or the server is too busy to respond to the metadata queries in a timely manner, etc. I've updated the answer. In that case, you should eventually be able to get intellisense. It just might take a while.
– jadarnel27
Nov 21 at 16:40
Thanks for your answer. Does the permission also cause intellisense on function names (e.g.
getdate()
) and variable declarations (e.g. declare @myName varchar(25)
) to stop working?– Farhan
Nov 21 at 14:20
Thanks for your answer. Does the permission also cause intellisense on function names (e.g.
getdate()
) and variable declarations (e.g. declare @myName varchar(25)
) to stop working?– Farhan
Nov 21 at 14:20
@Farhan I don't think it would affect that. The primary cause for that kind of intellisense issue, I think, would be latency communicating with the SQL Server database engine. Are you getting red squiggly lines on GETDATE(), or just not seeing it in completion lists? Is the server you're connected to very far away, or on a slow network, or across a slow VPN, etc?
– jadarnel27
Nov 21 at 15:26
@Farhan I don't think it would affect that. The primary cause for that kind of intellisense issue, I think, would be latency communicating with the SQL Server database engine. Are you getting red squiggly lines on GETDATE(), or just not seeing it in completion lists? Is the server you're connected to very far away, or on a slow network, or across a slow VPN, etc?
– jadarnel27
Nov 21 at 15:26
No, there is no red squiggly line under
getdate()
, in fact the color changes as soon as I type the last e
, indicating that SSMS knows it's a function. When intellisense works, you would see the locally declared variable names popup too, but that's not happening either. Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.– Farhan
Nov 21 at 16:08
No, there is no red squiggly line under
getdate()
, in fact the color changes as soon as I type the last e
, indicating that SSMS knows it's a function. When intellisense works, you would see the locally declared variable names popup too, but that's not happening either. Server is about 50 miles away, but I do feel there is some issue with network/computer because opening a new browser takes several seconds.– Farhan
Nov 21 at 16:08
@Farhan okay, that sounds more like latency, or the server is too busy to respond to the metadata queries in a timely manner, etc. I've updated the answer. In that case, you should eventually be able to get intellisense. It just might take a while.
– jadarnel27
Nov 21 at 16:40
@Farhan okay, that sounds more like latency, or the server is too busy to respond to the metadata queries in a timely manner, etc. I've updated the answer. In that case, you should eventually be able to get intellisense. It just might take a while.
– jadarnel27
Nov 21 at 16:40
add a comment |
Farhan is a new contributor. Be nice, and check out our Code of Conduct.
Farhan is a new contributor. Be nice, and check out our Code of Conduct.
Farhan is a new contributor. Be nice, and check out our Code of Conduct.
Farhan is a new contributor. Be nice, and check out our Code of Conduct.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fdba.stackexchange.com%2fquestions%2f222992%2fcan-sql-server-disable-intellisense-on-ssms%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
1
What permissions do you have on the instance and database(s)? This may be permission related depending on your security setup. I say this as I've seen environments that revoke default grants to public which can exhibit this behavior.
– John Eisbrener
Nov 20 at 16:19
@JohnEisbrener Very little permission. I've to find out. However, I can
select
andupdate
records in the database I'm working in, but didn't tryinsert
.– Farhan
Nov 20 at 16:40