เบšเบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš MS SQL Server. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก

เบ„เปเบฒเบญเบฐเบ—เบดเบ–เบฒเบ™

เป€เบฅเบทเป‰เบญเบเป†, เบœเบนเป‰เปƒเบŠเป‰, เบœเบนเป‰เบžเบฑเบ”เบ—เบฐเบ™เบฒเปเบฅเบฐเบœเบนเป‰เบšเปเบฅเบดเบซเบฒเบ™เบ‚เบญเบ‡ MS SQL Server DBMS เบ›เบฐเป€เบŠเบตเบ™เบเบฑเบšเบšเบฑเบ™เบซเบฒเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบซเบผเบท DBMS เป‚เบ”เบเบฅเบงเบก, เบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก MS SQL Server เปเบกเปˆเบ™เบกเบตเบ„เบงเบฒเบกเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบซเบผเบฒเบ.
เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เป€เบ›เบฑเบ™เบเบฒเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบ‚เบญเบ‡เบšเบปเบ”เบ„เบงเบฒเบก เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Zabbix เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ MS SQL Server เปเบฅเบฐเบกเบฑเบ™เบˆเบฐเบเบงเบ”เบชเบญเบšเบšเบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš MS SQL Server, เป‚เบ”เบเบชเบฐเป€เบžเบฒเบฐ: เบงเบดเบ—เบตเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบขเปˆเบฒเบ‡เป„เบงเบงเบฒเบงเปˆเบฒเบŠเบฑเบšเบžเบฐเบเบฒเบเบญเบ™เปƒเบ”เบ—เบตเปˆเบ‚เบฒเบ”เบซเบฒเบเป„เบ›, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก.
เป€เบžเบทเปˆเบญเปƒเบซเป‰เบชเบฐเบ„เบดเบšเบ•เปเปˆเป„เบ›เบ™เบตเป‰เป€เบฎเบฑเบ”เบงเบฝเบ, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบชเป‰เบฒเบ‡ inf schema เปƒเบ™เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบ•เป‰เบญเบ‡เบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:
เบเบฒเบ™เบชเป‰เบฒเบ‡ schema inf

use <ะธะผั_ะ‘ะ”>;
go
create schema inf;

เบงเบดเบ—เบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เบ‚เบฒเบ” RAM

เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ—เปเบฒเบญเบดเบ”เบ‚เบญเบ‡เบเบฒเบ™เบ‚เบฒเบ” RAM เปเบกเปˆเบ™เป€เบกเบทเปˆเบญเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡ MS SQL Server เบเบดเบ™ RAM เบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบกเบฑเบ™.
เป€เบžเบทเปˆเบญเป€เบฎเบฑเบ”เบชเบดเปˆเบ‡เบ™เบตเป‰, เบชเป‰เบฒเบ‡เบ•เบปเบงเปเบ—เบ™เบ•เปเปˆเป„เบ›เบ™เบตเป‰ inf.vRAM:
เบเบฒเบ™เบชเป‰เบฒเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡ inf.vRAM

CREATE view [inf].[vRAM] as
select a.[TotalAvailOSRam_Mb]						--ัะบะพะปัŒะบะพ ัะฒะพะฑะพะดะฝะพ ะžะ—ะฃ ะฝะฐ ัะตั€ะฒะตั€ะต ะฒ ะœะ‘
		 , a.[RAM_Avail_Percent]					--ะฟั€ะพั†ะตะฝั‚ ัะฒะพะฑะพะดะฝะพะณะพ ะžะ—ะฃ ะฝะฐ ัะตั€ะฒะตั€ะต
		 , a.[Server_physical_memory_Mb]				--ัะบะพะปัŒะบะพ ะฒัะตะณะพ ะžะ—ะฃ ะฝะฐ ัะตั€ะฒะตั€ะต ะฒ ะœะ‘
		 , a.[SQL_server_committed_target_Mb]			--ัะบะพะปัŒะบะพ ะฒัะตะณะพ ะžะ—ะฃ ะฒั‹ะดะตะปะตะฝะพ ะฟะพะด MS SQL Server ะฒ ะœะ‘
		 , a.[SQL_server_physical_memory_in_use_Mb] 		--ัะบะพะปัŒะบะพ ะฒัะตะณะพ ะžะ—ะฃ ะฟะพั‚ั€ะตะฑะปัะตั‚ MS SQL Server ะฒ ะดะฐะฝะฝั‹ะน ะผะพะผะตะฝั‚ ะฒั€ะตะผะตะฝะธ ะฒ ะœะ‘
		 , a.[SQL_RAM_Avail_Percent]				--ะฟะพั†ะตะฝั‚ ัะฒะพะฑะพะดะฝะพะณะพ ะžะ—ะฃ ะดะปั MS SQL Server ะพั‚ะฝะพัะธั‚ะตะปัŒะฝะพ ะฒัะตะณะพ ะฒั‹ะดะตะปะตะฝะฝะพะณะพ ะžะ—ะฃ ะดะปั MS SQL Server
		 , a.[StateMemorySQL]						--ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะปะธ ะžะ—ะฃ ะดะปั MS SQL Server
		 , a.[SQL_RAM_Reserve_Percent]				--ะฟั€ะพั†ะตะฝั‚ ะฒั‹ะดะตะปะตะฝะฝะพะน ะžะ—ะฃ ะดะปั MS SQL Server ะพั‚ะฝะพัะธั‚ะตะปัŒะฝะพ ะฒัะตะณะพ ะžะ—ะฃ ัะตั€ะฒะตั€ะฐ
		 --ะดะพัั‚ะฐั‚ะพั‡ะฝะพ ะปะธ ะžะ—ะฃ ะดะปั ัะตั€ะฒะตั€ะฐ
		, (case when a.[RAM_Avail_Percent]<10 and a.[RAM_Avail_Percent]>5 and a.[TotalAvailOSRam_Mb]<8192 then 'Warning' when a.[RAM_Avail_Percent]<=5 and a.[TotalAvailOSRam_Mb]<2048 then 'Danger' else 'Normal' end) as [StateMemoryServer]
	from
	(
		select cast(a0.available_physical_memory_kb/1024.0 as int) as TotalAvailOSRam_Mb
			 , cast((a0.available_physical_memory_kb/casT(a0.total_physical_memory_kb as float))*100 as numeric(5,2)) as [RAM_Avail_Percent]
			 , a0.system_low_memory_signal_state
			 , ceiling(b.physical_memory_kb/1024.0) as [Server_physical_memory_Mb]
			 , ceiling(b.committed_target_kb/1024.0) as [SQL_server_committed_target_Mb]
			 , ceiling(a.physical_memory_in_use_kb/1024.0) as [SQL_server_physical_memory_in_use_Mb]
			 , cast(((b.committed_target_kb-a.physical_memory_in_use_kb)/casT(b.committed_target_kb as float))*100 as numeric(5,2)) as [SQL_RAM_Avail_Percent]
			 , cast((b.committed_target_kb/casT(a0.total_physical_memory_kb as float))*100 as numeric(5,2)) as [SQL_RAM_Reserve_Percent]
			 , (case when (ceiling(b.committed_target_kb/1024.0)-1024)<ceiling(a.physical_memory_in_use_kb/1024.0) then 'Warning' else 'Normal' end) as [StateMemorySQL]
		from sys.dm_os_sys_memory as a0
		cross join sys.dm_os_process_memory as a
		cross join sys.dm_os_sys_info as b
		cross join sys.dm_os_sys_memory as v
	) as a;

เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบงเปˆเบฒเบ•เบปเบงเบขเปˆเบฒเบ‡เบ‚เบญเบ‡ MS SQL Server เบเปเบฒเบฅเบฑเบ‡เปƒเบŠเป‰เบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเบ—เบฑเบ‡เบซเบกเบปเบ”เบ—เบตเปˆเบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เบเบฑเบšเบกเบฑเบ™เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบ–เบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

select  SQL_server_physical_memory_in_use_Mb,  SQL_server_committed_target_Mb
from [inf].[vRAM];

เบ–เป‰เบฒเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ” SQL_server_physical_memory_in_use_Mb เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡เบšเปเปˆเบซเบ™เป‰เบญเบเบเบงเปˆเบฒ SQL_server_committed_target_Mb, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบเบงเบ”เป€เบšเบดเปˆเบ‡เบชเบฐเบ–เบดเบ•เบดเบเบฒเบ™เบฅเปเบ–เป‰เบฒ.
เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบฒเบ” RAM เบœเปˆเบฒเบ™เบชเบฐเบ–เบดเบ•เบดเบเบฒเบ™เบฅเปเบ–เป‰เบฒ, เปƒเบซเป‰เบชเป‰เบฒเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡ inf.vWaits:
เบเบฒเบ™เบชเป‰เบฒเบ‡เบกเบธเบกเป€เบšเบดเปˆเบ‡ inf.vWaits

CREATE view [inf].[vWaits] as
WITH [Waits] AS
    (SELECT
        [wait_type], --ะธะผั ั‚ะธะฟะฐ ะพะถะธะดะฐะฝะธั
        [wait_time_ms] / 1000.0 AS [WaitS],--ะžะฑั‰ะตะต ะฒั€ะตะผั ะพะถะธะดะฐะฝะธั ะดะฐะฝะฝะพะณะพ ั‚ะธะฟะฐ ะฒ ะผะธะปะปะธัะตะบัƒะฝะดะฐั…. ะญั‚ะพ ะฒั€ะตะผั ะฒะบะปัŽั‡ะฐะตั‚ signal_wait_time_ms
        ([wait_time_ms] - [signal_wait_time_ms]) / 1000.0 AS [ResourceS],--ะžะฑั‰ะตะต ะฒั€ะตะผั ะพะถะธะดะฐะฝะธั ะดะฐะฝะฝะพะณะพ ั‚ะธะฟะฐ ะฒ ะผะธะปะปะธัะตะบัƒะฝะดะฐั… ะฑะตะท signal_wait_time_ms
        [signal_wait_time_ms] / 1000.0 AS [SignalS],--ะ ะฐะทะฝะธั†ะฐ ะผะตะถะดัƒ ะฒั€ะตะผะตะฝะตะผ ัะธะณะฝะฐะปะธะทะฐั†ะธะธ ะพะถะธะดะฐัŽั‰ะตะณะพ ะฟะพั‚ะพะบะฐ ะธ ะฒั€ะตะผะตะฝะตะผ ะฝะฐั‡ะฐะปะฐ ะตะณะพ ะฒั‹ะฟะพะปะฝะตะฝะธั
        [waiting_tasks_count] AS [WaitCount],--ะงะธัะปะพ ะพะถะธะดะฐะฝะธะน ะดะฐะฝะฝะพะณะพ ั‚ะธะฟะฐ. ะญั‚ะพั‚ ัั‡ะตั‚ั‡ะธะบ ะฝะฐั€ะฐั‰ะธะฒะฐะตั‚ัั ะบะฐะถะดั‹ะน ั€ะฐะท ะฟั€ะธ ะฝะฐั‡ะฐะปะต ะพะถะธะดะฐะฝะธั
        100.0 * [wait_time_ms] / SUM ([wait_time_ms]) OVER() AS [Percentage],
        ROW_NUMBER() OVER(ORDER BY [wait_time_ms] DESC) AS [RowNum]
    FROM sys.dm_os_wait_stats
    WHERE [waiting_tasks_count]>0
		and [wait_type] NOT IN (
        N'BROKER_EVENTHANDLER',         N'BROKER_RECEIVE_WAITFOR',
        N'BROKER_TASK_STOP',            N'BROKER_TO_FLUSH',
        N'BROKER_TRANSMITTER',          N'CHECKPOINT_QUEUE',
        N'CHKPT',                       N'CLR_AUTO_EVENT',
        N'CLR_MANUAL_EVENT',            N'CLR_SEMAPHORE',
        N'DBMIRROR_DBM_EVENT',          N'DBMIRROR_EVENTS_QUEUE',
        N'DBMIRROR_WORKER_QUEUE',       N'DBMIRRORING_CMD',
        N'DIRTY_PAGE_POLL',             N'DISPATCHER_QUEUE_SEMAPHORE',
        N'EXECSYNC',                    N'FSAGENT',
        N'FT_IFTS_SCHEDULER_IDLE_WAIT', N'FT_IFTSHC_MUTEX',
        N'HADR_CLUSAPI_CALL',           N'HADR_FILESTREAM_IOMGR_IOCOMPLETION',
        N'HADR_LOGCAPTURE_WAIT',        N'HADR_NOTIFICATION_DEQUEUE',
        N'HADR_TIMER_TASK',             N'HADR_WORK_QUEUE',
        N'KSOURCE_WAKEUP',              N'LAZYWRITER_SLEEP',
        N'LOGMGR_QUEUE',                N'ONDEMAND_TASK_QUEUE',
        N'PWAIT_ALL_COMPONENTS_INITIALIZED',
        N'QDS_PERSIST_TASK_MAIN_LOOP_SLEEP',
        N'QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP',
        N'REQUEST_FOR_DEADLOCK_SEARCH', N'RESOURCE_QUEUE',
        N'SERVER_IDLE_CHECK',           N'SLEEP_BPOOL_FLUSH',
        N'SLEEP_DBSTARTUP',             N'SLEEP_DCOMSTARTUP',
        N'SLEEP_MASTERDBREADY',         N'SLEEP_MASTERMDREADY',
        N'SLEEP_MASTERUPGRADED',        N'SLEEP_MSDBSTARTUP',
        N'SLEEP_SYSTEMTASK',            N'SLEEP_TASK',
        N'SLEEP_TEMPDBSTARTUP',         N'SNI_HTTP_ACCEPT',
        N'SP_SERVER_DIAGNOSTICS_SLEEP', N'SQLTRACE_BUFFER_FLUSH',
        N'SQLTRACE_INCREMENTAL_FLUSH_SLEEP',
        N'SQLTRACE_WAIT_ENTRIES',       N'WAIT_FOR_RESULTS',
        N'WAITFOR',                     N'WAITFOR_TASKSHUTDOWN',
        N'WAIT_XTP_HOST_WAIT',          N'WAIT_XTP_OFFLINE_CKPT_NEW_LOG',
        N'WAIT_XTP_CKPT_CLOSE',         N'XE_DISPATCHER_JOIN',
        N'XE_DISPATCHER_WAIT',          N'XE_TIMER_EVENT')
    )
, ress as (
	SELECT
	    [W1].[wait_type] AS [WaitType],
	    CAST ([W1].[WaitS] AS DECIMAL (16, 2)) AS [Wait_S],--ะžะฑั‰ะตะต ะฒั€ะตะผั ะพะถะธะดะฐะฝะธั ะดะฐะฝะฝะพะณะพ ั‚ะธะฟะฐ ะฒ ะผะธะปะปะธัะตะบัƒะฝะดะฐั…. ะญั‚ะพ ะฒั€ะตะผั ะฒะบะปัŽั‡ะฐะตั‚ signal_wait_time_ms
	    CAST ([W1].[ResourceS] AS DECIMAL (16, 2)) AS [Resource_S],--ะžะฑั‰ะตะต ะฒั€ะตะผั ะพะถะธะดะฐะฝะธั ะดะฐะฝะฝะพะณะพ ั‚ะธะฟะฐ ะฒ ะผะธะปะปะธัะตะบัƒะฝะดะฐั… ะฑะตะท signal_wait_time_ms
	    CAST ([W1].[SignalS] AS DECIMAL (16, 2)) AS [Signal_S],--ะ ะฐะทะฝะธั†ะฐ ะผะตะถะดัƒ ะฒั€ะตะผะตะฝะตะผ ัะธะณะฝะฐะปะธะทะฐั†ะธะธ ะพะถะธะดะฐัŽั‰ะตะณะพ ะฟะพั‚ะพะบะฐ ะธ ะฒั€ะตะผะตะฝะตะผ ะฝะฐั‡ะฐะปะฐ ะตะณะพ ะฒั‹ะฟะพะปะฝะตะฝะธั
	    [W1].[WaitCount] AS [WaitCount],--ะงะธัะปะพ ะพะถะธะดะฐะฝะธะน ะดะฐะฝะฝะพะณะพ ั‚ะธะฟะฐ. ะญั‚ะพั‚ ัั‡ะตั‚ั‡ะธะบ ะฝะฐั€ะฐั‰ะธะฒะฐะตั‚ัั ะบะฐะถะดั‹ะน ั€ะฐะท ะฟั€ะธ ะฝะฐั‡ะฐะปะต ะพะถะธะดะฐะฝะธั
	    CAST ([W1].[Percentage] AS DECIMAL (5, 2)) AS [Percentage],
	    CAST (([W1].[WaitS] / [W1].[WaitCount]) AS DECIMAL (16, 4)) AS [AvgWait_S],
	    CAST (([W1].[ResourceS] / [W1].[WaitCount]) AS DECIMAL (16, 4)) AS [AvgRes_S],
	    CAST (([W1].[SignalS] / [W1].[WaitCount]) AS DECIMAL (16, 4)) AS [AvgSig_S]
	FROM [Waits] AS [W1]
	INNER JOIN [Waits] AS [W2]
	    ON [W2].[RowNum] <= [W1].[RowNum]
	GROUP BY [W1].[RowNum], [W1].[wait_type], [W1].[WaitS],
	    [W1].[ResourceS], [W1].[SignalS], [W1].[WaitCount], [W1].[Percentage]
	HAVING SUM ([W2].[Percentage]) - [W1].[Percentage] < 95 -- percentage threshold
)
SELECT [WaitType]
      ,MAX([Wait_S]) as [Wait_S]
      ,MAX([Resource_S]) as [Resource_S]
      ,MAX([Signal_S]) as [Signal_S]
      ,MAX([WaitCount]) as [WaitCount]
      ,MAX([Percentage]) as [Percentage]
      ,MAX([AvgWait_S]) as [AvgWait_S]
      ,MAX([AvgRes_S]) as [AvgRes_S]
      ,MAX([AvgSig_S]) as [AvgSig_S]
  FROM ress
  group by [WaitType];

เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบฒเบ” RAM เป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบ–เบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

SELECT [Percentage]
      ,[AvgWait_S]
  FROM [inf].[vWaits]
  where [WaitType] in (
    'PAGEIOLATCH_XX',
    'RESOURCE_SEMAPHORE',
    'RESOURCE_SEMAPHORE_QUERY_COMPILE'
  );

เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบญเบฑเบ”เบ•เบฒเบชเปˆเบงเบ™เปเบฅเบฐ AvgWait_S. เบ–เป‰เบฒเบžเบงเบเป€เบ‚เบปเบฒเบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบฑเบ‡เบซเบกเบปเบ”เบ‚เบญเบ‡เบžเบงเบเป€เบ‚เบปเบฒ, เบกเบฑเบ™เบเปเปˆเบกเบตเบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเบนเบ‡เบ—เบตเปˆเบ•เบปเบงเบขเปˆเบฒเบ‡ MS SQL Server เบšเปเปˆเบกเบต RAM เบžเบฝเบ‡เบžเป. เบ„เปˆเบฒเบ—เบตเปˆเบชเปเบฒเบ„เบฑเบ™เปเบกเปˆเบ™เบ–เบทเบเบเปเบฒเบ™เบปเบ”เป€เบ›เบฑเบ™เบชเปˆเบงเบ™เบšเบธเบเบ„เบปเบ™เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบฅเบฐเบšเบปเบš. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบ”เป‰เบงเบเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ•เปเปˆเป„เบ›เบ™เบตเป‰: เป€เบ›เบตเป€เบŠเบฑเบ™>=1 เปเบฅเบฐ AvgWait_S>=0.005.
เป€เบžเบทเปˆเบญเบชเบปเปˆเบ‡เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เปƒเบซเป‰เบเบฑเบšเบฅเบฐเบšเบปเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก (เบ•เบปเบงเบขเปˆเบฒเบ‡, Zabbix), เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบชเบญเบ‡เบ„เปเบฒเบ–เบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  1. เป€เบ›เบตเป€เบŠเบฑเบ™เบ‚เบญเบ‡เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบฅเปเบ–เป‰เบฒเบชเปเบฒเบฅเบฑเบš RAM เปเบกเปˆเบ™เป€เบ—เบปเปˆเบฒเปƒเบ” (เบฅเบงเบกเบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบเบฒเบ™เบฅเปเบ–เป‰เบฒเบ—เบฑเบ‡เบซเบกเบปเบ”):
    select coalesce(sum([Percentage]), 0.00) as [Percentage]
    from [inf].[vWaits]
           where [WaitType] in (
               'PAGEIOLATCH_XX',
               'RESOURCE_SEMAPHORE',
                'RESOURCE_SEMAPHORE_QUERY_COMPILE'
      );
    
  2. เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบฅเปเบ–เป‰เบฒ RAM เป€เบ—เบปเปˆเบฒเปƒเบ”เปƒเบŠเป‰เป€เบงเบฅเบฒเป€เบ›เบฑเบ™ milliseconds (เบ„เปˆเบฒเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบเบฒเบ™เบŠเบฑเบเบŠเป‰เบฒเบชเบฐเป€เบฅเปˆเบเบ—เบฑเบ‡เบซเบกเบปเบ”เบชเปเบฒเบฅเบฑเบšเบ›เบฐเป€เบžเบ”เบเบฒเบ™เบฅเปเบ–เป‰เบฒเบ”เบฑเปˆเบ‡เบเปˆเบฒเบงเบ—เบฑเบ‡เบซเบกเบปเบ”):
    select coalesce(max([AvgWait_S])*1000, 0.00) as [AvgWait_MS]
    from [inf].[vWaits]
           where [WaitType] in (
               'PAGEIOLATCH_XX',
               'RESOURCE_SEMAPHORE',
                'RESOURCE_SEMAPHORE_QUERY_COMPILE'
      );
    

เบญเบตเบ‡เบ•เบฒเบกเบ™เบฐเป‚เบเบšเบฒเบเบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบ„เปˆเบฒเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบชเปเบฒเบฅเบฑเบšเบ—เบฑเบ‡เบชเบญเบ‡เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบฐเบซเบผเบธเบšเป„เบ”เป‰เบงเปˆเบฒเบกเบต RAM เบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡ MS SQL Server.

เบงเบดเบ—เบตเบเบฒเบ™เบเบงเบ”เบชเบญเบšเบเบฒเบ™เป‚เบซเบผเบ” CPU เบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›

เป€เบžเบทเปˆเบญเบฅเบฐเบšเบธเบเบฒเบ™เบ‚เบฒเบ”เป€เบงเบฅเบฒเบ‚เบญเบ‡ CPU, เบžเบฝเบ‡เปเบ•เปˆเปƒเบŠเป‰เบกเบธเบกเบกเบญเบ‡เบฅเบฐเบšเบปเบš sys.dm_os_schedulers. เบ™เบตเป‰, เบ–เป‰เบฒเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ” runnable_tasks_count เปเบกเปˆเบ™เบชเบนเบ‡เบเบงเปˆเบฒ 1 เบขเปˆเบฒเบ‡เบ•เปเปˆเป€เบ™เบทเปˆเบญเบ‡, เบ„เบงเบฒเบกเป€เบ›เบฑเบ™เป„เบ›เป„เบ”เป‰เบชเบนเบ‡เบ—เบตเปˆเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡เปเบเบ™เบšเปเปˆเบžเบฝเบ‡เบžเปเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡ MS SQL Server.
เป€เบžเบทเปˆเบญเบชเบฐเปเบ”เบ‡เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เปƒเบ™เบฅเบฐเบšเบปเบšเบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบก (เบ•เบปเบงเบขเปˆเบฒเบ‡, Zabbix), เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบชเป‰เบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ•เปเปˆเป„เบ›เบ™เบตเป‰:

select max([runnable_tasks_count]) as [runnable_tasks_count]
from sys.dm_os_schedulers
where scheduler_id<255;

เบญเบตเบ‡เบ•เบฒเบกเบ™เบฐเป‚เบเบšเบฒเบเบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบ„เปˆเบฒเบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ”เบ™เบตเป‰, เบžเบงเบเป€เบฎเบปเบฒเบชเบฒเบกเบฒเบ”เบชเบฐเบซเบผเบธเบšเป„เบ”เป‰เบงเปˆเบฒเบกเบตเป€เบงเบฅเบฒเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบตเบžเบฝเบ‡เบžเป (เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ CPU cores) เบชเปเบฒเบฅเบฑเบš MS SQL Server เบ•เบปเบงเบขเปˆเบฒเบ‡.
เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบกเบฑเบ™เป€เบ›เบฑเบ™เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบˆเบทเปˆเบˆเปเบฒเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบ„เปเบฒเบ–เบฒเบกเบ”เป‰เบงเบเบ•เบปเบ™เป€เบญเบ‡เบชเบฒเบกเบฒเบ”เบชเบญเบšเบ–เบฒเบกเบซเบผเบฒเบเบซเบปเบงเบ‚เปเป‰เปƒเบ™เป€เบงเบฅเบฒเบ”เบฝเบงเบเบฑเบ™. เปเบฅเบฐเบšเบฒเบ‡เบ„เบฑเป‰เบ‡ optimizer เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ›เบฐเป€เบกเบตเบ™เบ„เบงเบฒเบกเบชเบฑเบšเบชเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป„เบ”เป‰เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡. เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™, เบเบฒเบ™เบฎเป‰เบญเบ‡เบ‚เปเบญเบฒเบ”เบˆเบฐเบ–เบทเบเบˆเบฑเบ”เบชเบฑเบ™เบซเบผเบฒเบเบซเบปเบงเบ‚เปเป‰เป€เบเบตเบ™เป„เบ›, เป€เบŠเบดเปˆเบ‡เปƒเบ™เป€เบงเบฅเบฒเปƒเบ”เบซเบ™เบถเปˆเบ‡เบšเปเปˆเบชเบฒเบกเบฒเบ”เบ”เปเบฒเป€เบ™เบตเบ™เบเบฒเบ™เบžเป‰เบญเบกเบเบฑเบ™เป„เบ”เป‰. เปเบฅเบฐเบ™เบตเป‰เบเบฑเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เป€เบเบตเบ”เบ›เบฐเป€เบžเบ”เบ‚เบญเบ‡เบเบฒเบ™เบฅเปเบ–เป‰เบฒเบ—เบตเปˆเบเปˆเบฝเบงเบ‚เป‰เบญเบ‡เบเบฑเบšเบเบฒเบ™เบ‚เบฒเบ”เป€เบงเบฅเบฒเบ‚เบญเบ‡เป‚เบ›เป€เบŠเบ”เป€เบŠเบต, เปเบฅเบฐเบเบฒเบ™เบ‚เบฐเบซเบเบฒเบเบ•เบปเบงเบ‚เบญเบ‡เปเบ–เบงเบชเปเบฒเบฅเบฑเบšเบœเบนเป‰เบเปเบฒเบ™เบปเบ”เป€เบงเบฅเบฒเบ—เบตเปˆเปƒเบŠเป‰ CPU cores เบชเบฐเป€เบžเบฒเบฐ, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ•เบปเบงเบŠเบตเป‰เบงเบฑเบ” runnable_tasks_count เบˆเบฐเป€เบžเบตเปˆเบกเบ‚เบถเป‰เบ™เปƒเบ™เป€เบ‡เบทเปˆเบญเบ™เป„เบ‚เบ”เบฑเปˆเบ‡เบเปˆเบฒเบง.
เปƒเบ™เบเปเบฅเบฐเบ™เบตเบ™เบตเป‰, เบเปˆเบญเบ™เบ—เบตเปˆเบˆเบฐเป€เบžเบตเปˆเบกเบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ CPU cores, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡ configure เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡ MS SQL Server เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡, เปเบฅเบฐเบˆเบฒเบเบชเบฐเบšเบฑเบš 2016, เบขเปˆเบฒเบ‡เบ–เบทเบเบ•เป‰เบญเบ‡ configure เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™เบ‚เบญเบ‡เบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เป„เบงเป‰:
เบšเบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš MS SQL Server. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก

เบšเบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš MS SQL Server. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก
เบ—เบตเปˆเบ™เบตเป‰เบ—เปˆเบฒเบ™เบ„เบงเบ™เป€เบญเบปเบฒเปƒเบˆเปƒเบชเปˆเบเบฑเบšเบ•เบปเบงเบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ”เบฑเปˆเบ‡เบ•เปเปˆเป„เบ›เบ™เบตเป‰:

  1. Max Degree of Parallelism - เบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบปเบงเบ‚เปเป‰เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เบเบฑเบšเปเบ•เปˆเบฅเบฐเบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เป (เบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เปเบกเปˆเบ™ 0 - เบˆเปเบฒเบเบฑเบ”เบžเบฝเบ‡เปเบ•เปˆเป‚เบ”เบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เปเบฅเบฐเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ MS SQL Server)
  2. เบ„เปˆเบฒโ€‹เปƒเบŠเป‰โ€‹เบˆเปˆเบฒเบโ€‹เบชเปเบฒโ€‹เบฅเบฑเบšโ€‹เบเบฒเบ™โ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ™ - เบเบฒเบ™โ€‹เบ„เบฒเบ”โ€‹เบ„เบฐโ€‹เป€เบ™โ€‹เบ„เปˆเบฒโ€‹เปƒเบŠเป‰โ€‹เบˆเปˆเบฒเบโ€‹เบ‚เบญเบ‡โ€‹เบ‚เบฐโ€‹เบซเบ™เบฒเบ™ (เบ„เปˆเบฒโ€‹เป€เบฅเบตเปˆเบกโ€‹เบ•เบปเป‰เบ™โ€‹เปเบกเปˆเบ™ 5โ€‹)
  3. Max DOP - เบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบซเบปเบงเบ‚เปเป‰เบชเบนเบ‡เบชเบธเบ”เบ—เบตเปˆเบชเบฒเบกเบฒเบ”เบˆเบฑเบ”เบชเบฑเบ™เปƒเบซเป‰เบเบฑเบšเปเบ•เปˆเบฅเบฐเปเบšเบšเบชเบญเบšเบ–เบฒเบกเปƒเบ™เบฅเบฐเบ”เบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ (เปเบ•เปˆเบšเปเปˆเป€เบเบตเบ™เบกเบนเบ™เบ„เปˆเบฒเบ‚เบญเบ‡เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” "เบฅเบฐเบ”เบฑเบšเบ„เบงเบฒเบกเบ‚เบฐเบซเบ™เบฒเบ™เบชเบนเบ‡เบชเบธเบ”") (เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบกเบฑเบ™เปเบกเปˆเบ™ 0 - เบˆเปเบฒเบเบฑเบ”เป‚เบ”เบเบฅเบฐเบšเบปเบšเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เป€เบ—เบปเปˆเบฒเบ™เบฑเป‰เบ™. เบ•เบปเบงเบ‚เบญเบ‡เบกเบฑเบ™เป€เบญเบ‡เปเบฅเบฐเบชเบฐเบšเบฑเบšเบ‚เบญเบ‡ MS SQL Server, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบ‚เปเป‰เบˆเปเบฒเบเบฑเบ”เบเปˆเบฝเบงเบเบฑเบšเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ” "เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ™" เบ‚เบญเบ‡ MS SQL Server เบ—เบฑเบ‡เบซเบกเบปเบ”เบ•เบปเบงเบขเปˆเบฒเบ‡)

เบกเบฑเบ™เป€เบ›เบฑเบ™เป„เบ›เบšเปเปˆเป„เบ”เป‰เบ—เบตเปˆเบˆเบฐเปƒเบซเป‰เบชเบนเบ”เบ—เบตเปˆเบ”เบตเป€เบ—เบปเปˆเบฒเบ—เบฝเบกเบเบฑเบ™เบชเปเบฒเบฅเบฑเบšเบ—เบธเบเป†เบเปเบฅเบฐเบ™เบต, เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เบงเบดเป€เบ„เบฒเบฐเบ„เปเบฒเบ–เบฒเบกเบ—เบตเปˆเบซเบเบธเป‰เบ‡เบเบฒเบ.
เบญเบตเบ‡เบ•เบฒเบกเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบญเบ‡, เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒ algorithm เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš OLTP เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™:

  1. เบ—เปเบฒเบญเบดเบ”เบ›เบดเบ”เบเบฒเบ™เบ‚เบฐเบซเบ™เบฒเบ™เป‚เบ”เบเบเบฒเบ™เบเปเบฒเบ™เบปเบ”เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ™เป€เบ›เบฑเบ™ 1 เปƒเบ™เบฅเบฐเบ”เบฑเบšเบ‚เบญเบ‡เบ•เบปเบงเบขเปˆเบฒเบ‡เบ—เบฑเบ‡เบซเบกเบปเบ”.
  2. เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเปœเบฑเบเบ—เบตเปˆเบชเบธเบ” เปเบฅเบฐเป€เบฅเบทเบญเบเบˆเบณเบ™เบงเบ™เบซเบปเบงเบ‚เปเป‰เบ—เบตเปˆเป€เปเบฒเบฐเบชเบปเบกเบชเบณเบฅเบฑเบšเบžเบงเบเบกเบฑเบ™
  3. เบเปเบฒเบ™เบปเบ”เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ™เป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเป€เบฅเบทเบญเบเบ‚เบญเบ‡เบเบฐเบ—เบนเป‰เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 2, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐเบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒ Max DOP เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 2 เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.
  4. เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบซเบ™เบฑเบเบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบฅเบปเบšเบ‚เบญเบ‡ multithreading. เบ–เป‰เบฒเบกเบฑเบ™เป€เบ›เบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เป€เบžเบตเปˆเบกเบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบชเปเบฒเบฅเบฑเบšเบ‚เบฐเบซเบ™เบฒเบ™.
    เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเป€เบŠเบฑเปˆเบ™ 1C, Microsoft CRM เปเบฅเบฐ Microsoft NAV, เปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, เบเบฒเบ™เบซเป‰เบฒเบก multithreading เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบก

เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบ–เป‰เบฒเบ—เปˆเบฒเบ™เบกเบตเบชเบฐเบšเบฑเบšเบกเบฒเบ”เบ•เบฐเบ–เบฒเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบ™เบเปเบฅเบฐเบ™เบตเบซเบผเบฒเบเบ—เบตเปˆเบชเบธเบ”, เบเบฒเบ™เบซเป‰เบฒเบกเบซเบผเบฒเบ threading เปเบกเปˆเบ™เป€เบซเบกเบฒเบฐเบชเบปเบกเป€เบ™เบทเปˆเบญเบ‡เบˆเบฒเบเบ„เบงเบฒเบกเบˆเบดเบ‡เบ—เบตเปˆเบงเปˆเบฒเบชเบฐเบšเบฑเบšเบ™เบตเป‰เปเบกเปˆเบ™เบˆเปเบฒเบเบฑเบ”เปƒเบ™เบˆเปเบฒเบ™เบงเบ™เบ‚เบญเบ‡ CPU cores.
เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ—เบตเปˆเบญเบฐเบ—เบดเบšเบฒเบเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡เบ™เบตเป‰เบšเปเปˆเป€เบซเบกเบฒเบฐเบชเบปเบกเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš OLAP.
เบญเบตเบ‡เปƒเบชเปˆเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ‚เป‰เบญเบเป€เบญเบ‡, เบ‚เป‰เบญเบเบ‚เปเปเบ™เบฐเบ™เปเบฒ algorithm เบ•เปเปˆเป„เบ›เบ™เบตเป‰เบ‚เบญเบ‡เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš OLAP เป€เบžเบทเปˆเบญเบเปเบฒเบ™เบปเบ”เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ‚เบฐเบซเบ™เบฒเบ™:

  1. เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเปœเบฑเบเบ—เบตเปˆเบชเบธเบ” เปเบฅเบฐเป€เบฅเบทเบญเบเบˆเบณเบ™เบงเบ™เบซเบปเบงเบ‚เปเป‰เบ—เบตเปˆเป€เปเบฒเบฐเบชเบปเบกเบชเบณเบฅเบฑเบšเบžเบงเบเบกเบฑเบ™
  2. เบเปเบฒเบ™เบปเบ”เบฅเบฐเบ”เบฑเบšเบชเบนเบ‡เบชเบธเบ”เบ‚เบญเบ‡เบ‚เบฐเบซเบ™เบฒเบ™เป€เบ›เบฑเบ™เบˆเปเบฒเบ™เบงเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบตเปˆเป€เบฅเบทเบญเบเบ‚เบญเบ‡เบเบฐเบ—เบนเป‰เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 1, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐเบเปเบฒเบ™เบปเบ”เบ„เปˆเบฒ Max DOP เบ—เบตเปˆเป„เบ”เป‰เบฎเบฑเบšเบˆเบฒเบเบ‚เบฑเป‰เบ™เบ•เบญเบ™เบ—เบต 1 เบชเปเบฒเบฅเบฑเบšเปเบ•เปˆเบฅเบฐเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™.
  3. เบงเบดเป€เบ„เบฒเบฐเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบซเบ™เบฑเบเบซเบ™เปˆเบงเบ‡เบ—เบตเปˆเบชเบธเบ”เปเบฅเบฐเบเปเบฒเบ™เบปเบ”เบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบฅเบปเบšเบ‚เบญเบ‡เบเบฒเบ™เบˆเปเบฒเบเบฑเบ”เบ„เบงเบฒเบกเบชเบญเบ”เบ„เปˆเบญเบ‡. เบ–เป‰เบฒเบกเบฑเบ™เป€เบ›เบฑเบ™, เบซเบผเบฑเบ‡เบˆเบฒเบเบ™เบฑเป‰เบ™เปƒเบซเป‰เบซเบผเบธเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ„เปˆเบฒเปƒเบŠเป‰เบˆเปˆเบฒเบเบชเปเบฒเบฅเบฑเบšเบ„เปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ™, เบซเบผเบทเป€เบฎเบฑเบ”เบŠเป‰เปเบฒเบ‚เบฑเป‰เบ™เบ•เบญเบ™ 1-2 เบ‚เบญเบ‡เบชเบนเบ”เบเบฒเบ™เบ„เบดเบ”เป„เบฅเปˆเบ™เบตเป‰.

เบ™เบฑเป‰เบ™เปเบกเปˆเบ™, เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš OLTP เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบˆเบฒเบเบเบฐเบ—เบนเป‰เบ”เบฝเบงเป„เบ›เบซเบฒเบซเบผเบฒเบเบเบฐเบ—เบนเป‰, เปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบš OLAP, เปƒเบ™เบ—เบฒเบ‡เบเบปเบ‡เบเบฑเบ™เบ‚เป‰เบฒเบก, เบžเบงเบเป€เบฎเบปเบฒเป„เบ›เบˆเบฒเบเบซเบผเบฒเบเบเบฐเบ—เบนเป‰เป„เบ›เบซเบฒเบเบฐเบ—เบนเป‰เบ”เบฝเบง. เบงเบดเบ—เบตเบ™เบตเป‰เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบฅเบทเบญเบเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ‚เบฐเบซเบ™เบฒเบ™เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”เบ—เบฑเบ‡เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™เบชเบฐเป€เบžเบฒเบฐเปเบฅเบฐเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบขเปˆเบฒเบ‡ MS SQL Server เบ—เบฑเบ‡เบซเบกเบปเบ”.
เบกเบฑเบ™เบเบฑเบ‡เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเป€เบ‚เบปเป‰เบฒเปƒเบˆเบงเปˆเบฒเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ„เปˆเบฒเบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบ—เบตเปˆเบชเบญเบ”เบ„เปˆเบญเบ‡เบเบฑเบ™เบ•เป‰เบญเบ‡เบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เป„เบฅเบเบฐเป€เบงเบฅเบฒ, เบญเบตเบ‡เบ•เบฒเบกเบœเบปเบ™เบ‚เบญเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ‚เบญเบ‡ MS SQL Server.

เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก

เบˆเบฒเบเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เบ•เบปเบ™เป€เบญเบ‡เปเบฅเบฐเบ›เบฐเบชเบปเบšเบเบฒเบ™เบ‚เบญเบ‡เป€เบžเบทเปˆเบญเบ™เบฎเปˆเบงเบกเบ‡เบฒเบ™, เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบ—เบตเปˆเบ”เบตเบ—เบตเปˆเบชเบธเบ”, เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เบ•เบฑเป‰เบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบกเบ•เปเปˆเป„เบ›เบ™เบตเป‰เปƒเบ™เบฅเบฐเบ”เบฑเบšเบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ MS SQL Server เบชเปเบฒเบฅเบฑเบšเบฎเบธเปˆเบ™ 2008-2016:

  1. 610 - เบซเบผเบธเบ”เบœเปˆเบญเบ™เบเบฒเบ™เบ•เบฑเบ”เป„เบกเป‰เบ‚เบญเบ‡ inserts เป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ”เบฑเบ”เบชเบฐเบ™เบต. เบชเบฒเบกเบฒเบ”เบŠเปˆเบงเบเปƒเบ™เบเบฒเบ™เปเบŠเบเป€เบ‚เบปเป‰เบฒเป„เบ›เปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ—เบตเปˆเบกเบตเบˆเปเบฒเบ™เบงเบ™เบซเบฅเบฒเบเบ‚เบญเบ‡เบšเบฑเบ™เบ—เบถเบเปเบฅเบฐเบเบฒเบ™เป€เบฎเบฑเบ”เบ—เบธเบฅเบฐเบเปเบฒเบซเบผเบฒเบ, เป‚เบ”เบเบกเบต WRITELOG เป€เบฅเบทเป‰เบญเบเป†เบฅเปเบ–เป‰เบฒเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เปƒเบ™เบ”เบฑเบ”เบชเบฐเบ™เบต.
  2. 1117 - เบ–เป‰เบฒเป„เบŸเบฅเปŒเปƒเบ™เบเบธเปˆเบกเป„เบŸเบฅเปŒเบเบปเบ‡เบเบฑเบšเป€เบเบ™เบเบฒเบ™เป€เบ•เบตเบšเป‚เบ•เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”, เป„เบŸเบฅเปŒเบ—เบฑเบ‡เปเบปเบ”เปƒเบ™เบเบธเปˆเบกเป„เบŸเบฅเปŒเบˆเบฐเบ–เบทเบเบ‚เบฐเบซเบเบฒเบ.
  3. 1118 - เบšเบฑเบ‡เบ„เบฑเบšเปƒเบซเป‰เบงเบฑเบ”เบ–เบธเบ—เบฑเบ‡เปเบปเบ”เบ•เบฑเป‰เบ‡เบขเบนเปˆเปƒเบ™เบ‚เบญเบšเป€เบ‚เบ”เบ•เปˆเบฒเบ‡เบเบฑเบ™ (เบšเปเปˆเบญเบฐเบ™เบธเบเบฒเบ”เบ‚เบญเบšเป€เบ‚เบ”เบ›เบฐเบชเบปเบก), เป€เบŠเบดเปˆเบ‡เบซเบผเบธเบ”เบœเปˆเบญเบ™เบ„เบงเบฒเบกเบˆเปเบฒเป€เบ›เบฑเบ™เปƒเบ™เบเบฒเบ™เบชเบฐเปเบเบ™เบซเบ™เป‰เบฒ SGAM, เป€เบŠเบดเปˆเบ‡เบ–เบทเบเบ™เปเบฒเปƒเบŠเป‰เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบ‚เบญเบšเป€เบ‚เบ”เบ›เบฐเบชเบปเบก.
  4. 1224 - เบ›เบดเบ”โ€‹เบเบฒเบ™โ€‹เปƒเบŠเป‰โ€‹เบ‡เบฒเบ™โ€‹เบเบฒเบ™ lock escalation เป‚เบ”เบโ€‹เบญเบตเบ‡โ€‹เปƒเบชเปˆโ€‹เบเบฒเบ™โ€‹เบ™เบฑเบšโ€‹lockโ€‹. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเปˆเบ•เบฒเบก, เบเบฒเบ™เปƒเบŠเป‰เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบซเบผเบฒเบเป€เบเบตเบ™เป„เบ›เบชเบฒเบกเบฒเบ”เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบžเบตเปˆเบกเบเบฒเบ™เบฅเบฑเบญเบเป„เบ”เป‰
  5. 2371 - เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ‚เบญเบšเป€เบ‚เบ”เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบ–เบดเบ•เบดเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ„เบปเบ‡เบ—เบตเปˆเป€เบ›เบฑเบ™เบ‚เบญเบšเป€เบ‚เบ”เบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบชเบฐเบ–เบดเบ•เบดเบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เปเบšเบšเป€เบ„เบทเปˆเบญเบ™เป„เบซเบง. เบชเบดเปˆเบ‡เบชเปเบฒเบ„เบฑเบ™เบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เปเบœเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเปƒเบ™เบ•เบฒเบ•เบฐเบฅเบฒเบ‡เบ‚เบฐเบซเบ™เบฒเบ”เปƒเบซเบเปˆเบ—เบตเปˆเบเปเบฒเบ™เบปเบ”เบˆเปเบฒเบ™เบงเบ™เบšเบฑเบ™เบ—เบถเบเบ—เบตเปˆเบšเปเปˆเบ–เบทเบเบ•เป‰เบญเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เปเบœเบ™เบเบฒเบ™เบ›เบฐเบ•เบดเบšเบฑเบ”เบœเบดเบ”เบžเบฒเบ”.
  6. 3226 - เบชเบฐเบเบฑเบ”เบเบฑเป‰เบ™เบ‚เปเป‰เบ„เบงเบฒเบกเบชเปเบฒเป€เบฅเบฑเบ”เบเบฒเบ™เบชเปเบฒเบฎเบญเบ‡เบ‚เปเป‰เบกเบนเบ™เปƒเบ™เบšเบฑเบ™เบ—เบถเบเบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”
  7. 4199 - เบฅเบงเบกเบกเบตเบเบฒเบ™เบ›เปˆเบฝเบ™เปเบ›เบ‡เบ•เปเปˆเบเบฑเบšเบ•เบปเบงเป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเปเบšเบšเบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบ›เปˆเบญเบเบญเบญเบเบกเบฒเปƒเบ™ SQL Server rollups เปเบฅเบฐเบŠเบธเบ”เบšเปเบฅเบดเบเบฒเบ™.
  8. 6532-6534 - เบฅเบงเบกเบกเบตเบเบฒเบ™เบ›เบฑเบšเบ›เบธเบ‡เบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบกเบตเบ›เบฐเป€เบžเบ”เบ‚เปเป‰เบกเบนเบ™เบ—เบฒเบ‡เบเบงเป‰เบฒเบ‡เบ‚เบญเบ‡เบžเบทเป‰เบ™
  9. 8048 - เปเบ›เบ‡เบงเบฑเบ”เบ–เบธเปœเปˆเบงเบเบ„เบงเบฒเบกเบˆเบณเบ—เบตเปˆเปเบšเปˆเบ‡เบชเปˆเบงเบ™ NUMA เป„เบ›เป€เบ›เบฑเบ™เบญเบฑเบ™เบ—เบตเปˆเบˆเบฑเบ”เปเบšเปˆเบ‡ CPU
  10. 8780 - เป€เบ›เบตเบ”เปƒเบŠเป‰เบเบฒเบ™เบˆเบฑเบ”เบชเบฑเบ™เป€เบงเบฅเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบงเบฒเบ‡เปเบœเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก. เบšเบฒเบ‡เบ„เปเบฒเบฎเป‰เบญเบ‡เบ‚เปเบ—เบตเปˆเบšเปเปˆเบกเบตเบ—เบธเบ‡เบ™เบตเป‰เบญเบฒเบ”เบˆเบฐเบ–เบทเบเบ›เบฐเบ•เบดเป€เบชเบ”เป€เบžเบฒเบฐเบงเปˆเบฒเบžเบงเบเป€เบ‚เบปเบฒเบšเปเปˆเบกเบตเปเบœเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบก (เบ„เบงเบฒเบกเบœเบดเบ”เบžเบฒเบ”เบ—เบตเปˆเบซเบฒเบเบฒเบเบซเบผเบฒเบ)
  11. 8780 - 9389 - เป€เบ›เบตเบ”เปƒเบŠเป‰ buffer เบ„เบงเบฒเบกเบŠเบปเบ‡เบˆเปเบฒเบŠเบปเปˆเบงเบ„เบฒเบงเปเบšเบšเป„เบ”เบ™เบฒเบกเบดเบเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบชเปเบฒเบฅเบฑเบšเบ•เบปเบงเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™ batch mode, เบญเบฐเบ™เบธเบเบฒเบ”เปƒเบซเป‰เบœเบนเป‰เบ›เบฐเบเบญเบšเบเบฒเบ™ batch mode เบฎเป‰เบญเบ‡เบ‚เปเบ„เบงเบฒเบกเบˆเปเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบกเปเบฅเบฐเบซเบผเบตเบเป€เบงเบฑเป‰เบ™เบเบฒเบ™เป‚เบญเบ™เบ‚เปเป‰เบกเบนเบ™เป„เบ› tempdb เบ–เป‰เบฒเบกเบตเบซเบ™เปˆเบงเบเบ„เบงเบฒเบกเบˆเปเบฒเป€เบžเบตเปˆเบกเป€เบ•เบตเบก.

เบกเบฑเบ™เบเบฑเบ‡เป€เบ›เบฑเบ™เบ›เบฐเป‚เบซเบเบ”เบ—เบตเปˆเบˆเบฐเป€เบ›เบตเบ”เปƒเบŠเป‰ trace flag 2016 เบเปˆเบญเบ™เบฎเบธเปˆเบ™ 2301, เป€เบŠเบดเปˆเบ‡เป€เบฎเบฑเบ”เปƒเบซเป‰เบเบฒเบ™เป€เบžเบตเปˆเบกเบ›เบฐเบชเบดเบ”เบ—เบดเบžเบฒเบšเบเบฒเบ™เบชเบฐเบซเบ™เบฑเบšเบชเบฐเบซเบ™เบนเบ™เบเบฒเบ™เบ•เบฑเบ”เบชเบดเบ™เปƒเบˆเบ‚เบฑเป‰เบ™เบชเบนเบ‡เปเบฅเบฐเบ”เบฑเปˆเบ‡เบ™เบฑเป‰เบ™เบˆเบถเปˆเบ‡เบŠเปˆเบงเบเปƒเบ™เบเบฒเบ™เป€เบฅเบทเบญเบเปเบœเบ™เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเบ—เบตเปˆเบ”เบตเบเบงเปˆเบฒ. เบขเปˆเบฒเบ‡เปƒเบ”เบเปเบ•เบฒเบก, เบ™เบฑเบšเบ•เบฑเป‰เบ‡เปเบ•เปˆเบชเบฐเบšเบฑเบš 2016, เบกเบฑเบ™เบกเบฑเบเบˆเบฐเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบฅเบปเบšเบ•เปเปˆเป€เบงเบฅเบฒเบ›เบฐเบ•เบดเบšเบฑเบ”เบเบฒเบ™เบชเบญเบšเบ–เบฒเบกเป‚เบ”เบเบฅเบงเบกเบ‚เป‰เบญเบ™เบ‚เป‰เบฒเบ‡เบเบฒเบง.
เบ™เบญเบเบˆเบฒเบเบ™เบตเป‰, เบชเปเบฒเบฅเบฑเบšเบฅเบฐเบšเบปเบšเบ—เบตเปˆเบกเบตเบ”เบฑเบ”เบชเบฐเบ™เบตเบซเบผเบฒเบ (เบ•เบปเบงเบขเปˆเบฒเบ‡, เบชเปเบฒเบฅเบฑเบšเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ 1C), เบ‚เป‰เบฒเบžเบฐเป€เบˆเบปเป‰เบฒเปเบ™เบฐเบ™เปเบฒเปƒเบซเป‰เป€เบ›เบตเบ”เปƒเบŠเป‰ trace flag 2330, เป€เบŠเบดเปˆเบ‡เบ›เบดเบ”เบเบฒเบ™เป€เบเบฑเบšเบฅเบงเบšเบฅเบงเบกเบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰เบ”เบฑเบ”เบชเบฐเบ™เบต, เป€เบŠเบดเปˆเบ‡เป‚เบ”เบเบ—เบปเปˆเบงเป„เบ›เปเบฅเป‰เบงเบกเบตเบœเบปเบ™เบเบฐเบ—เบปเบšเบ—เบฒเบ‡เบšเบงเบเบ•เปเปˆเบฅเบฐเบšเบปเบš.
เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบฎเบฝเบ™เบฎเบนเป‰เป€เบžเบตเปˆเบกเป€เบ•เบตเบกเบเปˆเบฝเบงเบเบฑเบšเบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก เบ—เบตเปˆเบ™เบตเป‰
เบˆเบฒเบเบเบฒเบ™เป€เบŠเบทเปˆเบญเบกเบ•เปเปˆเบ‚เป‰เบฒเบ‡เป€เบ—เบดเบ‡, เบกเบฑเบ™เบเบฑเบ‡เบกเบตเบ„เบงเบฒเบกเบชเปเบฒเบ„เบฑเบ™เบ—เบตเปˆเบˆเบฐเบžเบดเบˆเบฒเบฅเบฐเบ™เบฒเบชเบฐเบšเบฑเบšเปเบฅเบฐเบเบฒเบ™เบเปเปˆเบชเป‰เบฒเบ‡เบ‚เบญเบ‡ MS SQL Server, เบชเปเบฒเบฅเบฑเบšเบฎเบธเปˆเบ™เปƒเบซเบกเปˆ, เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบกเบšเบฒเบ‡เบ–เบทเบเป€เบ›เบตเบ”เปƒเบŠเป‰เป‚เบ”เบเบ„เปˆเบฒเป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบซเบผเบทเบšเปเปˆเบกเบตเบœเบปเบ™.
เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป€เบ›เบตเบ”เปƒเบŠเป‰เบซเบผเบทเบ›เบดเบ”เบเบฒเบ™เบ—เปเบฒเบ‡เบฒเบ™เบ‚เบญเบ‡เบ—เบธเบ‡เบเบฒเบ™เบ•เบดเบ”เบ•เบฒเบกเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ DBCC TRACEON เปเบฅเบฐ DBCC TRACEOFF, เบ•เบฒเบกเบฅเปเบฒเบ”เบฑเบš. เป€เบšเบดเปˆเบ‡เบฅเบฒเบเบฅเบฐเบญเบฝเบ”เป€เบžเบตเปˆเบกเป€เบ•เบตเบก เบ—เบตเปˆเบ™เบตเป‰
เบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เป„เบ”เป‰เบฎเบฑเบšเบชเบฐเบ–เบฒเบ™เบฐเบžเบฒเบšเบ‚เบญเบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบกเป‚เบ”เบเปƒเบŠเป‰เบ„เปเบฒเบชเบฑเปˆเบ‡ DBCC TRACESTATUS: เบ‚เปเป‰เบกเบนเบ™เป€เบžเบตเปˆเบกเป€เบ•เบตเบก
เป€เบžเบทเปˆเบญเปƒเบซเป‰เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบกเบ–เบทเบเบฅเบงเบกเป€เบ‚เบปเป‰เบฒเปƒเบ™เบเบฒเบ™เป€เบฅเบตเปˆเบกเบ•เบปเป‰เบ™เบญเบฑเบ”เบ•เบฐเป‚เบ™เบกเบฑเบ”เบ‚เบญเบ‡เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™ MS SQL Server, เบ—เปˆเบฒเบ™เบˆเปเบฒเป€เบ›เบฑเบ™เบ•เป‰เบญเบ‡เป„เบ›เบ—เบตเปˆ SQL Server Configuration Manager เปเบฅเบฐเป€เบžเบตเปˆเบกเบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบกเป€เบซเบผเบปเปˆเบฒเบ™เบตเป‰เบœเปˆเบฒเบ™ -T เปƒเบ™เบ„เบธเบ™เบชเบปเบกเบšเบฑเบ”เบเบฒเบ™เบšเปเบฅเบดเบเบฒเบ™:
เบšเบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš MS SQL Server. เบ„เปเบฒเปเบ™เบฐเบ™เปเบฒเบชเปเบฒเบฅเบฑเบšเบเบฒเบ™เบ•เบฑเป‰เบ‡เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก

เบœเบปเบ™เป„เบ”เป‰เบฎเบฑเบš

เบšเบปเบ”เบ„เบงเบฒเบกเบ™เบตเป‰เป„เบ”เป‰เบเบงเบ”เป€เบšเบดเปˆเบ‡เบšเบฒเบ‡เบ”เป‰เบฒเบ™เบ‚เบญเบ‡เบเบฒเบ™เบเบงเบ”เบชเบญเบš MS SQL Server, เบ”เป‰เบงเบเบเบฒเบ™เบŠเปˆเบงเบเป€เบซเบผเบทเบญเบ—เบตเปˆเบ—เปˆเบฒเบ™เบชเบฒเบกเบฒเบ”เบเปเบฒเบ™เบปเบ”เบเบฒเบ™เบ‚เบฒเบ” RAM เปเบฅเบฐเป€เบงเบฅเบฒ CPU เบŸเบฃเบต, เป€เบŠเบฑเปˆเบ™เบ”เบฝเบงเบเบฑเบ™เบเบฑเบšเบšเบฑเบ™เบซเบฒเบญเบทเปˆเบ™เป†เบ—เบตเปˆเบšเปเปˆเบ„เปˆเบญเบเบŠเบฑเบ”เป€เบˆเบ™. เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบกเบ—เบตเปˆเปƒเบŠเป‰เบ—เบปเปˆเบงเป„เบ›เบ—เบตเปˆเบชเบธเบ”เป„เบ”เป‰เบ–เบทเบเบ—เบปเบšเบ—เบงเบ™เบ„เบทเบ™.

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™:

ยป SQL Server เบฅเปเบ–เป‰เบฒเบชเบฐเบ–เบดเบ•เบด
ยป SQL Server เบฅเปเบ–เป‰เบฒเบชเบฐเบ–เบดเบ•เบดเบซเบผเบทเบเบฐเบฅเบธเบ™เบฒเบšเบญเบเบ‚เป‰เบญเบเบšเปˆเบญเบ™เบ—เบตเปˆเบกเบฑเบ™เป€เบˆเบฑเบšเบ›เบงเบ”
ยป เบกเบธเบกเบกเบญเบ‡เบฅเบฐเบšเบปเบš sys.dm_os_schedulers
ยป เบเบฒเบ™เบ™เปเบฒเปƒเบŠเป‰ Zabbix เป€เบžเบทเปˆเบญเบ•เบดเบ”เบ•เบฒเบกเบเบงเบ”เบเบฒเบ–เบฒเบ™เบ‚เปเป‰เบกเบนเบ™ MS SQL Server
ยป SQL เบŠเบตเบงเบดเบ”
ยป เบ—เบธเบ‡เบ•เบดเบ”เบ•เบฒเบก
ยป sql.ru

เปเบซเบผเปˆเบ‡เบ‚เปเป‰เบกเบนเบ™: www.habr.com

เป€เบžเบตเปˆเบกเบ„เบงเบฒเบกเบ„เบดเบ”เป€เบซเบฑเบ™