Indeks melewati batas susunan. (Microsoft.SqlServer.smo)


91

Saya menggunakan SQL Server 2008 R2. Ini bekerja dengan baik. Tetapi baru-baru ini, saya telah mengubah server hosting saya dan saya mengetahui bahwa mereka telah diinstal SQL Server 2012di Server.

Sekarang, Masalahnya adalah setelah terhubung dengan Database Server melalui SQL Server 2008 R2, Ketika saya mengklik nama tabel atau Prosedur Tersimpan, saya mendapatkan kesalahan: Index was outside the bounds of the array. (Microsoft.SqlServer.smo)

Jadi, apakah ada masalah dari sisi saya atau dari Sisi Server ??? dan Bagaimana cara mencegah masalah ini?


@ paul.abbott, apakah wajib ???
Jeeten Parmar

Anda dapat melanjutkannya, fitur baru tidak akan tersedia dengannya.
Samith C Valsalan

1
Dalam kasus kami, kami memulihkan Database 2008 R2 di SQL 2016 dan kami memiliki masalah yang sama saat mencoba menggunakan diagram dengan cara apa pun. Setelah menjalankan SSMS 2016 13.0.15900.1 sebagai administrator, ini memecahkan masalah. Sosok pergi!
Marc Roussel

Jawaban:


51

Tingkatkan versi studio manajemen SqlServer Anda dari 2008 hingga 2012

Atau Unduh paket layanan SqlServer Management Studio dan pembaruan mungkin menyelesaikan solusi Anda

Anda dapat mengunduh SQL Server Management studio 2012 dari tautan di bawah ini

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


Belum ada perbaikan untuk ini. Saya mengalami kesalahan ini di semua versi studio manajemen termasuk 2018 - sayang sekali bug ini telah ada selama bertahun-tahun sekarang.
MeTitus

Ini tahun 2020 dan masih belum diperbaiki.
Antonín Lejsek

99

Memulai ulang Studio Manajemen berhasil untuk saya.


6
Tampaknya kesalahan "di luar batas" disebabkan oleh Studio caching struktur database. Setelah Anda membuat cukup banyak perubahan pada struktur, itu akan menjadi kurang cocok dengan versi yang di-cache dan mulai menghasilkan kesalahan. Memulai ulang akan membangun kembali cache.
David Austin

Itu masalah sebenarnya, saya tidak pernah punya waktu untuk memperbarui jawaban saya. Memperbarui memperbaiki bug Anda
Abisoye Falabi

Saya juga mengalami kesalahan yang sama dengan versi v18.6 dari SQL Server Management Studio (SSMS). Solusinya adalah keluar dari aplikasi dan mulai lagi.
Jonathan Mendoza

42

Bagi saya masalah ini masih ada dengan SSMS versi 2016 (13.0.16100.1).

Solusi yang layak adalah dengan tidak menggunakan dialog 'Klik kanan' -> 'Tambahkan tabel ...', tetapi cukup seret tabel yang ingin Anda tambahkan dari Object Explorer, ke permukaan Diagram. Saat menyeret ikon mouse berubah menjadi simbol 'tambah' dan tabel ditambahkan saat Anda melepaskan mouse.

Beats harus menutup SSMS setiap saat.


Diagram tidak tersedia lagi v18.0 preview 4, semoga diagram akan segera kembali!
MeanGreen

22

Restart bekerja! Saya menemukan kesalahan yang sama untuk menambahkan tabel baru ke diagram database saya di sql server 2016, memulai kembali studio manajemen server sql, akhirnya terpecahkan.


Iya. Saya mengalami kesalahan ini di SQL Server 2016 Management Studio (v 13.0.16106.4) Yang harus saya lakukan hanyalah memulai ulang App / UI. Hanya memutus Server dan Menghubungkan Kembali tidak berhasil.
joedotnot

7

Ini adalah masalah jika Anda menggunakan alat studio manajemen 2008 untuk menyambung ke contoh SQL 2012.

Saya sering mengalami ini jika saya bekerja di satu server dengan SQL 2008, dan mencoba untuk menanyakan dengan cepat server lain yang menjalankan SQL 2012.

Saya biasanya menyimpan stasiun kerja pribadi saya pada versi terbaru dari studio manajemen (2012 dalam kasus ini), dan dapat mengelola semua server dari sana.


6

Alasan di balik pesan kesalahan ini adalah bahwa SQL tidak dapat menampilkan fitur baru di versi server SQL lama Anda.

Harap tingkatkan versi SQL klien Anda agar sama dengan versi Sql server Anda


2

Penyebab yang disarankan sekarang terbukti sebagian besar tidak mungkin. Saya menjalankan SSMS V17.9.2 melawan SS 2014 dan masih mengalami masalah. Masalah memori telah ada dengan alat ini setidaknya sejak tahun 2006 ketika saya mulai menggunakan SSMS.

Ya, MS 'ingin' menyingkirkan pembuatan diagram tetapi pengguna tidak mengizinkannya. Saya merasa mereka tidak akan pernah memperbaiki masalah ini karena mereka ingin pengguna begitu muak dengan alat ini sehingga cukup banyak dari mereka yang berhenti menggunakannya dan mereka dapat meninggalkannya sepenuhnya.

Memulai ulang masih merupakan solusi jika Anda dapat melakukannya berkali-kali setiap hari.



1

Saya memiliki pengalaman serupa dengan menggunakan SMO melalui C # dengan pelacakan tumpukan:

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

Ternyata versi CLR / NCLI / SMO saya adalah 10.50.1600.1. Meningkatkannya menjadi 10.53.6000.34 memperbaikinya - sehingga memungkinkan SMO 2008R2 untuk melakukan banyak hal dengan server 2012 dan 2014.

Dapatkan mereka dari paket fitur

https://www.microsoft.com/en-gb/download/details.aspx?id=44272


1
Saya menemukan tautan ini untuk SQL Server 2008 R2 Paket Layanan 3 lebih jelas dalam hal penginstal apa yang harus diunduh support.microsoft.com/en-us/kb/2979597
Justin

0

Saya menemukan masalah dengan Diagram dan Skema di SQL-Server 2016 yang dapat berguna untuk subjek tersebut. Saya sedang mengedit diagram (terkait dengan, dan dengan banyak tabel, skema "penjualan") dan menambahkan tabel baru , TAPI lupa mendeklarasikan skema itu, jadi dengan default "dbo". Kemudian ketika saya kembali ke, dan membuka, skema "penjualan" dan mencoba menambahkan tabel yang ada ... Bluf! ITU Memicu kesalahan yang persis sama yang dijelaskan di utas itu. Saya bahkan mencoba solusi (seret tabel) tetapi tidak berhasil. Tiba-tiba saya melihat bahwa skema itu salah, saya memperbaruinya, mencoba lagi, dan Eureka! masalah itu segera hilang ... Salam.



0

Ini masalah yang sangat lama dengan konten yang diuangkan. MS berencana untuk menghapus diagram dari SSMS, jadi mereka tidak peduli tentang ini. Bagaimanapun, solusinya ada.

Tutup saja tab Diagram dan buka lagi. Bekerja dengan SSMS 18.2.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.