背景
客戶凌晨把HIS資料庫遷移到設定更高的新伺服器,上午業務高峰時應用非常緩慢。
SQL專家雲深度體檢裡有相應的診斷,SQL Server線上的CPU核數40小於檢測到的CPU核數128,說明SQL Server只使用了40個核心。
沒有SQL專家雲,可以使用下面的語句查詢。--CPU總數
SELECT
cpu_count
FROM
sys.dm_os_sys_info
--線上CPU數
SELECT
COUNT(*)
FROM
sys.dm_os_schedulers
WHERE
is_online = 1
AND status = 'VISIBLE ONLINE'
從SQL Server 2012開始,企業版有兩種許可證模式,基於核心和基於伺服器+CAL。基於伺服器+CAL許可證限制SQL Server最多能使用20個物理處理器,如果超執行緒已啟用,這將是40個邏輯處理器。
確認資料庫的版本為SQL server 2012 Enterprise Edition,也就是伺服器+CAL許可證模式。
重啟SQL Server服務後,在SQL專家雲中確認已經是基於核心的許可證模式了,並且能用使用到128個核心。
如下圖,在為虛擬機器器分配CPU時,設定了16個插槽,每個插槽核心數為1,這樣SQL Server標準版只能使用到4個CPU。應該合理的設定,例如2和8或者4和4。