Индекс находился вне границ массива. (Microsoft.От SQLServer.модель SMO)
Я использую SQL Server 2008 R2
. Он работает нормально. Но недавно я изменил свой хостинг-сервер, и я узнал, что они установили SQL Server 2012
на сервере.
Теперь проблема в том, что после подключения к базе данных сервера через SQL Server 2008 R2
, когда я нажимаю на любое имя таблицы или хранимую процедуру, я получаю ошибку:Index was outside the bounds of the array. (Microsoft.SqlServer.smo)
Итак, есть ли проблема с моей стороны или со стороны сервера ??? и как я могу предотвратить эту проблему ?
11 ответов
обновите SQLServer management studio с 2008 по 2012 год
или Загрузите пакеты обновления SQLServer Management Studio и обновите, вероятно, решение
вы можете скачать SQL Server Management studio 2012 по ссылке
Microsoft® SQL Server® 2012 Express http://www.microsoft.com/en-us/download/details.aspx?id=29062
для меня эта проблема все еще существует с SSMS версии 2016 (13.0.16100.1).
достойное решение-не использовать 'щелкните' -> 'добавить таблицу... диалог, но просто перетащите таблицу, которую вы хотите добавить в Обозревателе объектов на диаграмме. При перетаскивании значка мыши изменяется на символ "добавить", и таблица добавляется при отпускании мыши.
бьет, чтобы закрыть SSMS каждый раз.
причина сообщения об ошибке заключается в том, что SQL не может отображать новые функции в старой версии SQL server.
пожалуйста, обновите клиентскую версию SQL до такой же, как и серверная версия Sql
перезапустить работал! Я нашел ту же ошибку, чтобы добавить новую таблицу в мою диаграмму базы данных на sql server 2016, перезапустил SQL server management studio, наконец, решил.
это проблема, если вы используете 2008 management studio tools для подключения к экземпляру SQL 2012.
Я испытываю это много, если я работаю на одном сервере с SQL 2008 и пытаюсь быстро запросить другой сервер, на котором работает SQL 2012.
обычно я держу свою личную рабочую станцию на последней версии management studio (2012 в этом случае) и могу администрировать все серверы оттуда.
необходимо использовать новую версию Management Studio. А также есть ошибка 29506. поэтому вы должны работать как администратор для установки. Посмотрите на этот сайт. http://shareis.com/post/29506-management-studio-express
У меня был аналогичный опыт использования SMO через C# с трассировкой стека:
[1896] System.IndexOutOfRangeException: Index was outside the bounds of the array.
[1896] at Microsoft.SqlServer.Management.Smo.BitStorage.SetBit(Int32 itemIndex, BitIndex bitIndex, Boolean value)
[1896] at Microsoft.SqlServer.Management.Smo.SqlSmoObject.AddObjectPropsFromDataReader(IDataReader reader, Boolean skipIfDirty, Int32 startColIdx, Int32 endColIdx)
[1896] at Microsoft.SqlServer.Management.Smo.SqlSmoObject.ImplInitialize(String[] fields, OrderBy[] orderby)
[1896] at Microsoft.SqlServer.Management.Smo.SqlSmoObject.Initialize(Boolean allProperties)
[1896] at Microsoft.SqlServer.Management.Smo.SqlSmoObject.OnPropertyMissing(String propname, Boolean useDefaultValue)
[1896] at Microsoft.SqlServer.Management.Smo.PropertyCollection.RetrieveProperty(Int32 index, Boolean useDefaultOnMissingValue)
[1896] at Microsoft.SqlServer.Management.Smo.PropertyCollection.GetValueWithNullReplacement(String propertyName, Boolean throwOnNullValue, Boolean useDefaultOnMissingValue)
[1896] at Microsoft.SqlServer.Management.Smo.Information.get_MasterDBPath()
оказалось, что мои версии CLR/NCLI / SMO были 10.50.1600.1. Обновление их до 10.53.6000.34 исправило это - таким образом, позволяя SMO 2008R2 делать много вещей с серверами 2012 и 2014.
получить их из пакета функций
https://www.microsoft.com/en-gb/download/details.aspx?id=44272
Я нашел проблему с диаграммой и схемой в SQL-Server 2016, которая может быть полезна для субъекта. Я редактировал диаграмму (связанную и с большим количеством таблиц схемы "продажи") и добавил new таблица, но забыл объявить ее схемой, поэтому она была с "dbo" по умолчанию. Затем, когда я вернулся и открыл, схема "продажи" и попытался добавить существующую таблицу... Bluf! Это вызвало точно такую же ошибку, описанную в этом потоке. Я даже попробовал обходной путь (drag стол) , но это не сработало. Вдруг я заметил, что схема неверна, обновил ее, попробовал еще раз, и Эврика! проблема тут же исчезла... С уважением.