SQL Server 2012.例外:尝试读取或写入受保护的内存(MS.VS.OLE.Interop)

use*_*286 46 sql-server exception

我更像是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)
Run Code Online (Sandbox Code Playgroud)

如果我再次尝试右键单击,SQL Server将停止工作并关闭.我仍然可以使用SQL命令来插入或更新数据库.我一直在寻找解决方案,并找到了这个链接:http://social.msdn.microsoft.com/Forums/vstudio/en-US/42b79da5-6f1e-4122-a2cb-00def87a1ae2/microsoftvisualstudiooleinterop-attempted-to-读或写保护内存-这-是-常安?论坛= visualstudiogeneral

但它仍然无法帮助我清楚地了解原因或找到问题的解决方案.任何有助于解决此问题的帮助都非常感谢.谢谢.

jbo*_*eke 83

您是否尝试使用2012版(或更早版本)的SQL Management Studio编辑SQL 2014数据库?

您可以通过对master数据库运行此查询来确定数据库的SQL版本:

SELECT @@VERSION
Run Code Online (Sandbox Code Playgroud)

我有同样的问题,我可以通过安装和使用SQL Server Management Studio 2014直接编辑表('编辑前200').即使您的数据库和Management Studio都是2012版本,升级Management Studio也没有什么坏处.

  • 这应该标记为答案.当您尝试在SQL Server 2016上使用SSMS 2014编辑前200行时也会发生同样的情况. (6认同)
  • 当您使用 SQL Server Management Studio 2012 在 SQL Server 2014 数据库(版本 12)中尝试“编辑 200 行”选项时,会发生这种情况。最简单的选择是开始使用 Management Studio 2014。 (2认同)

小智 5

我也面临同样的问题。我注意到一件事,如果您使用的是SQL Management Studio版本之后的SQL数据库,则您将收到该消息。要克服此问题,只需安装等于或大于数据库版本的SQL Management Studio。也就是说,如果您有SQL 2012,则需要安装SQL Management Studio 2012或2014。