重新停靠选项卡时 SSMS 18.8 崩溃

Var*_*Fox 12 sql-server ssms ssms-18

当我在 SQL Server Management Studio 中取消停靠选项卡并稍后尝试重新停靠时,SSMS 崩溃。每次都会发生这种情况,我可以随意重现该问题。我所要做的就是取消停靠一个选项卡(比如说,为了并排查看不同选项卡中的两个 SQL 查询),然后尝试重新停靠它,SSMS 将崩溃。查看事件查看器,每次发生崩溃时,我都会发现两条连续的错误消息,第一条的源设置为“.NET 运行时”,第二条的源设置为事件查看器中的“应用程序错误”:

消息 #1:

应用程序:Ssms.exe 框架版本:v4.0.30319 描述:由于未处理的异常,进程被终止。异常信息:System.Windows.Interop.HwndMouseInputProvider.HasCustomChrome(System.Windows.Interop.HwndSource, RECT ByRef) 处 System.Windows.Interop.HwndMouseInputProvider.GetEffectiveClientRect(IntPtr) 处 System.Windows.Interop.HwndMouseInputProvider 处的 System.NullReferenceException。 PossivelyDeactivate(IntPtr, Boolean) at System.Windows.Interop.HwndMouseInputProvider.Dispose() at System.Windows.Interop.HwndMouseInputProvider.FilterMessage(IntPtr, MS.Internal.Interop.WindowMessage, IntPtr, IntPtr, Boolean ByRef) at System.Windows .Interop.HwndSource.InputFilterMessage(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 在 MS.Win32.HwndWrapper.WndProc(IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) 在 MS.Win32.HwndSubclass。

消息#2:

错误的应用程序名称:Ssms.exe,版本:2019.150.18369.0,时间戳:0x5fd317a3 错误的模块名称:PresentationCore.ni.dll,版本:4.8.4320.0,时间戳:0x5fc81198 异常代码:0x0504007 错误进程:0x50007 0x166c 错误应用程序启动时间:0x01d6fc1a384c50f7 错误应用程序路径:C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE\Ssms.exe 错误模块路径:C:\Windows\assembly\NativeImages_v4.0.30319_32 PresentationCore\627e2c47709994c2c1f8fd2e1228d567\PresentationCore.ni.dll 报告ID:1b2fa46b-b60c-4517-bd91-1d4de7324b26 故障包全名:故障包ID:相关应用程序

有没有其他人遇到过这个问题并找到了解决方法或解决方法?

Var*_*Fox 14

“修复”结果是这样的:

首先,关闭所有 SSMS 窗口。接下来,找到您的 SSMS 可执行文件。我在这个位置:

C:\Program Files (x86)\Microsoft SQL Server Management Studio 18\Common7\IDE

(如果找不到,请尝试右键单击用于打开 SSMS 的快捷方式并转到“属性”->“打开文件位置”)

找到此文件后,您还会在同一文件夹中找到名为Ssms.exe.config的文件 - 在管理员模式下打开记事本并编辑此Ssms.exe.config文件。

Ssms.exe.config文件中,找到一个名为 的 XML 标记<AppContextSwitchOverrides>,然后准确地追加(而不是替换)以下内容:

;Switch.System.Windows.Interop.MouseInput.OptOutOfMoveToChromedWindowFix=true; Switch.System.Windows.Interop.MouseInput.DoNotOptOutOfMoveToChromedWindowFix=true
Run Code Online (Sandbox Code Playgroud)

然后,使用您刚刚所做的更改保存文件。

进行此更改后,当您手动将窗口重新停靠到选项卡栏中时,SSMS 不应再崩溃或挂起。


小智 0

对我来说卸载KB4601050 win10更新解决了问题。