it-swarm.com.de

Index war außerhalb der Grenzen des Arrays. (Microsoft.SqlServer.smo)

Ich benutze SQL Server 2008 R2. Es funktioniert gut. Aber vor kurzem habe ich meinen Hosting-Server gewechselt und habe erfahren, dass er SQL Server 2012 auf dem Server installiert hat.

Nun ist das Problem, dass nach dem Herstellen einer Verbindung mit der Server-Datenbank über SQL Server 2008 R2 beim Klicken auf einen Tabellennamen oder eine gespeicherte Prozedur eine Fehlermeldung angezeigt wird: Index was outside the bounds of the array. (Microsoft.SqlServer.smo)

Also, gibt es ein Problem von meiner Seite oder ist es von Server-Seite? und wie kann ich dieses Problem verhindern?

66
Jeeten Parmar

Aktualisieren Sie Ihr SqlServer Management Studio von 2008 bis 2012 

Oder Laden Sie die Service Packs von SqlServer Management Studio herunter und aktualisieren Sie die Lösung möglicherweise

Sie können das SQL Server Management Studio 2012 über den folgenden Link herunterladen

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

43

Der Neustart des Management Studios hat für mich funktioniert.

58
Abisoye Falabi

Für mich besteht dieses Problem weiterhin mit der SSMS-Version 2016 (13.0.16100.1).

Eine anständige Problemumgehung besteht darin, das Dialogfeld "Rechtsklick" -> "Tabelle hinzufügen ..." nicht zu verwenden. Ziehen Sie einfach die gewünschte Tabelle aus dem Objekt-Explorer auf die Diagrammoberfläche. Während des Ziehens wird das Maussymbol in ein 'Hinzufügen'-Symbol umgewandelt und die Tabelle wird hinzugefügt, wenn Sie die Maustaste loslassen.

Beats, SSMS jedes Mal beenden zu müssen.

32
MeanGreen

Neustart funktionierte! Ich habe den gleichen Fehler gefunden, um eine neue Tabelle zu meinem Datenbankdiagramm auf dem SQL Server 2016 hinzuzufügen. Das SQL Server Management Studio wurde erneut gestartet.

11
mernig

Der Grund für die Fehlermeldung ist, dass SQL in Ihrer alten SQL Server-Version keine neuen Funktionen anzeigen konnte.

Aktualisieren Sie Ihre Client-SQL-Version auf dieselbe Version wie Ihre Server-SQL-Version

8

Dies ist ein Problem, wenn Sie 2008 Management Studio-Tools verwenden, um eine Verbindung zu einer SQL 2012-Instanz herzustellen.

Ich erlebe dies häufig, wenn ich mit SQL 2008 auf einem Server arbeite und versuche, einen anderen Server, auf dem SQL 2012 ausgeführt wird, schnell abzufragen.

Normalerweise behalte ich meine persönliche Workstation auf der neuesten Version von Management Studio (in diesem Fall 2012) und kann alle Server von dort aus verwalten.

7
Justin Manning

sie müssen eine neue Version von Management Studio verwenden. Außerdem erhalten Sie eine Fehlermeldung 29506. Sie sollten daher als Administrator für das Setup-Programm ausgeführt werden Schauen Sie sich diese Site an . http://shareis.com/post/29506-management-studio-express

2
Çetin DOĞU

Ich hatte eine ähnliche Erfahrung mit der Verwendung von SMO über C # mit dem Stack-Trace:

[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()

Es stellte sich heraus, dass meine Versionen des CLR/NCLI/SMO 10.50.1600.1 ..__ waren. Ein Upgrade auf 10.53.6000.34 hat das Problem behoben - so konnte der 2008R2 SMO mit 2012 und 2014 Servern viel unternehmen.

Holen Sie sie aus dem Feature-Pack

https://www.Microsoft.com/de-de/download/details.aspx?id=44272

2
GilesDMiddleton

Es ist ein sehr altes Problem mit eingelösten Inhalten. MS, die vorhaben, Diagramme aus SSMS zu entfernen, kümmern sich nicht darum. Auf jeden Fall gibt es eine Lösung.

Schließen Sie einfach die Registerkarte Diagramme und öffnen Sie sie erneut. Funktioniert mit SSMS 18.2.

0
Tomas Vileikis

Ich habe ein Problem mit Diagram und Schema in SQL-Server 2016 gefunden, das für das Thema nützlich sein könnte. Ich habe das Diagramm bearbeitet (bezogen auf und mit vielen Tabellen des "sales" -Schemas) und eine neue -Tabelle hinzugefügt, ABER ich habe vergessen, das Schema zu deklarieren, also war es mit der Standardeinstellung "dbo" . Als ich dann zu dem Schema "sales" zurückkehrte und es öffnete, versuchte ich, eine existierende Tabelle hinzuzufügen ... Bluf! Das hat genau den gleichen Fehler ausgelöst, der in diesem Thread beschrieben wurde. Ich habe sogar versucht, das Problem zu umgehen (den Tisch zu ziehen), aber es hat nicht funktioniert. Plötzlich bemerkte ich, dass das Schema falsch war, ich aktualisierte es, versuchte es erneut und Eureka! Das Problem war sofort weg ... Grüße.