ʻO kekahi mau hiʻohiʻona o ka nānā ʻana i ka MS SQL Server. Nā alakaʻi no ka hoʻonohonoho ʻana i nā hae

Kauwehe

ʻO ka manawa pinepine, nā mea hoʻohana, nā mea hoʻomohala a me nā luna o ka MS SQL Server DBMS e hālāwai me nā pilikia hana o ka waihona a i ʻole ka DBMS holoʻokoʻa, no laila pili pono ka nānā ʻana o MS SQL Server.
He mea hoʻohui kēia ʻatikala i ka ʻatikala Ke hoʻohana nei iā Zabbix e nānā i ka MS SQL Server Database a e uhi ia i kekahi mau hiʻohiʻona o ka nānā ʻana iā MS SQL Server, ʻo ia hoʻi: pehea e hoʻoholo wikiwiki ai i nā kumuwaiwai e nalowale ana, a me nā ʻōlelo paipai no ka hoʻonohonoho ʻana i nā hae.
No ka hana ʻana o kēia mau palapala, pono ʻoe e hana i kahi inf schema i loko o ka waihona i makemake ʻia e like me kēia:
Ke hana ʻana i kahi hoʻolālā inf

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

Ke ala e ʻike ai i ka nele o ka RAM

ʻO ka hōʻailona mua o ka nele o ka RAM ka hihia i ka wā e ʻai ai kahi hiʻohiʻona o MS SQL Server i ka RAM a pau i hāʻawi ʻia iā ia.
No ka hana ʻana i kēia, e hana mākou i ke ʻano o ka inf.vRAM:
Ke hana nei i ka ʻike 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;

A laila hiki iā ʻoe ke hoʻoholo i kahi manawa o MS SQL Server e hoʻopau i nā hoʻomanaʻo āpau i hāʻawi ʻia iā ia e ka nīnau penei:

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

Inā ʻoi aku ka nui o SQL_server_physical_memory_in_use_Mb ma mua a i ʻole like me SQL_server_committed_target_Mb, a laila pono e nānā ʻia nā helu kali.
No ka hoʻoholo ʻana i ka nele o ka RAM ma o nā helu kali, e hana mākou i ka ʻike inf.vWaits:
Ke hana nei i ka inf.vWaits View

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];

I kēia hihia, hiki iā ʻoe ke hoʻoholo i ka nele o ka RAM me kēia nīnau:

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

Maanei pono ʻoe e hoʻolohe i nā hōʻailona Pakeke a me AvgWait_S. Inā he mea koʻikoʻi lākou i ko lākou huina, a laila aia ke kūlana kiʻekiʻe loa ʻaʻole lawa ka RAM no ka laʻana MS SQL Server. Hoʻoholo ʻia nā waiwai koʻikoʻi no kēlā me kēia ʻōnaehana. Eia nō naʻe, hiki iā ʻoe ke hoʻomaka me kēia: Pakeneka>=1 a me AvgWait_S>=0.005.
No ka hoʻopuka ʻana i nā hōʻailona i kahi ʻōnaehana nānā (no ka laʻana, Zabbix), hiki iā ʻoe ke hana i kēia mau nīnau ʻelua:

  1. ehia mau ʻano kali e noho ʻia e RAM ma ka pākēneka (ka huina o ia mau ʻano kali):
    select coalesce(sum([Percentage]), 0.00) as [Percentage]
    from [inf].[vWaits]
           where [WaitType] in (
               'PAGEIOLATCH_XX',
               'RESOURCE_SEMAPHORE',
                'RESOURCE_SEMAPHORE_QUERY_COMPILE'
      );
    
  2. ʻehia ka nui o nā ʻano kali kali RAM i loko o nā milliseconds (ka waiwai kiʻekiʻe o nā lohi awelika no kēlā mau ʻano kali):
    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'
      );
    

Ma muli o ka dynamics o nā waiwai i loaʻa no kēia mau hōʻailona ʻelua, hiki iā mākou ke hoʻoholo inā lawa ka RAM no kahi laʻana o MS SQL Server.

ʻO ke ʻano o ka ʻike ʻana i ka CPU Overload

No ka hoʻomaopopo ʻana i ka nele o ka manawa kaʻina hana, ua lawa ka hoʻohana ʻana i ka ʻike ʻōnaehana sys.dm_os_schedulers. Ma ʻaneʻi, inā ʻoi aku ka nui o ka runnable_tasks_count ma mua o 1, a laila aia ke kūlana kiʻekiʻe ʻaʻole lawa ka helu o nā cores no ka laʻana MS SQL Server.
No ka hoʻopuka ʻana i kahi hōʻailona i kahi ʻōnaehana nānā (no ka laʻana, Zabbix), hiki iā ʻoe ke hana i kēia nīnau:

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

Ma muli o ka dynamics o nā waiwai i loaʻa no kēia hōʻailona, ​​hiki iā mākou ke hoʻoholo inā lawa ka manawa kaʻina hana (ka helu o nā cores CPU) no kahi laʻana o MS SQL Server.
Eia nō naʻe, he mea nui e hoʻomanaʻo i ka hiki i nā noi iā lākou iho ke noi i nā pae he nui i ka manawa hoʻokahi. A i kekahi manawa ʻaʻole hiki i ka optimizer ke koho pololei i ka paʻakikī o ka nīnau ponoʻī. A laila hiki ke hoʻokaʻawale ʻia ka noi i nā pae he nui ʻaʻole hiki ke hana ʻia i ka manawa like i ka manawa i hāʻawi ʻia. A ke kumu hoʻi kēia i kahi ʻano kali e pili ana i ka nele o ka manawa kaʻina hana, a me ka ulu ʻana o ka pila no nā mea hoʻonohonoho e hoʻohana ana i nā cores CPU kikoʻī, ʻo ia hoʻi, e ulu ka runnable_tasks_count indicator ma ia mau kūlana.
I kēia hihia, ma mua o ka hoʻonui ʻana i ka helu o nā cores CPU, pono e hoʻonohonoho pono i nā waiwai parallelism o ka MS SQL Server instance ponoʻī, a mai ka mana 2016, e hoʻonohonoho pono i nā waiwai parallelism o nā ʻikepili i koi ʻia:
ʻO kekahi mau hiʻohiʻona o ka nānā ʻana i ka MS SQL Server. Nā alakaʻi no ka hoʻonohonoho ʻana i nā hae

ʻO kekahi mau hiʻohiʻona o ka nānā ʻana i ka MS SQL Server. Nā alakaʻi no ka hoʻonohonoho ʻana i nā hae
Pono ʻoe e hoʻolohe i kēia mau ʻāpana:

  1. ʻO Max Degree of Parallelism - hoʻonohonoho i ka helu kiʻekiʻe o nā kaula i hiki ke hoʻokaʻawale ʻia i kēlā me kēia noi (ʻo 0 ka paʻamau - kaupalena wale ʻia e ka ʻōnaehana hana ponoʻī a me ka paʻi o MS SQL Server)
  2. Paepae Uku no ka Parallelism - ke kumu kūʻai i manaʻo ʻia no ka like like (ʻo 5 ka paʻamau)
  3. ʻO Max DOP - hoʻonohonoho i ka helu kiʻekiʻe o nā kaula i hiki ke hoʻokaʻawale ʻia i kēlā me kēia nīnau ma ka pae waihona (akā ʻaʻole i ʻoi aku ma mua o ka waiwai o ka waiwai "Max Degree of Parallelism") (ʻo 0 ka paʻamau - i kaupalena ʻia e ka ʻōnaehana hana ponoʻī a ka paʻi o MS SQL Server, a me ka palena o ka waiwai "Max Degree of Parallelism" o ka manawa holoʻokoʻa o MS SQL Server)

Maanei ʻaʻole hiki ke hāʻawi i kahi meaʻai like maikaʻi no nā hihia āpau, ʻo ia hoʻi, pono ʻoe e nānā i nā nīnau koʻikoʻi.
Mai koʻu ʻike ponoʻī, paipai wau i kēia algorithm o nā hana no nā ʻōnaehana OLTP no ka hoʻonohonoho ʻana i nā waiwai parallelism:

  1. Hoʻopau mua i ka parallelism ma ka hoʻonohonoho ʻana i ka Max Degree of Parallelism ākea ākea i 1
  2. hoʻokaʻawale i nā noi koʻikoʻi a koho i ka helu kūpono o nā loina no lākou
  3. E hoʻonoho i ka Max Degree of Parallelism i ka helu kūpono loa o nā milo i loaʻa mai ka ʻanuʻu 2, a no nā ʻikepili kikoʻī e hoʻonohonoho i ka waiwai Max DOP i loaʻa mai ka ʻanuʻu 2 no kēlā me kēia waihona.
  4. hoʻokaʻawale i nā noi nui loa a ʻike i ka hopena maikaʻi ʻole o ka multithreading. Inā ʻo ia, a laila e hoʻonui i ka paepae uku no ka Parallelism.
    No nā ʻōnaehana e like me 1C, Microsoft CRM a me Microsoft NAV, i ka nui o nā hihia, kūpono ka pāpā ʻana i ka multithreading.

Eia kekahi, inā loaʻa kahi paʻi maʻamau, a laila ma ka hapa nui o ka pāpā ʻana i ka multithreading ua kūpono ma muli o ka palena o kēia paʻi i ka helu o nā cores CPU.
No nā ʻōnaehana OLAP, ʻaʻole kūpono ka algorithm i wehewehe ʻia ma luna.
Mai koʻu ʻike ponoʻī, paipai wau i kēia algorithm o nā hana no nā ʻōnaehana OLAP no ka hoʻonohonoho ʻana i nā waiwai parallelism:

  1. hoʻokaʻawale i nā noi koʻikoʻi a koho i ka helu kūpono o nā loina no lākou
  2. E hoʻonoho i ka Max Degree of Parallelism i ka helu kūpono loa o nā milo i loaʻa mai ka ʻanuʻu 1, a no nā ʻikepili kikoʻī e hoʻonohonoho i ka waiwai Max DOP i loaʻa mai ka ʻanuʻu 1 no kēlā me kēia waihona.
  3. hoʻokaʻawale i nā nīnau koʻikoʻi a ʻike i ka hopena maikaʻi ʻole o ka hoʻopaʻa ʻana i ka concurrency. Inā ʻo ia, a laila e hoʻohaʻahaʻa i ke kumu kūʻai no ka waiwai Parallelism, a i ʻole e hana hou i nā ʻanuʻu 1-2 o kēia algorithm

ʻO ia hoʻi, no nā ʻōnaehana OLTP ke hele nei mākou mai ka threading hoʻokahi a hiki i ka multi-threading, a no nā ʻōnaehana OLAP, ma ke ʻano ʻē, hele mākou mai ka multi-threading a i ka single-threading. No laila, hiki iā ʻoe ke koho i nā hoʻonohonoho parallelism maikaʻi loa no kahi waihona kikoʻī a me ke ʻano holoʻokoʻa o MS SQL Server.
He mea nui nō hoʻi e hoʻomaopopo pono e hoʻololi ʻia nā hoʻonohonoho o nā waiwai parallelism i ka manawa, ma muli o nā hopena o ka nānā ʻana i ka hana a MS SQL Server.

Nā alakaʻi no ka hoʻonohonoho ʻana i nā hae

Mai koʻu ʻike ponoʻī a me ka ʻike o kaʻu mau hoa hana, no ka hana maikaʻi loa, paipai wau i ka hoʻonohonoho ʻana i nā hae trace ma ka pae holo o ka lawelawe MS SQL Server no nā mana 2008-2016:

  1. 610 - Hoʻemi i ka hoʻopaʻa ʻana i nā mea hoʻokomo i loko o nā papa kuhikuhi. Hiki ke kōkua me ka hoʻokomo ʻana i loko o nā papa me nā moʻolelo he nui a me nā kālepa he nui, me ka kali pinepine ʻana o WRITELOG no nā loli i nā kuhikuhi.
  2. 1117 - Inā hoʻokō ka waihona i loko o ka pūʻulu waihona i nā koi paepae autogrowth, e ulu aʻe nā faila a pau i ka pūʻulu waihona.
  3. 1118 - Hoʻoikaika i nā mea a pau e loaʻa ma nā ʻāpana like ʻole (ka pāpā ʻana i nā ʻāpana like ʻole), ka mea e hōʻemi i ka pono e nānā i ka ʻaoʻao SGAM, kahi i hoʻohana ʻia no ka hahai ʻana i nā ʻāpana like ʻole.
  4. 1224 - Hoʻopau i ka piʻi ʻana o ka laka ma muli o ka helu o nā laka. Eia naʻe, hiki i ka hoʻohana nui ʻana i ka hoʻomanaʻo ke hoʻoulu i ka piʻi ʻana o ka laka
  5. 2371 - Hoʻololi i ka paepae hōʻano hou ʻikepili maʻalahi i ka paepae hōʻano hou ʻokoʻa. He mea koʻikoʻi no ka hoʻonui ʻana i nā hoʻolālā nīnau no nā papa nui, kahi o ka helu hewa ʻana o nā moʻolelo e hopena i nā hoʻolālā hoʻokō hewa.
  6. 3226 - Kāohi i nā memo kūleʻa i hoʻopaʻa ʻia ma ka moʻo kuhi hewa
  7. 4199 - Hoʻokomo i nā hoʻololi i ka mea huli hulina i hoʻokuʻu ʻia ma nā CU a me nā SQL Server Service Packs
  8. 6532-6534 - Hoʻokomo i ka hoʻomaikaʻi ʻana i ka hana no nā hana noiʻi ma nā ʻano ʻikepili spatial
  9. 8048 - Hoʻololi i nā mea hoʻomanaʻo ʻāpana NUMA i nā mea hoʻomanaʻo i hoʻokaʻawale ʻia i ka CPU
  10. 8780 - Hāʻawi i ka hoʻokaʻawale manawa hou no ka hoʻolālā nīnau. Hiki ke hōʻole ʻia kekahi mau noi me ka ʻole o kēia hae no ka mea ʻaʻohe o lākou hoʻolālā noiʻi (kakaʻikahi loa)
  11. 8780 - 9389 - Ho'ā hou i ka hoʻomanaʻo hoʻomanaʻo hoʻolalelale ʻē aʻe no nā ʻōlelo mode batch, e hiki ai i ka mea hoʻohana mode batch ke noi i ka hoʻomanaʻo hou aʻe a pale i ka neʻe ʻana i ka ʻikepili i tempdb inā loaʻa ka hoʻomanaʻo hou.

Ma mua o ka 2016, he mea pono ke hoʻohana i ka trace flag 2301, e hiki ai i ka hoʻonui ʻana i ke kākoʻo hoʻoholo hoʻoholo a kōkua i ke koho ʻana i nā hoʻolālā nīnau kūpono. Eia nō naʻe, e like me ka mana 2016, loaʻa pinepine ka hopena maikaʻi ʻole i ka lōʻihi o ka hoʻokō ʻana i nā nīnau nīnau.
Eia kekahi, no nā ʻōnaehana me ka nui o nā indexes (no ka laʻana, no nā ʻikepili 1C), manaʻo wau e ʻae i ka trace flag 2330, ka mea e hoʻopau ai i ka hōʻiliʻili ʻana i ka hoʻohana ʻana i ka kuhikuhi, a he hopena maikaʻi loa ia i ka ʻōnaehana.
No ka ʻike hou aku e pili ana i nā hae meheu, e ʻike maanei
Mai ka loulou i luna, he mea nui nō hoʻi e noʻonoʻo i nā mana a me ke kūkulu ʻana o MS SQL Server, ʻoiai no nā mana hou aku, hiki ke hoʻohana ʻia kekahi mau hae me ka paʻamau a ʻaʻohe hopena.
Hiki iā ʻoe ke hoʻohuli a hoʻopau i ka hae trace me nā kauoha DBCC TRACEON a me DBCC TRACEOFF. No ka ʻike hou aku maanei
Hiki iā ʻoe ke kiʻi i ke kūlana o nā hae me ka hoʻohana ʻana i ke kauoha DBCC TRACESTATUS: ʻike hou aku
I mea e hoʻokomo ʻia ai nā hae trace i ka autostart o ka lawelawe MS SQL Server, pono ʻoe e hele i SQL Server Configuration Manager a hoʻohui i kēia mau hae trace ma o -T i nā waiwai lawelawe:
ʻO kekahi mau hiʻohiʻona o ka nānā ʻana i ka MS SQL Server. Nā alakaʻi no ka hoʻonohonoho ʻana i nā hae

Nā hopena

Ma kēia ʻatikala, ua nānā ʻia kekahi mau ʻano o ka nānā ʻana i ka MS SQL Server, me ke kōkua e hiki ai iā ʻoe ke ʻike koke i ka nele o ka RAM a me ka manawa CPU manuahi, a me nā pilikia ʻē aʻe i ʻike ʻole ʻia. Ua nānā ʻia nā lepa i hoʻohana pinepine ʻia.

Nā kumuhana:

» Helu helu kali SQL Server
» E ʻoluʻolu e haʻi mai iaʻu i kahi e ʻeha ai
» Nānā pūnaewele sys.dm_os_schedulers
» Ke hoʻohana nei iā Zabbix e nānā i ka MS SQL Server Database
» Ka nohona SQL
» Hae Helu
» sql.ru

Source: www.habr.com

Pākuʻi i ka manaʻo hoʻopuka