SQL Server Management Studio 2008智能感知

时间:2008-10-30 13:12:02

标签: sql-server-2005 sql-server-2008 intellisense ssms

由于智能感知功能,我刚刚安装了SQL Server Express 2008。它起初工作,但它停止工作。正在寻找检查和稍后咨询Google的选项我发现,如果您连接到SQL Server 2005数据库,它看起来像 Microsoft禁用智能感知。

这绝对正确吗? 有没有解决方案(一些注册表“切换”)?

13 个答案:

答案 0 :(得分:25)

如果您想要添加此功能,请在Connect上投票支持该请求。以下是团队反馈原因的反馈意见:

  

让我分享产品团队   有关版本支持的信息   智能感知这是真的   从一开始就按照设计   IntelliSense项目是它的一部分   商业决策。履行   IntelliSense需要一个完整的   引擎解析器的保真度   在客户端重建使用   托管代码库。支持多个   服务器版本意味着设计和   实现多个版本   解析器和相关的infra并行。   这会增加时间和成本   开发,测试和支持。在同一个   时间,核心模块是重要的   产品基础不仅能够实现   智能感知功能还有其他功能   产品包括升级顾问   分析脚本;从长远来看,它   可能是任何需要的功能   句法和语义理解   Transact-SQL语言。

     

在CTP5和CTP6中,IntelliSense有一个   已知问题,它没有正确   检查服务器版本,以便CTP用户   可以连接任何版本的SQL   具有IntelliSense的服务器。有些人   用户没有注意到它,IntelliSense   没有按照预期正常工作。   影响是IntelliSense有一个   引导用户的潜力很大   脚本不正确的Transact-SQL或   假否定地表示a   脚本有错误   在这些版本中完全有效。

     

考虑到第一个目标   智能感知是增加   创作复杂的生产力   查询或存储过程(或简单地说   Transact-SQL脚本),这个问题是   被认为是减少的一个因素   生产力这是一个巨大的负面因素   来自新功能的影响。

     

在RC0中,这个已知问题已得到纠正   IntelliSense检查服务器   版本并提供其功能   支持的版本是SQL Server   2008。

     

作为版本1,IntelliSense是   在Transact-SQL的子集上启用   语言。这是因为大   实施词法分析器的工作范围,   解析器,活页夹和脚本文档   托管代码中的对象模型   整个语言范围。该产品   团队正在向前迈进,专注于   扩大语言支持范围。

     

我希望这些信息能够提供   背景信息至少为什么   在SQL上选择了目标版本   仅限Server 2008。

使用RTM版本的任何人都应该考虑CU1(累积更新1)版本可用here,因为解决了很多IntelliSense错误。

答案 1 :(得分:16)

此处添加到列表的另一个免费工具是ApexSQL Complete。我在过去的几个月里一直在使用它,我觉得它比SSMS intellisense好一点,因为它提供了更多有用的工具提示。

一般来说,这里提到的任何工具都不会出错,特别是如果您准备支付高级工具的费用。

答案 2 :(得分:12)

Red-Gate的SQLPrompt可以很好地完成所有版本(2000,2005和2008),以及在VS甚至一些文本编辑器中运行。

答案 3 :(得分:8)

SSMS中的intellisense确实只适用于SQL Server 2008。

最近,我们发布了一个SSMS自动完成工具 - dbForge SQL Complete,为SQL Server 2008,2005和2000提供SQL自动完成和格式化功能。

dbForge SQL Complete - main view

答案 4 :(得分:6)

我不认为有一种解决方法(虽然我可能错了)但this可能有助于你寻求真相; - )

看起来intellisense在CTP期间为2008年之前的数据库提供了“不正确”的语法,并在RTM中删除了。

答案 5 :(得分:2)

一位同事和我都安装了SQL Server Management Studio 2008,我们都连接到相同的SQL Server 2005和2008数据库。他在2005年和2008年都获得了智能感知。我只是在2008年得到它。我们无法弄清楚为什么会这样。

更正:事实证明我的同事认为他正在连接到2005服务器,但它实际上是2008服务器。

结论:在咨询我们的DBA之后,它似乎不可能。他们也对此进行了广泛的研究。

答案 6 :(得分:2)

如果您安装了正确的版本,但仍然没有Intellisense this可能会对您有所帮助。

  

1)确保已连接到SQL Server 2008 Edition。   IntelliSense不适用于以前版本的SQL Server。

     

2)应启用IntelliSense。有两种方法可以验证   是否启用IntelliSense。 a)从工具栏b)转到工具    - >选项 - >文字编辑器 - > Transact-SQL - >智能感知

     

3)应该使用最新的更改刷新IntelliSense   数据库。
  a)按CTRL + SHIFT + R.   b)转到编辑 - >智能感知 - >刷新本地缓存

     

4)转到工具 - >选项 - >文字编辑器 - > Transact-SQL - >一般 - >   IntelliSense选择自动列表成员并检查参数信息。

答案 7 :(得分:1)

  

SQL Server 2008数据库引擎中有代码支持Management Studio 2008中的intellisense功能。

不,没有。你完全错了,应该用湿鱼打。

它所做的只是询问各种INFORMATION_SCHEMA虚拟表以进行发现。他们在以前的版本中禁用它的原因是理论上它可能会鼓励你使用仅对2005有效的语法,但是很多人使用它只有100%的成功。当然,他们禁用它的真正的原因是它减少了将服务器升级到2008年的一个优势(这是他们赚钱的地方)。

答案 8 :(得分:1)

您可以在DbOctopus中使用intellisense - 也适用于SQL Server 2005和2000。它目前是免费的,但直到2009年9月1日。

你可以在这里找到它:

http://www.cogin.com/dboctopus/

答案 9 :(得分:1)

顺便说一句,最近我们发布了一个新版本的SQL Complete,它提供了bunch of new features。共享软件标准版中提供了所有新功能(30天免费试用,49.95美元)。

你仍然可以使用Express Edition获得所有基本功能,类似于v.1.0。

答案 10 :(得分:0)

不要认为它们在SQL Server 2005中禁用 intellisense如此之多,以至于SQL Server 2005并未构建为智能感知支持; SQL Server 2008数据库引擎中有代码支持Management Studio 2008中的intellisense功能。

是的,我知道似乎在后来的CTP预览中工作,但是一些谷歌搜索(和DilbertDave的链接)显示有很多方法可以破坏CTP行为。

答案 11 :(得分:0)

使用toad,waaaaay比任何Microsoft工具都好。有一个免费软件版本。

Toad Soft

答案 12 :(得分:0)

我使用Atlantis SQL Enywhere这是一款免费软件,已有近一年多的时间,并且给它留下了非常深刻的印象。适用于SQL 2005和SQL 2008版本。我对它的功能印象非常深刻,键盘快捷键与VS类似,因此对于新的编辑器来说,过渡非常顺利。

值得一提的一些功能。

当使用多个表并使用别名连接时实际工作的智能感知当使用多个表时建议连接(缩短打字时间,非常简洁)丰富的sql代码格式,AutoIndent使用Ctrl K,Ctrl D.更好地表示SQL计划。在使用变量声明时突出显示它们。鼠标悬停时的表定义。

所有这些功能为我节省了大量时间。

尚未在SQL 2012上检查过这个。