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?

Jeeten Parmar
sumber
@ 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

Md.Rajibul Ahsan
sumber
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.

Abisoye Falabi
sumber
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.

MeanGreen
sumber
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.

mernig
sumber
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.

Justin Manning
sumber
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

Samith C Valsalan
sumber
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.

bielawski
sumber
1

Anda harus menggunakan versi baru dari Studio Manajemen. Dan juga Anda akan mendapat error 29506. jadi Anda harus menjalankan sebagai Administrator untuk setup. Lihat situs ini. http://shareis.com/post/29506-management-studio-express

Çetin DOĞU
sumber
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

GilesDMiddleton
sumber
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.

Felix Guillermo Ledesma
sumber
1
Selamat datang di Stack Overflow ! Silakan baca Bagaimana cara menulis jawaban yang baik ?
Saurabh Bhandari
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.

Tomas Vileikis
sumber