ssms异常停止工作,求大神帮忙,是否遇到过类似问题

时间:2021-09-18 21:23:43
服务器系统环境:
Windows Server 2012 R2 Datacenter
数据库版本:
SQL Server 2012 with SP2

当关闭ssms的时候会出现如下图的异常,
出现异常截图:
ssms异常停止工作,求大神帮忙,是否遇到过类似问题
附加截图的详细信息里面的信息:
问题签名:
  问题事件名称: APPCRASH
  应用程序名: Ssms.exe
  应用程序版本: 2011.110.5058.0
  应用程序时间戳: 537406e3
  故障模块名称: KERNELBASE.dll
  故障模块版本: 6.3.9600.16496
  故障模块时间戳: 52b3e015
  异常代码: c0020001
  异常偏移: 00012eec
  OS 版本: 6.3.9600.2.0.0.400.8
  区域设置 ID: 2052
  其他信息 1: 5805
  其他信息 2: 5805b7b0abf4bd9605eee5be83e20b5f
  其他信息 3: 459d
  其他信息 4: 459d8b5e1d9f2ddadd15349da0de9656

联机阅读隐私声明:
  http://go.microsoft.com/fwlink/?linkid=280262

如果无法获取联机隐私声明,请脱机阅读我们的隐私声明:
  C:\Windows\system32\zh-CN\erofflps.txt

Windows 日志里有两条报错:

报错一,
应用程序: Ssms.exe
Framework 版本: v4.0.30319
说明: 由于未经处理的异常,进程终止。
异常信息: 异常代码为 c0020001,异常地址为 74BB2EEC
堆栈:
报错二,
错误应用程序名称: Ssms.exe,版本: 2011.110.5058.0,时间戳: 0x537406e3
错误模块名称: KERNELBASE.dll,版本: 6.3.9600.16496,时间戳: 0x52b3e015
异常代码: 0xc0020001
错误偏移量: 0x00012eec
错误进程 ID: 0x6a4
错误应用程序启动时间: 0x01cf911ddfea5d6a
错误应用程序路径: E:\Program Files (x86)\Microsoft SQL Server\110\Tools\Binn\ManagementStudio\Ssms.exe
错误模块路径: C:\Windows\SYSTEM32\KERNELBASE.dll
报告 ID: 467f35ba-fd11-11e3-80b5-842b2b683266
错误程序包全名: 
错误程序包相对应用程序 ID: 

24 个解决方案

#1


发生这个错误时你在做什么?

#2


搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

#4


引用 1 楼 DBA_Huangzj 的回复:
发生这个错误时你在做什么?

发生这个的时候没有做什么呢,只是在前一天晚上安装了SqlServer 2012 SP2的补丁,相同的补丁,相同的SqlServer版本,同时安装了4台服务器,却只有这一台出现了这个异常,非常郁闷呀

#5


引用 2 楼 DBA_Huangzj 的回复:
搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

目前安装的就是SqlServer 2012的最新补丁SP2,就是打了SP2的补丁之后才出现的这个问题,而且同时装了4台,就一台有问题,囧了

#6


报错信息显示的 故障模块名称: KERNELBASE.dll


你可以尝试重新注册一下这个dll文件

#7


引用 5 楼 hwhmh2010 的回复:
Quote: 引用 2 楼 DBA_Huangzj 的回复:

搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

目前安装的就是SqlServer 2012的最新补丁SP2,就是打了SP2的补丁之后才出现的这个问题,而且同时装了4台,就一台有问题,囧了

你可以尝试使用更高的权限来运行SSMS,或者替换KERNELBASE.dll文件。比如在PE下拷贝一个新的KERNELBASE.dll替换。
注册表也要注册一下regsvr32 kernelbase.dll。实在不行的话,考虑最坏的方法,重装!

#8


引用 3 楼 DBA_Huangzj 的回复:
出处: http://connect.microsoft.com/SQLServer/feedback/details/774317/sql-server-management-studio-2012-crashes-when-closing

暂时只能帮你到这里了。其他的我也没辙


谢黄哥了,给的链接我已经看了,貌似很多人有遇到这个问题,我也看到了微软的一个经理说会在以后的补丁中修复,谢黄哥了,黄黄一家就是好。 ssms异常停止工作,求大神帮忙,是否遇到过类似问题

#9


引用 6 楼 galenkeny 的回复:
报错信息显示的 故障模块名称: KERNELBASE.dll


你可以尝试重新注册一下这个dll文件

高手,如何重新注册dll文件呀,呵呵,小弟新手

#10


引用 7 楼 galenkeny 的回复:
Quote: 引用 5 楼 hwhmh2010 的回复:

Quote: 引用 2 楼 DBA_Huangzj 的回复:

搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

目前安装的就是SqlServer 2012的最新补丁SP2,就是打了SP2的补丁之后才出现的这个问题,而且同时装了4台,就一台有问题,囧了

你可以尝试使用更高的权限来运行SSMS,或者替换KERNELBASE.dll文件。比如在PE下拷贝一个新的KERNELBASE.dll替换。
注册表也要注册一下regsvr32 kernelbase.dll。实在不行的话,考虑最坏的方法,重装!

目前是administrator权限运行的呢。
线上生产服务器,影响比较大,每次维护升级什么的都是再夜里12:00---04:00进行的,不敢妄动啊。。。
呵呵,目前还好,只是ssms会有异常,关掉重新打开还可以用,不影响其他服务的正常使用,唉,打算维持原状等微软新的补丁了。

#11


可以的话打一下那个CU吧。小补丁要累积到一定程度才出SP的,所以单纯SP不一定就是醉拳的

#12


重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

#13


引用 12 楼 galenkeny 的回复:
重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

兄台,这个操作就是重新注册regsvr32 kernelbase.dll 这个是吧。
会对服务器有啥影响不?
我这个是线上生产的服务器呢,如果需要重启和停机之类的操作还需要申请呢,不敢妄动呀

#14


引用 11 楼 DBA_Huangzj 的回复:
可以的话打一下那个CU吧。小补丁要累积到一定程度才出SP的,所以单纯SP不一定就是醉拳的

嗯,我试试看吧。

#15


重新注册有点风险,打补丁一般很少,并且通常可以通过卸载安装补丁的程序来回滚,先打补丁吧。改服务器级别的东西最好还是申请一下

#16


但是最好在可维护时间端打,有些补丁需要重启sqlserver(不是windows),所以除非已经无法使用,不然还是缓一下好,可以尝试用别的机器连接或者用SQLCMD这些来操作

#17


引用 11 楼 DBA_Huangzj 的回复:
可以的话打一下那个CU吧。小补丁要累积到一定程度才出SP的,所以单纯SP不一定就是醉拳的

我的SqlServer已经打了sp2的补丁,我看那里的cu都是针对sp1的呢,不晓得能不能装上去呢

#18


没办法的情况下试一下也无害,不满足要求的话不会给你打的

#19


引用 16 楼 DBA_Huangzj 的回复:
但是最好在可维护时间端打,有些补丁需要重启sqlserver(不是windows),所以除非已经无法使用,不然还是缓一下好,可以尝试用别的机器连接或者用SQLCMD这些来操作

黄哥所言极是,先缓一缓,其实ssms还是可以用,只是它不定时的就会报个错,然后关闭。重新打开还可以用。大概一天出现一两次。
缓一缓缓一缓,呵呵

#20


引用 18 楼 DBA_Huangzj 的回复:
没办法的情况下试一下也无害,不满足要求的话不会给你打的

嗯,我看看先下载下来,等下次服务器维护的时候打打试试

#21


引用 12 楼 galenkeny 的回复:
重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

既然可以使用,还是缓一缓,等到服务器维护打下补丁,然后执行下注册。肯定要重启下的

#22


引用 13 楼 hwhmh2010 的回复:
Quote: 引用 12 楼 galenkeny 的回复:

重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

兄台,这个操作就是重新注册regsvr32 kernelbase.dll 这个是吧。
会对服务器有啥影响不?
我这个是线上生产的服务器呢,如果需要重启和停机之类的操作还需要申请呢,不敢妄动呀


另外这个报错不止是sql使用的时候出现的问题,其他应用程序也会出现这种报错,因此建议打补丁的同时重新注册下这个DLL文件

#23


引用 21 楼 galenkeny 的回复:
Quote: 引用 12 楼 galenkeny 的回复:

重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

既然可以使用,还是缓一缓,等到服务器维护打下补丁,然后执行下注册。肯定要重启下的

嗯嗯,我先整理下方案,到下次维护的时候一并操作

#24


同样遇到此错误,解决啦

#1


发生这个错误时你在做什么?

#2


搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

#3


#4


引用 1 楼 DBA_Huangzj 的回复:
发生这个错误时你在做什么?

发生这个的时候没有做什么呢,只是在前一天晚上安装了SqlServer 2012 SP2的补丁,相同的补丁,相同的SqlServer版本,同时安装了4台服务器,却只有这一台出现了这个异常,非常郁闷呀

#5


引用 2 楼 DBA_Huangzj 的回复:
搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

目前安装的就是SqlServer 2012的最新补丁SP2,就是打了SP2的补丁之后才出现的这个问题,而且同时装了4台,就一台有问题,囧了

#6


报错信息显示的 故障模块名称: KERNELBASE.dll


你可以尝试重新注册一下这个dll文件

#7


引用 5 楼 hwhmh2010 的回复:
Quote: 引用 2 楼 DBA_Huangzj 的回复:

搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

目前安装的就是SqlServer 2012的最新补丁SP2,就是打了SP2的补丁之后才出现的这个问题,而且同时装了4台,就一台有问题,囧了

你可以尝试使用更高的权限来运行SSMS,或者替换KERNELBASE.dll文件。比如在PE下拷贝一个新的KERNELBASE.dll替换。
注册表也要注册一下regsvr32 kernelbase.dll。实在不行的话,考虑最坏的方法,重装!

#8


引用 3 楼 DBA_Huangzj 的回复:
出处: http://connect.microsoft.com/SQLServer/feedback/details/774317/sql-server-management-studio-2012-crashes-when-closing

暂时只能帮你到这里了。其他的我也没辙


谢黄哥了,给的链接我已经看了,貌似很多人有遇到这个问题,我也看到了微软的一个经理说会在以后的补丁中修复,谢黄哥了,黄黄一家就是好。 ssms异常停止工作,求大神帮忙,是否遇到过类似问题

#9


引用 6 楼 galenkeny 的回复:
报错信息显示的 故障模块名称: KERNELBASE.dll


你可以尝试重新注册一下这个dll文件

高手,如何重新注册dll文件呀,呵呵,小弟新手

#10


引用 7 楼 galenkeny 的回复:
Quote: 引用 5 楼 hwhmh2010 的回复:

Quote: 引用 2 楼 DBA_Huangzj 的回复:

搜了一下,目前这个问题被列为BUG,里面说尝试安装最新的补丁:
http://support.microsoft.com/kb/2954099/en-us

目前安装的就是SqlServer 2012的最新补丁SP2,就是打了SP2的补丁之后才出现的这个问题,而且同时装了4台,就一台有问题,囧了

你可以尝试使用更高的权限来运行SSMS,或者替换KERNELBASE.dll文件。比如在PE下拷贝一个新的KERNELBASE.dll替换。
注册表也要注册一下regsvr32 kernelbase.dll。实在不行的话,考虑最坏的方法,重装!

目前是administrator权限运行的呢。
线上生产服务器,影响比较大,每次维护升级什么的都是再夜里12:00---04:00进行的,不敢妄动啊。。。
呵呵,目前还好,只是ssms会有异常,关掉重新打开还可以用,不影响其他服务的正常使用,唉,打算维持原状等微软新的补丁了。

#11


可以的话打一下那个CU吧。小补丁要累积到一定程度才出SP的,所以单纯SP不一定就是醉拳的

#12


重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

#13


引用 12 楼 galenkeny 的回复:
重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

兄台,这个操作就是重新注册regsvr32 kernelbase.dll 这个是吧。
会对服务器有啥影响不?
我这个是线上生产的服务器呢,如果需要重启和停机之类的操作还需要申请呢,不敢妄动呀

#14


引用 11 楼 DBA_Huangzj 的回复:
可以的话打一下那个CU吧。小补丁要累积到一定程度才出SP的,所以单纯SP不一定就是醉拳的

嗯,我试试看吧。

#15


重新注册有点风险,打补丁一般很少,并且通常可以通过卸载安装补丁的程序来回滚,先打补丁吧。改服务器级别的东西最好还是申请一下

#16


但是最好在可维护时间端打,有些补丁需要重启sqlserver(不是windows),所以除非已经无法使用,不然还是缓一下好,可以尝试用别的机器连接或者用SQLCMD这些来操作

#17


引用 11 楼 DBA_Huangzj 的回复:
可以的话打一下那个CU吧。小补丁要累积到一定程度才出SP的,所以单纯SP不一定就是醉拳的

我的SqlServer已经打了sp2的补丁,我看那里的cu都是针对sp1的呢,不晓得能不能装上去呢

#18


没办法的情况下试一下也无害,不满足要求的话不会给你打的

#19


引用 16 楼 DBA_Huangzj 的回复:
但是最好在可维护时间端打,有些补丁需要重启sqlserver(不是windows),所以除非已经无法使用,不然还是缓一下好,可以尝试用别的机器连接或者用SQLCMD这些来操作

黄哥所言极是,先缓一缓,其实ssms还是可以用,只是它不定时的就会报个错,然后关闭。重新打开还可以用。大概一天出现一两次。
缓一缓缓一缓,呵呵

#20


引用 18 楼 DBA_Huangzj 的回复:
没办法的情况下试一下也无害,不满足要求的话不会给你打的

嗯,我看看先下载下来,等下次服务器维护的时候打打试试

#21


引用 12 楼 galenkeny 的回复:
重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

既然可以使用,还是缓一缓,等到服务器维护打下补丁,然后执行下注册。肯定要重启下的

#22


引用 13 楼 hwhmh2010 的回复:
Quote: 引用 12 楼 galenkeny 的回复:

重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

兄台,这个操作就是重新注册regsvr32 kernelbase.dll 这个是吧。
会对服务器有啥影响不?
我这个是线上生产的服务器呢,如果需要重启和停机之类的操作还需要申请呢,不敢妄动呀


另外这个报错不止是sql使用的时候出现的问题,其他应用程序也会出现这种报错,因此建议打补丁的同时重新注册下这个DLL文件

#23


引用 21 楼 galenkeny 的回复:
Quote: 引用 12 楼 galenkeny 的回复:

重新拷贝一个 kernelbase.dll到对应目录C:\Windows\System32 ,然后win+R调出运行,输入regsvr32 kernelbase.dll回车

既然可以使用,还是缓一缓,等到服务器维护打下补丁,然后执行下注册。肯定要重启下的

嗯嗯,我先整理下方案,到下次维护的时候一并操作

#24


同样遇到此错误,解决啦