SQL server 2012. Исключение: попытка чтения или записи защищенной памяти (MS.VS.OLE.Interop)
Я больше являюсь конечным пользователем SQL Server 2012. Когда я нажимаю правой кнопкой мыши на имя таблицы и выбираю пункт меню "Изменить верхние 200 строк". Я получаю это сообщение:
Exception has been thrown by the target of an invocation. (mscorlib)
Additional information:
Attempted to read or write protected memory. This is often an indication that
other memory is corrupt. (Microsoft.VisualStudio.OLE.Interop)
Если я попытаюсь сделать правый щелчок снова, SQL-сервер перестанет работать и закрываться. Я все еще могу использовать команды SQL для вставки или обновления базы данных. Я искал решение и нашел эту ссылку: http://social.msdn.microsoft.com/Forums/vstudio/en-US/42b79da5-6f1e-4122-a2cb-00def87a1ae2/microsoftvisualstudiooleinterop-attempted-to-read-or-write-protected-memory-this-is-often-an?forum=visualstudiogeneral
Но это все еще не помогает мне четко понять причину или найти решение проблемы. Любая помощь для решения этой проблемы высоко ценится. Спасибо.
Ответы
Ответ 1
Вы пытаетесь редактировать базу данных SQL 2014 с помощью версии 2012 (или более ранней) SQL Management Studio?
Вы можете определить версию SQL вашей базы данных, выполнив этот запрос к вашей основной базе данных:
SELECT @@VERSION
У меня возникла та же проблема, и я смог выполнить прямое редактирование таблиц ("Edit Top 200"), установив и используя SQL Server Management Studio 2014. Даже если ваша БД и Management Studio версии 2012, обновление Management Studio может не повредить,
Ответ 2
Я также столкнулся с той же проблемой. И я заметил одно: если вы используете новую базу данных SQL, а затем версию студии управления SQL, вы получите это сообщение. Чтобы преодолеть эту проблему, просто установите студию управления SQL равной или большей, чем версия базы данных. Если у вас есть SQL 2012, вам необходимо установить студию управления SQL 2012 или 2014.
Ответ 3
Я нашел решение, которое не требует перезагрузки. Идти к:
C:\Users\<User Name>\AppData\Local\Temp
и удалите все файлы. Перед удалением закройте окно SSMS.