<rp id="wnpn7"><ruby id="wnpn7"></ruby></rp>
<progress id="wnpn7"><track id="wnpn7"><rt id="wnpn7"></rt></track></progress>
<ruby id="wnpn7"></ruby>
<ruby id="wnpn7"><blockquote id="wnpn7"><div id="wnpn7"></div></blockquote></ruby>

    1. <em id="wnpn7"><ruby id="wnpn7"><input id="wnpn7"></input></ruby></em>
      1. <button id="wnpn7"><acronym id="wnpn7"></acronym></button><button id="wnpn7"><acronym id="wnpn7"></acronym></button>

        <rp id="wnpn7"><acronym id="wnpn7"></acronym></rp>

        <li id="wnpn7"><object id="wnpn7"><u id="wnpn7"></u></object></li>
        VB.net 2010 視頻教程 VB.net 2010 視頻教程 python基礎視頻教程
        SQL Server 2008 視頻教程 c#入門經典教程 Visual Basic從門到精通視頻教程
        當前位置:
        首頁 > 數據庫 > SQL教程 >
        • sql教程之SQL Server 2014下Database Mail Engine進程消耗大量CPU資源

        本站最新發布    SQL Server 2016數據庫視頻教程

        試聽地址   http://www.squ68.com/eschool/SQLxin3721/
        今天發現監控的一個SQL Server數據庫實例的CPU有些異常,如下所示,系統消耗的CPU(O/S CPU Utilization)和數據庫實例消耗的CPU(Instance CPU Utilization)有較大出入,登錄服務器檢查,發現Database Mail Engine進程消耗了20%作業的CPU資源。而且是持續消耗這么多CPU資源。
         
        clip_image001[12]
         
         
         
        clip_image002[12]
         
        首先我想的是數據庫是否有狂發郵件的情況呢? 因為之前遇到過相關案例,由于開發人員更新腳本引起的一個邏輯bug,導致短時間狂發郵件,從而引起這個Database Mail Engine 進程消耗大量的CPU資源,用下面腳本檢查。發現一小時內最多發大概200封郵件的樣子,所以排除了這個情況
         
        SELECT CONVERT(VARCHAR(13), send_request_date, 120)
              ,COUNT(*) 
        FROM msdb.dbo.sysmail_allitems WITH(NOLOCK)
        WHERE send_request_date >= CONVERT(DATETIME, '2020-01-27 00:00:00', 120)
          AND send_request_date <= CONVERT(DATETIME, '2020-03-14 00:00:00', 120)
        GROUP BY CONVERT(VARCHAR(13), send_request_date, 120)
        ORDER BY CONVERT(VARCHAR(13), send_request_date, 120);
         
        clip_image003[12]
         
         
        2: 檢查DatabaseMail的錯誤日志和系統錯誤日志沒有發現異常情況。
         
        3: Bug引起的。
         
            官方文檔有介紹,在SQL Server 2016中 database mail在發送大量郵件后,可能導致較高的CPU利用率。 但是這個數據庫實例是SQL Server 2014(12.0.5000.0),雖然官方文檔沒有找到SQL Server 2014下有這個Bug的相關資料,但是以微軟的尿性,基本上也很有可能就是這個Bug。由于缺少相關文檔,有可能當前版本還沒有發現這個Bug。所以可能根本沒有Fix掉這個Bug(我查了一下所有的補丁列表,完全沒有提及這個)。
         
            https://support.microsoft.com/en-nz/help/3197879/fix-sql-server-2016-database-mail-causes-high-cpu-usage-after-many-ema
         
            而且網上似乎也有一些網友碰到相同的案例。
         
        https://feedback.azure.com/forums/908035-sql-server/suggestions/33831496-sql-server-2014-database-mail-causes-high-cpu-usag
         
         
        解決方案
         
        如果是SQL Server 2016,打上補丁Cumulative Update 2 for SQL Server 2016 SP1后即可解決。但是SQLServer 2014下,需要通過重啟郵件服務臨時解決問題。
         
        EXEC msdb.dbo.sysmail_stop_sp
         
        EXEC msdb.dbo.sysmail_start_sp
        作者:瀟湘隱者

        相關教程
                
        免费看成年人视频大全_免费看成年人视频在线观看