指数数组的边界之外.(Microsoft.SqlServer.smo)

Jee*_*mar 82 sql-server sql-server-2008 sql-server-2012

我在用SQL Server 2008 R2.它工作正常.但最近,我更改了我的托管服务器,我发现他们已经安装SQL Server 2012在服务器上.

现在,问题是在连接Server Database之后SQL Server 2008 R2,当我点击任何表名或存储过程时,我收到错误:Index was outside the bounds of the array. (Microsoft.SqlServer.smo)

那么,我的方面是否有任何问题或者来自服务器端??? 以及如何防止此问题?

小智 82

重新启动Management Studio对我有用.

  • 似乎“越界”错误是由Studio缓存数据库结构引起的。对结构进行足够的更改后,它与缓存版本的匹配将很差,并开始生成错误。重新启动将重建缓存。 (3认同)

小智 48

从2008年到2012年升级您的SqlServer管理工作室

或者下载SqlServer Management Studio的Service Pack并更新可能解决您的解决方案

您可以从下面的链接下载SQL Server Management Studio 2012

Microsoft®SQLServer®2012Express http://www.microsoft.com/en-us/download/details.aspx?id=29062

  • 目前还没有解决这个问题的方法。我在 Management Studio 的所有版本(包括 2018 年)中都遇到过这个错误 - 遗憾的是这个错误已经存在了这么多年。 (2认同)
  • 现在都2020年了,还没解决。 (2认同)
  • 现在已经2022年了,还没有定下来。 (2认同)

Mea*_*een 39

对我来说,SSMS版本2016(13.0.16100.1)仍然存在这个问题.

一个不错的解决方法是不使用"右键单击" - >"添加表..."对话框,而只需将要从对象资源管理器添加的表拖到图表面上.拖动鼠标图标会变为"添加"符号,并在释放鼠标时添加表格.

每次都要关闭SSMS.


小智 18

重启工作!我发现在sql server 2016上添加新表到我的数据库图表时出现了同样的错误,重新启动了sql server management studio,终于解决了.


小智 7

如果您使用2008管理工作室工具连接到SQL 2012实例,则会出现此问题.

如果我使用SQL 2008在一台服务器上工作,并尝试快速查询运行SQL 2012的另一台服务器,我会经历这么多.

我通常将我的个人工作站保存在最新版本的管理工作室(在本例中为2012),并且能够从那里管理所有服务器.


小智 6

错误消息背后的原因是SQL无法在旧SQL Server版本中显示新功能.

请将您的客户端SQL版本升级到与服务器Sql版本相同的版本