it-swarm.dev

O índice estava fora dos limites do Array. (Microsoft.SqlServer.smo)

Eu estou usando SQL Server 2008 R2. Está funcionando bem. Mas recentemente, mudei meu servidor de hospedagem e vim a saber que eles instalaram o SQL Server 2012 no servidor.

Agora, o problema é que depois de conectar-se com o banco de dados do servidor através de SQL Server 2008 R2, quando clico em qualquer nome de tabela ou procedimento armazenado, estou recebendo o erro: Index was outside the bounds of the array. (Microsoft.SqlServer.smo)

Então, há algum problema do meu lado ou é do lado do servidor ??? e como posso evitar esse problema?

66
Jeeten Parmar

Atualize seu estúdio de gerenciamento SqlServer de 2008 para 2012 

Ou Baixe os service packs do SqlServer Management Studio e atualize provavelmente a solução

Você pode baixar o estúdio de gerenciamento do SQL Server 2012 a partir do link abaixo

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

43
Md.Rajibul Ahsan

Reiniciar o Management Studio funcionou para mim.

58
Abisoye Falabi

Para mim, este problema ainda existe com a versão SSMS 2016 (13.0.16100.1).

Uma solução decente é não usar a caixa de diálogo 'Clique com o botão direito' -> 'Incluir tabela ...', mas simplesmente arraste a tabela que deseja adicionar do Object Explorer, na superfície do Diagrama. Ao arrastar o ícone do mouse, ele é alterado para um símbolo "add" e a tabela é adicionada quando você solta o mouse.

É melhor ter que fechar o SSMS todas as vezes.

32
MeanGreen

Reiniciado funcionou! Eu encontrei o mesmo erro para adicionar nova tabela para o meu diagrama de banco de dados no sql server 2016, reiniciado sql server management studio, finalmente resolvido.

11
mernig

O motivo por trás da mensagem de erro é que o SQL não pôde mostrar novos recursos em sua versão antiga do SQL Server.

Por favor, atualize sua versão SQL cliente para o mesmo que o seu servidor versão Sql

8
Samith C Valsalan

Isso é um problema se você estiver usando ferramentas do Studio de gerenciamento de 2008 para se conectar a uma instância do SQL 2012.

Eu tenho muito isso se estou trabalhando em um servidor com o SQL 2008 e tentando consultar rapidamente outro servidor que está executando o SQL 2012.

Eu normalmente mantenho minha estação de trabalho pessoal na última versão do estúdio de gerenciamento (2012, neste caso), e sou capaz de administrar todos os servidores de lá.

7
Justin Manning

você deve usar a nova versão do Management Studio. E também você terá um erro 29506. então você deve executar como Administrador para configuração. Veja este site. http://shareis.com/post/29506-management-studio- expressar

2
Çetin DOĞU

Eu tive uma experiência semelhante com o uso de SMO via C # com o rastreamento de pilha:

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

Descobri que minhas versões do CLR/NCLI/SMO eram 10.50.1600.1. Atualizá-las para 10.53.6000.34 corrigiu-as - permitindo assim que o 2008R2 SMO fizesse muitas coisas com os servidores de 2012 e 2014.

Obtê-los do pacote de recursos

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

2
GilesDMiddleton

Eu encontrei um problema com o Diagrama e Esquema no SQL Server 2016 que poderia ser útil para o assunto. Eu estava editando o diagrama (relacionado a, e com muitas tabelas de, o esquema de "vendas") e adicionei um new table, mas esqueceu de declarar o esquema, por isso foi com o padrão "dbo". Então, quando voltei e abri o esquema "vendas" e tentei adicionar uma tabela existente ... Bluf! Isso desencadeou exatamente o mesmo erro descrito nesse segmento. Eu até tentei a solução (arraste a mesa), mas não funcionou. De repente, notei que o esquema estava incorreto, eu atualizei, tentei novamente, e Eureka! o problema foi imediatamente embora ... Atenciosamente.

0
Felix Guillermo Ledesma