0

I have SQL server licensed to 16 cores only i have 48 core CPU.

Is there any way to know that SQL is reaching or utilizing its peak 16 cores limit all time? any way to find it out? as i am having performance issues and not able to find out that if its only SQL Server reaching its all cores limit after which it goes into timeouts and wait state for running queries?

When i tested from new reilc, and zabbix, it shows SQL transactions are being blocked, and lot of time is being spent.

0

2 Answers 2

1

Try these queries and see if this gives you what you are looking for -

--Following query will confirm how many CPUs SQL Server is using

select scheduler_id,cpu_id, status, is_online from sys.dm_os_schedulers where status='VISIBLE ONLINE'

--Following query lists how many CPUs a particular instance of SQL Server can see

select cpu_count from sys.dm_os_sys_info

2
  • but i want to know if SQL is utilizing (not active or disabled) but utilizing how many cores.
    – Farhan
    Commented Dec 13, 2022 at 8:36
  • SELECT cpu_count FROM [sys].[dm_os_sys_info] Commented Dec 13, 2022 at 11:43
1

CPU restrict based on the chosen SQL Server license plan. The SQL Server offers a ‘Per Core’ licensing plan, which allows for a flexible license for an unlimited amount of users hosted in both Physical as Virtual environments (VMWare, Microsoft Hyper-V, and many more).

The max compute capacity in a standard license plan restricts the number of Cores and Sockets: Lesser than 4 sockets or 16 cores (version 2012, 2014) and Lesser of 4 sockets or 24 cores (for version 2017).

To verify how many CPU’s your SQL Database Server can see, type the following SQL Query:

select cpu_count from sys.dm_os_sys_info

To check how many CPU’s SQL Database Server is able to use, run the following SQL Query:

select scheduler_id,cpu_id, status, is_online from sys.dm_os_schedulers

Thanks :)

Not the answer you're looking for? Browse other questions tagged or ask your own question.