SECURITY_CRYPTO_CONTEXT_MUTEX 在等待导致 SQL Server 2016年停止响应客户端请求在 SQL Server 2014年和 2016

Bug #: 11816663 (sqlbuvsts01)
Bug #: 82115 (Content Idea)
Bug #: 50341 (Content Idea)

症状

Microsoft SQL Server 2014年和 2016年可能会停止响应客户端请求。 有大量的SECURITY_CRYPTO_CONTEXT_MUTEX等待发生时,将出现此问题。 查看等待时,它们的统计可能如下所示。

wait_type

waiting_tasks_count

wait_time_ms

max_wait_time_ms

signal_wait_time_ms

SECURITY_CRYPTO_CONTEXT_MUTEX

5689

84054706

191537

解决方案

SQL Server 的情况下,以下累积更新中包含此问题的修补程序:

对于 SQL Server 2016年的累积更新 1

对于 SQL Server 2014 SP2 的累积更新 12

 

SQL Server 的每个新累积更新包含以前的累积更新所包含的所有修补程序和所有安全修补程序。 查看 SQL Server 的最新累积更新:

SQL Server 2016 的最新累计更新

SQL Server 2014 的最新累积更新

对于 SQL Server 2014 SP2 修补程序

受支持的更新程序。 我们建议所有客户都应用此更新。

立即下载更新 SQLServer2014SP2-KB3173472 x64.exe

立即下载更新 SQLServer2014SP2-KB3173472 x86.exe

注意安装此更新后,生成将更新为 12.0.5578.0。

Hotfix for SQL Server 2014 SP2

Internal package location:

To obtain the hotfix, copy the following address and open it in your browser:

\\sqlbuilds\TestBuilds\SQL14_SP2_QFE-OD\12.0.5578.0\retail\release\packages\SQLServer2014-KB3173472-x64.exe
\\sqlbuilds\TestBuilds\SQL14_SP2_QFE-OD\12.0.5578.0\retail\release\packages\SQLServer2014-KB3173472-x86.exe

Build path of packages:

\\sqlbuilds\Released\SQLServer2014\SP2\Hotfixes\12.0.5578.0

状态

Microsoft 已确认这是在“适用范围”部分中列出的 Microsoft 产品存在的问题。

Call stack information

0:124> ~124s
ntdll!ZwSignalAndWaitForSingleObject+0xa:
00007ff8`5d121fea c3 ret
0:124> kL
# Child-SP RetAddr Call Site
00 000001a8`4622c618 00007ff8`5a679b7e ntdll!ZwSignalAndWaitForSingleObject+0xa
01 000001a8`4622c620 00007ff8`32474a57 KERNELBASE!SignalObjectAndWait+0xc8
02 (Inline Function) --------`-------- sqldk!SystemThread::SignalAndWait+0x2d
03 000001a8`4622c6d0 00007ff8`324714cc sqldk!SOS_Scheduler::Switch+0x106
04 000001a8`4622c9c0 00007ff8`2b9eb93a sqldk!SOS_Scheduler::SuspendNonPreemptive+0xd3
05 000001a8`4622ca00 00007ff8`2c81d79b sqllang!EventInternal<SuspendQueueSLock>::Wait+0x1e7
06 (Inline Function) --------`-------- sqllang!SOS_Mutex::Wait+0x5d
07 (Inline Function) --------`-------- sqllang!TAutoMutex<SOS_Mutex,1>::GetAccess+0x5d
08 000001a8`4622ca50 00007ff8`2c7cb5a4 sqllang!CSECSessionCryptoContext::GetCryptoContext+0xdb
09 000001a8`4622cb10 00007ff8`2c6f9b90 sqllang!SetAppRole+0x5e5
0a 000001a8`4622d610 00007ff8`2b9f83da sqllang!CStmtSetUser::XretExecute+0x1c1
0b (Inline Function) --------`-------- sqllang!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0xf
0c 000001a8`4622d7c0 00007ff8`2b9f7e43 sqllang!CMsqlExecContext::ExecuteStmts<1,1>+0x40d
0d 000001a8`4622d900 00007ff8`2b9f74b4 sqllang!CMsqlExecContext::FExecute+0xa9e
0e 000001a8`4622dc30 00007ff8`2c6e1cfd sqllang!CSQLSource::Execute+0x981
0f 000001a8`4622ddd0 00007ff8`2c6e1701 sqllang!CStmtExecProc::XretLocalExec+0x26e
10 000001a8`4622de50 00007ff8`2c6de488 sqllang!CStmtExecProc::XretExecExecute+0x481
11 000001a8`4622e600 00007ff8`2b9f83da sqllang!CXStmtExecProc::XretExecute+0x38
12 (Inline Function) --------`-------- sqllang!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0xf
13 000001a8`4622e640 00007ff8`2b9f7e43 sqllang!CMsqlExecContext::ExecuteStmts<1,1>+0x40d
14 000001a8`4622e780 00007ff8`2b9f74b4 sqllang!CMsqlExecContext::FExecute+0xa9e
15 000001a8`4622eab0 00007ff8`2ba0092b sqllang!CSQLSource::Execute+0x981
16 000001a8`4622ec50 00007ff8`2b9f4be2 sqllang!process_request+0xe61
17 000001a8`4622f220 00007ff8`2b9f4743 sqllang!process_commands_internal+0x2df
18 000001a8`4622f2a0 00007ff8`3247508d sqllang!process_messages+0x253
19 000001a8`4622f4b0 00007ff8`324757e5 sqldk!SOS_Task::Param::Execute+0x231
1a 000001a8`4622fab0 00007ff8`3247543d sqldk!SOS_Scheduler::RunTask+0xaa
1b 000001a8`4622fb20 00007ff8`32489cf8 sqldk!SOS_Scheduler::ProcessTasks+0x3cd
1c 000001a8`4622fc00 00007ff8`32489d90 sqldk!SchedulerManager::WorkerEntryPoint+0x2a1
1d 000001a8`4622fcd0 00007ff8`32489609 sqldk!SystemThread::RunWorker+0x8f
1e 000001a8`4622fd00 00007ff8`324898a8 sqldk!SystemThreadDispatcher::ProcessWorker+0x2c1
1f 000001a8`4622fda0 00007ff8`5c7113d2 sqldk!SchedulerManager::ThreadEntryPoint+0x1d8
20 000001a8`4622fe50 00007ff8`5d0a54e4 kernel32!BaseThreadInitThunk+0x22
21 000001a8`4622fe80 00000000`00000000 ntdll!RtlUserThreadStart+0x3
Thread owning the mutex
0:1906> kL
# Child-SP RetAddr Call Site
00 00000291`4dccc398 00007ff8`5a5f1118 ntdll!ZwWaitForSingleObject+0xa
01 00000291`4dccc3a0 00007ff8`324859cc KERNELBASE!WaitForSingleObjectEx+0x94
02 (Inline Function) --------`-------- sqldk!SystemThread::SignalAndWait+0x10fa2
03 00000291`4dccc440 00007ff8`32485973 sqldk!SOS_Scheduler::Switch+0x1f1
04 00000291`4dccc730 00007ff8`2bab15e7 sqldk!ThreadScheduler::SwitchNonPreemptive+0xeb
05 (Inline Function) --------`-------- sqllang!AutoSwitchPreemptive::{dtor}+0x23
06 00000291`4dccc7a0 00007ff8`2bc27dfa sqllang!SOS_Task::AutoSwitchPreemptive::~AutoSwitchPreemptive+0x53
07 00000291`4dccc7e0 00007ff8`2c81d7eb sqllang!CSECCryptoContext::Init+0x361
08 (Inline Function) --------`-------- sqllang!CSECCryptoContext::Init+0x1b
09 00000291`4dccc8a0 00007ff8`2c7cb5a4 sqllang!CSECSessionCryptoContext::GetCryptoContext+0x12b
0a 00000291`4dccc960 00007ff8`2c6f9b90 sqllang!SetAppRole+0x5e5
0b 00000291`4dccd460 00007ff8`2b9f83da sqllang!CStmtSetUser::XretExecute+0x1c1
0c (Inline Function) --------`-------- sqllang!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0xf
0d 00000291`4dccd610 00007ff8`2b9f7e43 sqllang!CMsqlExecContext::ExecuteStmts<1,1>+0x40d
0e 00000291`4dccd750 00007ff8`2b9f74b4 sqllang!CMsqlExecContext::FExecute+0xa9e
0f 00000291`4dccda80 00007ff8`2c6e1cfd sqllang!CSQLSource::Execute+0x981
10 00000291`4dccdc20 00007ff8`2c6e1701 sqllang!CStmtExecProc::XretLocalExec+0x26e
11 00000291`4dccdca0 00007ff8`2c6de488 sqllang!CStmtExecProc::XretExecExecute+0x481
12 00000291`4dcce450 00007ff8`2b9f83da sqllang!CXStmtExecProc::XretExecute+0x38
13 (Inline Function) --------`-------- sqllang!CExecStmtLoopVars::ExecuteXStmtAndSetXretReturn+0xf
14 00000291`4dcce490 00007ff8`2b9f7e43 sqllang!CMsqlExecContext::ExecuteStmts<1,1>+0x40d
15 00000291`4dcce5d0 00007ff8`2b9f74b4 sqllang!CMsqlExecContext::FExecute+0xa9e
16 00000291`4dcce900 00007ff8`2ba0092b sqllang!CSQLSource::Execute+0x981
17 00000291`4dcceaa0 00007ff8`2b9f4be2 sqllang!process_request+0xe61
18 00000291`4dccf070 00007ff8`2b9f4743 sqllang!process_commands_internal+0x2df
19 00000291`4dccf0f0 00007ff8`3247508d sqllang!process_messages+0x253
1a 00000291`4dccf300 00007ff8`324757e5 sqldk!SOS_Task::Param::Execute+0x231
1b 00000291`4dccf900 00007ff8`3247543d sqldk!SOS_Scheduler::RunTask+0xaa
1c 00000291`4dccf970 00007ff8`32489cf8 sqldk!SOS_Scheduler::ProcessTasks+0x3cd
1d 00000291`4dccfa50 00007ff8`32489d90 sqldk!SchedulerManager::WorkerEntryPoint+0x2a1
1e 00000291`4dccfb20 00007ff8`32489609 sqldk!SystemThread::RunWorker+0x8f
1f 00000291`4dccfb50 00007ff8`324898a8 sqldk!SystemThreadDispatcher::ProcessWorker+0x2c1
20 00000291`4dccfbf0 00007ff8`5c7113d2 sqldk!SchedulerManager::ThreadEntryPoint+0x1d8
21 00000291`4dccfca0 00007ff8`5d0a54e4 kernel32!BaseThreadInitThunk+0x22
22 00000291`4dccfcd0 00000000`00000000 ntdll!RtlUserThreadStart+0x34
Following trace flags are enabled. -T 4616
-T 9912
-T 6527
-T 9495
-T 2467
-T 8076

参考

了解 Microsoft 用于描述软件更新的术语

KE: v-fmeng
Author:
Writer: v-thomr
Tech Reviewer: stevengo; jackr; leewoods; v-fmeng; sqlprev; daleche
Editor: v-tiburd

需要更多帮助?

扩展你的技能
了解培训
抢先获得新功能
加入 Microsoft 内部人员

此信息是否有帮助?

你对翻译质量的满意程度如何?

哪些因素影响了你的体验?

是否还有其他反馈?(可选)

谢谢您的反馈意见!

×