Sql Server尝试读取或写入受保护的内存。这通常指示其他内存已损坏

    今日遇到这样一个问题,用vs2010调试C#代码时,只要代码一运行到跟数据库关联的地方时,编译器就报错误,给的提示如:调试器已附加,要继续需要分离什么的,咋一看还以为是vs中调试器设置的问题,可后来仔细一检查,发现调试器没什么问题,那到底是什么原因呢,有时候这样的一些问题真的很让人头疼!!思索了很久,觉得有没有可能是以为数据库连接什么的,就这样,我写了一个只有一两句数据库连接的代码的doom,发现系统报:

                   尝试读取或写入受保护的内存。这通常指示其他内存已损坏

原来如此!既然代码没问题,vs也没问题,那问题就出在vs与数据库的连接上面啦

解决办法:用管理员身份运行CMD,

输入netsh winsock reset  并回车(注意,必须是已管理员身份运行,这个重置LSP连接)

重启电脑就哦了

介绍:

winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口 netsh winsock reset 是把它恢复到默认状态

netsh winsock reset命令,作用是重置 Winsock 目录。如果一台机器上的Winsock协议配置有问题的话将会导致网络连接等问题,就需要用netsh winsock reset命令来重置Winsock目录借以恢复网络。这个命令可以重新初始化网络环境,以解决由于软件冲突、病毒原因造成的参数错误问题。 netsh是一个能够通过命令行操作几乎所有网络相关设置的接口,比如设置IP,DNS,网卡,无线网络等,Winsock是系统内部目录,Winsock是Windows网络编程接口,winsock工作在应用层,它提供与底层传输协议无关的高层数据传输编程接口,reset是对Winsock的重置操作。当执行完winsock的命令重启计算机后,需要重新配置IP。

  

出处:https://www.cnblogs.com/kurt/p/3843181.html

========================================================

我发现我的不是这个问题,我本机安装的是sql2012,而服务器端安装的是sql2017

我就悲剧了

原文地址:https://www.cnblogs.com/mq0036/p/12508538.html