Akụkụ ụfọdụ nke nlekota MS SQL Server. Ntuziaka maka ịtọ ọkọlọtọ trace

Okwu mmalite

Ọtụtụ mgbe, ọrụ, mmepe na nchịkwa nke MS SQL Server DBMS na-eche ihu na arụmọrụ nsogbu nke nchekwa data ma ọ bụ DBMS dị ka a dum, otú nlekota MS SQL Server bụ nnọọ mkpa.
Edemede a bụ mgbakwunye na akụkọ Iji Zabbix iji nyochaa ọdụ data SQL Server MS na ọ ga-enyocha akụkụ ụfọdụ nke nlekota MS SQL Server, karịsịa: otu esi achọpụta ngwa ngwa nke ihe onwunwe na-efu, yana ndụmọdụ maka ịtọ ọkọlọtọ.
Ka edemede ndị a rụọ ọrụ, ịkwesịrị ịmepụta atụmatụ inf na nchekwa data achọrọ dị ka ndị a:
Ịmepụta atụmatụ inf

use <имя_БД>;
go
create schema inf;

Usoro maka ịchọpụta enweghị RAM

Ihe ngosi izizi nke enweghị RAM bụ mgbe ihe atụ nke MS SQL Server na-eripịa RAM niile ekenyela ya.
Iji mee nke a, mepụta ihe nnọchianya inf.vRAM:
Ịmepụta nlele 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;

Mgbe ahụ ị nwere ike ikpebi na ihe atụ nke MS SQL Server na-eri ebe nchekwa niile ekenyere ya site na iji ajụjụ ndị a:

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

Ọ bụrụ na SQL_server_physical_memory_in_use_Mb egosi bụ mgbe niile ọ bụghị ihe na-erughị SQL_server_committed_target_Mb, mgbe ahụ i kwesịrị ịlele nọmba nchere.
Iji chọpụta enweghị RAM site na ọnụ ọgụgụ nchere, ka anyị mepụta echiche inf.vWaits:
Ịmepụta nlele 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];

N'okwu a, ịnwere ike ikpebi enweghị RAM site na iji ajụjụ ndị a:

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

Ebe a, ị ga-aṅa ntị na Pasent na AvgWait_S egosi. Ọ bụrụ na ha dị ịrịba ama na mkpokọta ha, mgbe ahụ enwere ike dị elu na ihe atụ MS SQL Server enweghị RAM zuru oke. A na-ekpebi ụkpụrụ ndị dị mkpa n'otu n'otu maka usoro ọ bụla. Otú ọ dị, ị nwere ike ịmalite site na ihe ngosi ndị a: Pasent >=1 na AvgWait_S>=0.005.
Iji wepụta ihe ngosi na sistemụ nleba anya (dịka ọmụmaatụ, Zabbix), ị nwere ike mepụta ajụjụ abụọ ndị a:

  1. Kedu pasent nke ụdị ichere maka RAM (nchikota maka ụdị ichere niile):
    select coalesce(sum([Percentage]), 0.00) as [Percentage]
    from [inf].[vWaits]
           where [WaitType] in (
               'PAGEIOLATCH_XX',
               'RESOURCE_SEMAPHORE',
                'RESOURCE_SEMAPHORE_QUERY_COMPILE'
      );
    
  2. ụdị echere RAM ole na-ewe na milliseconds (uru kacha nke oge igbu oge maka ụdị ichere niile):
    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'
      );
    

Dabere na ike nke ụkpụrụ enwetara maka ihe ngosi abụọ a, anyị nwere ike ikwubi ma enwere RAM zuru oke maka ihe atụ MS SQL Server.

Ụzọ maka ịchọpụta oke ibu CPU

Iji chọpụta enweghị oge CPU, jiri naanị nlele sistemụ sys.dm_os_schedulers. Ebe a, ma ọ bụrụ na runnable_tasks_count egosi bụ mgbe niile ukwuu karịa 1, mgbe ahụ, e nwere nnukwu ihe gbasara nke puru omume na ọnụ ọgụgụ nke cores ezughị maka MS SQL Server atụ.
Iji gosi ihe ngosi na sistemụ nleba anya (dịka ọmụmaatụ, Zabbix), ị nwere ike mepụta arịrịọ a:

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

Dabere na mgbanwe nke ụkpụrụ enwetara maka ihe ngosi a, anyị nwere ike kwubie ma enwere oge nhazi (ọnụọgụ CPU cores) maka ihe atụ MS SQL Server.
Otú ọ dị, ọ dị mkpa icheta eziokwu ahụ bụ na ajụjụ ndị ahụ n'onwe ha nwere ike ịjụ ọtụtụ eri n'otu oge. Ma mgbe ụfọdụ, njikarịcha enweghị ike ịkọ n'ụzọ ziri ezi mgbagwoju anya nke ajụjụ ahụ n'onwe ya. Mgbe ahụ, a ga-ekenye arịrịọ ahụ ọtụtụ eri, nke na-enweghị ike ịhazi ya n'otu oge. Na nke a na-ebutekwa ụdị nchere metụtara enweghị oge nhazi, yana uto nke kwụ n'ahịrị maka ndị na-ahazi nhazi nke na-eji ụdị CPU kpọmkwem, ya bụ, ihe ngosi runnable_tasks_count ga-abawanye na ọnọdụ ndị dị otú ahụ.
N'okwu a, tupu ịbawanye ọnụ ọgụgụ nke cores CPU, ịkwesịrị ịhazi n'ụzọ ziri ezi njirimara parallelism nke MS SQL Server n'onwe ya, yana site na ụdị 2016, hazie n'ụzọ ziri ezi njirimara parallelism nke ọdụ data achọrọ:
Akụkụ ụfọdụ nke nlekota MS SQL Server. Ntuziaka maka ịtọ ọkọlọtọ trace

Akụkụ ụfọdụ nke nlekota MS SQL Server. Ntuziaka maka ịtọ ọkọlọtọ trace
N'ebe a, ị kwesịrị ịṅa ntị na parampat ndị a:

  1. Degree Max nke Parallelism - na-esetịpụ ọnụ ọgụgụ kachasị nke eri nke enwere ike ịkenye na arịrịọ ọ bụla (ndabara bụ 0-nke naanị sistemụ arụmọrụ n'onwe ya na mbipụta MS SQL Server)
  2. Ọnụ ọnụ ọnụ maka ndakọrịta - ọnụ ahịa myirịta (nke ndabara bụ 5)
  3. Max DOP — na-esetịpụ ọnụ ọgụgụ kachasị nke eri nke enwere ike ịkenye na ajụjụ ọ bụla na ọkwa nchekwa data (mana ọ bụghị karịa uru nke ihe onwunwe “Max Degree of Parallelism”) (site na ndabara ọ bụ 0-naanị site na sistemụ arụmọrụ. onwe ya na mbipụta nke MS SQL Server, yana mmachi na "Max Degree of Parallelism" onwunwe nke dum MS SQL Server atụ)

Ọ gaghị ekwe omume ịnye usoro nhazi dị mma maka ikpe niile, ya bụ, ịkwesịrị nyochaa ajụjụ ndị siri ike.
Dabere na ahụmịhe nke m, ana m akwado algọridim nke omume maka sistemụ OLTP iji hazie njirimara myirịta:

  1. buru ụzọ gbanyụọ myirịta site na ịtọọ ogo ogo nke Parallelism na 1 n'ogo nke ihe atụ niile
  2. nyochaa ajuju kacha sie ike wee họrọ nọmba eri kacha mma maka ha
  3. tọọ ogo Max nke Parallelism na ọnụọgụ eri ahọpụtara nke enwetara site na nzọụkwụ 2, yana kwa maka ọdụ data akọwapụtara, tinye uru Max DOP enwetara site na nzọụkwụ 2 maka nchekwa data ọ bụla.
  4. nyochaa ajụjụ ndị kachasị njọ wee chọpụta mmetụta ọjọọ nke multithreading. Ọ bụrụ na ọ bụ, webawanye ọnụ ahịa ọnụ ahịa maka Parallelism.
    Maka sistemụ dị ka 1C, Microsoft CRM na Microsoft NAV, n'ọtụtụ oge machibido multithreading dabara adaba.

Ọzọkwa, ọ bụrụ na ị nwere mbipụta Standard, mgbe ahụ n'ọtụtụ ọnọdụ mmachibido iwu na multi-threading kwesịrị ekwesị n'ihi na mbipụta a dị oke na ọnụ ọgụgụ nke CPU cores.
Algọridim akọwara n'elu adabaghị maka sistemụ OLAP.
Dabere na ahụmịhe nke m, ana m akwado algọridim nke omume maka sistemụ OLAP iji hazie njirimara myirịta:

  1. nyochaa ajuju kacha sie ike wee họrọ nọmba eri kacha mma maka ha
  2. tọọ ogo Max nke Parallelism na ọnụọgụ eri ahọpụtara nke enwetara site na nzọụkwụ 1, yana kwa maka ọdụ data akọwapụtara, tinye uru Max DOP enwetara site na nzọụkwụ 1 maka nchekwa data ọ bụla.
  3. nyochaa ajụjụ kachasị njọ wee chọpụta mmetụta ọjọọ nke ịmachi concurrency. Ọ bụrụ na ọ bụ, yabụ wetulata ọnụ ahịa ọnụ ahịa maka uru Parallelism, ma ọ bụ megharịa usoro 1-2 nke algọridim a.

Nke ahụ bụ, maka usoro OLTP anyị na-esi na otu-threading gaa na multi-threading, na maka usoro OLAP, n'ụzọ megidere nke ahụ, anyị na-esi na multi-threading gaa na otu-threading. N'ụzọ dị otú a, ị nwere ike họrọ ezigbo myirịta ntọala ma maka otu nchekwa data na maka dum MS SQL Server atụ.
Ọ dịkwa mkpa ịghọta na ntọala akụrụngwa concurrency kwesịrị ịgbanwe ka oge na-aga, dabere na nsonaazụ nke nlekota oru nke MS SQL Server.

Ntụnye maka ịtọọ ọkọlọtọ akara

Site na ahụmịhe nke m na ahụmịhe nke ndị ọrụ ibe m, maka ịrụ ọrụ kacha mma, ana m akwado ịtọ ọkọlọtọ nchọta ndị a na ọkwa ọsọ ọrụ MS SQL Server maka ụdị 2008-2016:

  1. 610 - Belata ntinye ntinye n'ime tebụl ndị edepụtara aha. Nwere ike inye aka na ntinye n'ime tebụl nwere ọnụ ọgụgụ dị ukwuu nke ndekọ na ọtụtụ azụmahịa, yana ogologo ogologo oge WRITELOG na-echere mgbanwe na ndeksi.
  2. 1117 - Ọ bụrụ na faịlụ dị na otu faịlụ na-ezute ọnụ ụzọ-eto akpaaka, faịlụ niile dị na faịlụ faịlụ na-etolite.
  3. 1118 - Na-amanye ihe niile ka ọ dị n'akụkụ dị iche iche (na-egbochi oke agwakọta), nke na-ebelata mkpa iṅomi ibe SGAM, nke a na-eji na-achọpụta oke agwakọta.
  4. 1224 - Gbanyụọ mgbachi mkpọchi dabere na ọnụọgụ mkpọchi. Agbanyeghị, iji ebe nchekwa gabigara ókè nwere ike mee ka mgbachi gbalie elu
  5. 2371 - Gbanwee ọnụ ụzọ mmelite ọnụ ọgụgụ akpaka edobere ka ọ bụrụ ọnụ ụzọ mmelite ọnụ ọgụgụ akpaka siri ike. Ọ dị mkpa maka imelite atụmatụ ajụjụ na tebụl buru ibu ebe ịkọwapụta ọnụ ọgụgụ ndekọ na-ezighi ezi na-ebute atụmatụ mmezu na-ezighi ezi.
  6. 3226 - Na-egbochi ozi ịga nke ọma ndabere na ndekọ njehie
  7. 4199 - Gụnyere mgbanwe na njikarịcha ajụjụ ewepụtara na mpịakọta SQL Server na ngwugwu ọrụ.
  8. 6532-6534 - Gụnyere nkwalite arụmọrụ maka ajụjụ nwere ụdị data gbasara ohere
  9. 8048 - Na-atụgharị ihe ebe nchekwa NUMA kewara gaa na nke kewara CPU
  10. 8780 - Na-akwado ikenye oge ọzọ maka nhazi ajụjụ. Enwere ike ịjụ arịrịọ ụfọdụ na-enweghị ọkọlọtọ a n'ihi na ha enweghị atụmatụ ajụjụ (mmejọ a na-adịghị ahụkebe)
  11. 8780 - 9389 - Na-akwado mgbakwunye nchekwa nchekwa nwa oge siri ike maka ndị na-ahụ maka ọnọdụ batch, na-ahapụ onye na-ahụ maka ọnọdụ batch ịrịọ ebe nchekwa ọzọ ma zere ịnyefe data na tempdb ma ọ bụrụ na ebe nchekwa ọzọ dị.

Ọ dịkwa uru iji mee ka trace flag 2016 tupu mbipute 2301, nke na-enyere aka nkwado mkpebi dị elu ma si otú a na-enyere aka n'ịhọrọ atụmatụ ajụjụ ka mma. Agbanyeghị, kemgbe ụdị 2016, ọ na-enwekarị mmetụta na-adịghị mma na ogologo oge mmezu ajụjụ n'ozuzu ya.
Ọzọkwa, maka sistemụ nwere ọtụtụ ndeksi (dịka ọmụmaatụ, maka ọdụ data 1C), ana m akwado ịme ọkọlọtọ trace 2330, nke na-egbochi nchịkọta nke ojiji index, nke na-enwekarị mmetụta dị mma na sistemụ.
Ị nwere ike ịmụtakwu maka akara ọkọlọtọ ebe a
Site na njikọ dị n'elu, ọ dịkwa mkpa ịtụle nsụgharị na-ewuli nke MS SQL Server, dịka maka nsụgharị ọhụrụ, ụfọdụ ọkọlọtọ trace na-enyere aka na ndabara ma ọ bụ enweghị mmetụta.
Ị nwere ike mee ma ọ bụ gbanyụọ ọkọlọtọ trace site na iji iwu DBCC TRACEON na DBCC TRACEOFF, n'otu n'otu. Hụ nkọwa ndị ọzọ ebe a
Ị nwere ike nweta ọkwa nke ọkọlọtọ trace site na iji iwu DBCC TRACESTATUS: ihe omuma
Iji tinye ọkọlọtọ trace na autostart nke ọrụ MS SQL Server, ị ga-aga na SQL Server Configuration Manager ma tinye akara ọkọlọtọ ndị a site na -T na njirimara ọrụ:
Akụkụ ụfọdụ nke nlekota MS SQL Server. Ntuziaka maka ịtọ ọkọlọtọ trace

Nsonaazụ

Isiokwu a nyochara akụkụ ụfọdụ nke nlekota MS SQL Server, site n'enyemaka nke ị nwere ike ịchọpụta ngwa ngwa enweghị RAM na oge CPU n'efu, yana ọtụtụ nsogbu ndị ọzọ na-adịchaghị anya. A na-enyocha ọkọlọtọ akara ndị a na-ejikarị.

Isi mmalite:

» SQL Server Statistics chere
» Ọnụ ọgụgụ nchere SQL Server ma ọ bụ biko gwa m ebe ọ na-ewute ya
» Sistemu ele sys.dm_os_schedulers
» Iji Zabbix iji nyochaa ọdụ data SQL Server MS
» Ụdị ndụ SQL
» Chọpụta ọkọlọtọ
» sql.ru

isi: www.habr.com

Tinye a comment