最新文章专题视频专题问答1问答10问答100问答1000问答2000关键字专题1关键字专题50关键字专题500关键字专题1500TAG最新视频文章推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37视频文章20视频文章30视频文章40视频文章50视频文章60 视频文章70视频文章80视频文章90视频文章100视频文章120视频文章140 视频2关键字专题关键字专题tag2tag3文章专题文章专题2文章索引1文章索引2文章索引3文章索引4文章索引5123456789101112131415文章专题3
当前位置: 首页 - 科技 - 知识百科 - 正文

SQLSERVER:PREEMPTIVE

来源:动视网 责编:小采 时间:2020-11-09 07:25:52
文档

SQLSERVER:PREEMPTIVE

SQLSERVER:PREEMPTIVE:SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑 翻译自: http://troubleshootingsql.com/2011/07/20/preemptive_os_getprocaddress-are-you-confusing-me/ PREEMPTIVE_OS_GETPROCADDRESS 等待
推荐度:
导读SQLSERVER:PREEMPTIVE:SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑 翻译自: http://troubleshootingsql.com/2011/07/20/preemptive_os_getprocaddress-are-you-confusing-me/ PREEMPTIVE_OS_GETPROCADDRESS 等待


SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑 翻译自: http://troubleshootingsql.com/2011/07/20/preemptive_os_getprocaddress-are-you-confusing-me/ PREEMPTIVE_OS_GETPROCADDRESS 等待类型在SQLSERVER2008里是一个新的等待类型 这个等待类

SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑

翻译自:http://troubleshootingsql.com/2011/07/20/preemptive_os_getprocaddress-are-you-confusing-me/

PREEMPTIVE_OS_GETPROCADDRESS等待类型在SQLSERVER2008里是一个新的等待类型

这个等待类型的作用是当GetProcAddress跟踪SQLSERVER实例调用扩展存储过程的时候加载DLL的入口点所花费的时间

然而,这个等待类型跟踪这个等待时间的方式有一些问题,这个问题在Rob Dorr的博客里有所记载

根据Twitter上面一个帖子的讨论,我发现了可以证明这个问题的一个例子

我使用下面的命令去列出我的C盘下面的子目录:

1 exec master..xp_dirtree 'C:\'

然后,我使用下面的TSQL脚本去监视系统中执行这个扩展存储过程的那个会话的等待信息,这个TSQL脚本每隔一秒执行一次

 1 SET NOCOUNT ON
 2 WHILE (1=1)
 3 BEGIN
 4 SELECT [session_id], [status], [command], [start_time], [cpu_time], [reads], [writes], [wait_resource], [wait_time], [last_wait_type], [wait_type]
 5 FROM sys.dm_exec_requests
 6 WHERE [session_id] = 53 -- Session ID that is executing the Extended Stored Procedure
 7 
 8 WAITFOR DELAY '00:00:01'
 9 RAISERROR ('', 10, 1, N'Waits');
10 
11 END

按CTRL+T然后执行上面的SQL脚本,把结果粘贴出来

正如你在上面看到的,等待时间不断递增

我们能够看到会话为了输出下面的结果正在努力工作:

1、在SSMS里,执行这个扩展存储过程的那个会话的结果窗口输出执行结果

2、使用procmon这个工具跟踪SQLSERVER进程对于C盘的文件系统的活动

您能够使用SQLSERVER2008或者SQLSERVER2008R2,执行任何扩展存储过程来重现这个问题

当我知道会话正在工作的时候,有两样东西我会检查一下是否存在资源瓶颈:1、内存 2、I/O

如果一些文件系统的活动跟一些正在工作的扩展存储过程有关。我见过的大部分问题都是因为这个等待类型引起的

#sqlhelp,Extended Stored Procedures,PREEMPTIVE_OS_GETPROCADDRESS

如有不对的地方,欢迎大家拍砖o(∩_∩)o

文档

SQLSERVER:PREEMPTIVE

SQLSERVER:PREEMPTIVE:SQLSERVER:PREEMPTIVE_OS_GETPROCADDRESS等待类型的困惑 翻译自: http://troubleshootingsql.com/2011/07/20/preemptive_os_getprocaddress-are-you-confusing-me/ PREEMPTIVE_OS_GETPROCADDRESS 等待
推荐度:
  • 热门焦点

最新推荐

猜你喜欢

热门推荐

专题
Top