【发布时间】:2016-06-13 13:56:24
【问题描述】:
我们目前使用 2005 年以后的所有版本的 SQL Server。为了节省时间,我尝试在单个版本的 Management Studio 中完成所有操作。如果运行与旧客户端工具不兼容的较新客户端操作系统(如 Windows 10),这也很有帮助。
特别是在尝试查看索引属性的图形 SSMS 界面时,如果连接到 SQL Server 2005 实例,则会收到以下错误。
在对象资源管理器中:
Database > Table > Indexes > Right Click > Properties
完整的错误文本:
标题:Microsoft SQL Server Management Studio
调用的目标已抛出异常。 (mscorlib)
附加信息:
无法读取属性 IsSparse。此属性在 SQL Server 2005 上不可用。(Microsoft.SqlServer.Smo)
这也发生在 SSMS 2014 中,但不会 SSMS 2012。
所以我的问题是;是否可以采取一些措施来解决这个问题,允许从 2005 年起将一个版本的管理工作室用于所有版本的 SQL Server?
我现在猜测,但由于它在 SSMS 2012 中有效,因此必须针对旧版本的 mscorlib 进行某些操作。可能是因为 SSMS 2012 使用了 VS2010 shell 和不同的 .Net 框架?
非常感谢您抽出宝贵时间。
【问题讨论】:
-
SSMS 2016 仅记录为支持管理 2008 及更高版本 (see here)。这意味着他们不会修复因管理 2005 之类的版本而损坏的问题,该版本不再受到任何类型的支持。所以,我会保留一个旧的 SSMS 副本(你可以同时安装)或者只是避免任何会导致麻烦的 GUI 向导(其中许多会导致麻烦,即使“麻烦”并不意味着错误消息)。
-
感谢 @AaronBertrand 是的,从 SSMS 2016 开始,带有 SQL 2008 实例的索引 GUI 很好。我猜官方的说法是不再支持整个 SQL 2005。
-
差不多就是这样,是的。升级或保留两个版本的工具。
标签: sql-server sql-server-2005 ssms ssms-2012 ssms-2014