Подтвердить что ты не робот

Индекс находился вне границ массива. (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)

Итак, есть ли какие-либо проблемы с моей стороны или это с сервера???? и как я могу предотвратить эту проблему?

4b9b3361

Ответ 1

Обновите студию управления SqlServer с 2008 по 2012 год

Или Загрузите пакеты обновления SqlServer Management Studio и обновление, вероятно, разрешите решение

Вы можете загрузить студию SQL Server Management 2012 по ссылке ниже

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

Ответ 2

Перезагрузка Management Studio работала для меня.

Ответ 3

Для меня эта проблема все еще существует с SSMS версии 2016 (13.0.16100.1).

Достойным обходным путем является не использование диалога "Правый клик" → "Добавить таблицу...", а просто перетащить таблицу, которую вы хотите добавить из Обозревателя объектов, на поверхность диаграммы. При перетаскивании значка мыши изменяется символ "добавить", и таблица добавляется при отпускании мыши.

Убивает, чтобы каждый раз закрывать SSMS.

Ответ 4

Перезагружено! Я нашел ту же ошибку, чтобы добавить новую таблицу в мою диаграмму базы данных на сервере sql 2016, перезапустил студию управления сервером sql, наконец, решил.

Ответ 5

Это проблема, если вы используете инструменты студии управления 2008 для подключения к экземпляру SQL 2012.

Я испытываю это много, если я работаю на одном сервере с SQL 2008 и пытаюсь быстро запросить другой сервер, на котором работает SQL 2012.

Обычно я сохраняю свою личную рабочую станцию ​​на последней версии студии управления (в этом случае в 2012 году), и теперь я могу администрировать все серверы.

Ответ 6

Причиной сообщения об ошибке является то, что SQL не может показывать новые функции в старой версии SQL-сервера.

Обновите клиентскую версию SQL до версии вашего сервера Sql

Ответ 7

вы должны использовать новую версию Management Studio. А также вы получите сообщение об ошибке 29506. так что вы должны работать как администратор для настройки. Посмотрите этот сайт. http://shareis.com/post/29506-management-studio-express

Ответ 8

У меня был аналогичный опыт использования SMO через С# со стеком трассировки:

[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

Ответ 10

Я обнаружил проблему с диаграммой и схемой в SQL-Server 2016, которая может быть полезна для объекта. Я редактировал диаграмму (связанную с множеством таблиц, схему продаж) и добавил таблицу new, но забыл объявить ее схемой, так что это было со стандартным "dbo", Затем, когда я вернулся и открыл схему, "продажи" и попытался добавить существующую таблицу... Bluf! THT Запустил точно ту же ошибку, описанную в этом потоке. Я даже попробовал обходной путь (перетащить стол), но это не сработало. Внезапно я заметил, что схема была неправильной, я ее обновил, снова попытался, и Эврика! проблема была сразу же... С уважением.

Ответ 11

Для меня работала перезапуск студии управления SQL Server (версия 17.4).

Ответ 12

Это очень старая проблема с обналиченным контентом. MS планирует удалить диаграммы из SSMS, поэтому им все равно. В любом случае, решение существует.

Просто закройте вкладку Diagrams и откройте ее снова. Работает с SSMS 18.2.

Ответ 13

Предполагаемые причины в настоящее время оказываются практически невозможными. Я использую SSMS V17.9.2 против SS 2014 и до сих пор проблема. Проблемы с памятью существуют с этим инструментом по крайней мере с 2006 года, когда я начал использовать SSMS.

Да, MS "хочет" избавиться от диаграмм, но пользователи не позволят им. У меня такое чувство, что они никогда не решат ни одну из этих проблем, потому что они хотят, чтобы пользователи были настолько сыты этим инструментом, что достаточное количество людей прекратило его использовать, и они могут полностью отказаться от него.

Перезапуск - все еще обходной путь, если вы можете делать это много раз в день.