Qaybo ka mid ah la socodka MS SQL Server. Tilmaamaha Dejinta Calamada Raadka

Horudhac

Inta badan, isticmaalayaasha, horumariyeyaasha iyo maamulayaasha MS SQL Server DBMS waxay la kulmaan dhibaatooyinka waxqabadka ee xogta ama guud ahaan DBMS, markaa la socodka MS SQL Server waa mid aad u khuseeya.
Maqaalkani waa qodob dheeri ah Isticmaalka Zabbix si aad ula socoto Xogta Serverka MS SQL waxayna dabooli doontaa qaybo ka mid ah la socodka MS SQL Server, gaar ahaan: sida ugu dhakhsaha badan ee loo go'aamiyo agabka maqan, iyo sidoo kale talooyinka dejinta calanka.
Si qoraalada soo socdaa ay u shaqeeyaan, waxaad u baahan tahay inaad abuurto schema inf database-ka la rabo sida soo socota:
Abuuritaanka schema inf

use <имя_Π‘Π”>;
go
create schema inf;

Habka lagu ogaanayo la'aanta RAM

Tilmaamaha ugu horreeya ee la'aanta RAM waa kiiska marka tusaale ahaan MS SQL Server uu cuno dhammaan RAM-ka loo qoondeeyey.
Si tan loo sameeyo, waxaan abuuri doonaa matalaada soo socota ee inf.vRAM:
Abuuritaanka aragtida 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;

Markaa waxaad go'aamin kartaa in tusaale MS SQL Server uu isticmaalo dhammaan xusuusta loo qoondeeyay su'aasha soo socota:

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

Haddii SQL_server_physical_memory_in_use_Mb uu si joogto ah uga weyn yahay ama u siman yahay SQL_server_committed_target_Mb, markaas waa in la hubiyaa tirakoobka sugitaanka.
Si loo go'aamiyo la'aanta RAM iyada oo loo marayo tirakoobka sugitaanka, aan abuurno aragtida inf.vWaits:
Abuuritaanka 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];

Xaaladdan oo kale, waxaad ku ogaan kartaa la'aanta RAM su'aasha soo socota:

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

Halkan waxaad u baahan tahay inaad fiiro gaar ah u yeelato tilmaamayaasha boqolkiiba iyo AvgWait_S. Haddii ay muhiim u yihiin wadarta guud, markaa waxaa jirta suurtogalnimo aad u sareysa in aysan jirin RAM ku filan tusaale ahaan MS SQL Server. Qiimaha muhiimka ah waxaa si gaar ah loo go'aamiyaa nidaam kasta. Si kastaba ha ahaatee, waxaad ku bilaabi kartaa kuwan soo socda: Boqolkiiba>=1 iyo AvgWait_S>=0.005.
Si loo soo saaro tilmaamayaasha nidaamka la socodka (tusaale, Zabbix), waxaad abuuri kartaa labada su'aalood ee soo socda:

  1. Immisa nooc oo sugitaan ah ayaa ku jira RAM boqolkiiba (wadarta dhammaan noocyada sugitaanka):
    select coalesce(sum([Percentage]), 0.00) as [Percentage]
    from [inf].[vWaits]
           where [WaitType] in (
               'PAGEIOLATCH_XX',
               'RESOURCE_SEMAPHORE',
                'RESOURCE_SEMAPHORE_QUERY_COMPILE'
      );
    
  2. Immisa nooc oo sugitaan ah oo RAM ah ayaa qaata millise seconds (qiimaha ugu sarreeya ee dhammaan dib u dhaca celceliska dhammaan noocyada sugitaanka):
    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'
      );
    

Iyada oo ku saleysan dhaqdhaqaaqa qiyamka la helay ee labadan tilmaame, waxaan ku soo gabagabeyn karnaa haddii ay jirto RAM ku filan tusaale ahaan MS SQL Server.

Habka Ogaanshaha Culayska Badan ee CPU

Si loo aqoonsado la'aanta wakhtiga processor-ka, waa ku filan in la isticmaalo aragtida nidaamka sys.dm_os_schedulers. Halkan, haddii runnable_tasks_count uu si joogto ah uga weyn yahay 1, markaa waxaa jirta suurtogalnimo sare oo ah in tirada kombuyuutarku aysan ku filnayn tusaale ahaan MS SQL Server.
Si aad u soo saarto tusaha nidaamka la socodka (tusaale, Zabbix), waxaad samayn kartaa su'aasha soo socota:

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

Iyada oo ku saleysan dhaqdhaqaaqa qiyamka la helay ee tusahan, waxaan ku soo gabagabeyn karnaa haddii ay jirto waqti processor ku filan (tirada koodhka CPU) tusaale ahaan Server MS SQL.
Si kastaba ha ahaatee, waxaa muhiim ah in maskaxda lagu hayo xaqiiqda ah in codsiyada laftoodu ay hal mar codsan karaan taxane badan. Mararka qaarkoodna hagaajinta si sax ah uma qiyaasi karo kakanaanta weydiinta lafteeda. Dabadeed codsiga waxa loo qoondayn karaa dun badan oo aan la hawlgelin karin isku mar wakhtiga la siiyey. Tani waxay sidoo kale keentaa nooc sugitaan ah oo la xidhiidha la'aanta wakhtiga processor-ka, iyo korriinka safka jadwalayaasha isticmaala kombuyuutarrada CPU ee gaarka ah, ie. runnable_tasks_count tusaha ayaa ku kori doona xaaladahaas.
Xaaladdan oo kale, ka hor inta aan la kordhin tirada koodhka CPU, waxaa lagama maarmaan ah in si sax ah loo habeeyo sifooyinka isbarbardhigga ee MS SQL Server laftiisa, iyo nooca 2016, si sax ah u habeyn sifooyinka isbarbardhigga ee xogta loo baahan yahay:
Qaybo ka mid ah la socodka MS SQL Server. Tilmaamaha Dejinta Calamada Raadka

Qaybo ka mid ah la socodka MS SQL Server. Tilmaamaha Dejinta Calamada Raadka
Halkan waa inaad fiiro gaar ah u yeelataa xuduudaha soo socda:

  1. Heerka ugu sarreeya ee isbarbardhigga - wuxuu dejiyaa tirada ugu badan ee dunta loo qaybin karo codsi kasta ( default waa 0 - oo xaddidan oo keliya nidaamka hawlgalka laftiisa iyo daabacaadda MS SQL Server)
  2. Xaddiga Qiimaha Isbarbar-dhigga - Qiyaasta qiimaha isbarbar-dhigga (ugu-dambeyn waa 5)
  3. Max DOP - wuxuu dejiyaa tirada ugu badan ee dunta loo qaybin karo weydiimo kasta oo ah heerka xogta (laakiin aan ka badnayn qiimaha hantida "Max Degree of Parallelism") (default waa 0 - xaddidan nidaamka hawlgalka laftiisa iyo Daabacaadda MS SQL Server, iyo sidoo kale xaddidaadda "Max Degree of Parallelism" hantida dhammaan tusaalaha MS SQL Server)

Halkan waa wax aan macquul aheyn in la siiyo cunto karinta si siman oo wanaagsan dhammaan kiisaska, i.e. waxaad u baahan tahay inaad falanqeyso weydiimaha culus.
Waayo-aragnimadayda, waxaan ku talinayaa algorithm-ka soo socda ee ficillada nidaamyada OLTP ee dejinta sifooyinka isbarbardhigga:

  1. marka hore dami isbarbardhigga adiga oo dejinaya heerka ugu sarreeya ee barbar-dhigga 1
  2. falanqeeyaan codsiyada ugu culus oo dooro tirada ugu fiican ee dunta iyaga
  3. dhig heerka ugu sarreeya ee isbarbardhigga tirada ugu wanaagsan ee dunta ee la doortay ee laga helay tallaabada 2, iyo xog ururin gaar ah u deji qiimaha Max DOP ee laga helay tallaabada 2 ee xog kasta
  4. falanqeeyaan codsiyada ugu culus oo caddeeyaan saamaynta xun ee multithreading. Haddi ay tahay, ka dib kordhi Kharashka Xadka Barbaralismka.
    Nidaamyada ay ka midka yihiin 1C, Microsoft CRM iyo Microsoft NAV, xaaladaha intooda badan, mamnuucidda isku-dhufashada ayaa ku habboon.

Sidoo kale, haddii ay jirto daabacaadda Standard, ka dibna inta badan kiisaska mamnuucista multithreading waa ku habboon tahay xaqiiqda ah in daabacaaddani ay xaddidan tahay tirada CPUs.
Nidaamyada OLAP, algorithm ee kor lagu sharaxay kuma habboona.
Waayo-aragnimadayda, waxaan ku talinayaa algorithm-ka soo socda ee ficillada nidaamyada OLAP si loo dejiyo sifooyinka isbarbardhigga:

  1. falanqeeyaan codsiyada ugu culus oo dooro tirada ugu fiican ee dunta iyaga
  2. dhig heerka ugu sarreeya ee isbarbardhigga tirada ugu wanaagsan ee dunta ee la doortay ee laga helay tallaabada 1, iyo xog ururin gaar ah u deji qiimaha Max DOP ee laga helay tallaabada 1 ee xog kasta
  3. falanqeeyaan su'aalaha ugu culus oo caddeeyo saamaynta xun ee xaddidaadda isdhaafsiga. Haddi ay tahay, ama hoos u dhig heerka Kharashka ee qiimaha barbar socda, ama ku celi tillaabooyinka 1-2 ee algorithm

Taasi waa, nidaamyada OLTP waxaan ka baxnaa hal-xadhigle ilaa xad-badan, iyo OLAP-nidaamyada, liddi ku ah, waxaan ka gudubnaa dhowr-threading ilaa hal-threading. Markaa, waxaad dooran kartaa jaangooyooyinka isbarbardhigga ugu habboon labadaba xog ururin gaar ah iyo dhammaan tusaalaha MS SQL Server.
Waxa kale oo muhiim ah in la fahmo in goobaha isbarbardhigga u baahan yihiin in la beddelo wakhti ka dib, iyadoo lagu saleynayo natiijooyinka la socodka waxqabadka MS SQL Server.

Tilmaamaha Dejinta Calamada Raadka

Waayo-aragnimadayda iyo waayo-aragnimadayda asxaabteyda, si loo helo waxqabadka ugu wanaagsan, waxaan ku talinayaa in la dejiyo calamada raadraaca soo socda ee heerka socodka ee adeegga MS SQL Server ee noocyada 2008-2016:

  1. 610 - Gelida la gashado ee miisaska la calaamadeeyay oo la dhimay. Waxay kaa caawin kartaa gelinta shaxanka diiwaanno badan iyo macaamilo badan, oo leh qoraallo dheer oo joogto ah oo sugaya isbeddellada tusmooyinka.
  2. 1117 - Haddii fayl ku jira koox-kooxeed uu buuxiyo shuruudaha isugeynta korriinka, dhammaan faylasha kooxda faylka ayaa koraan.
  3. 1118 - Waxay ku qasbeysaa dhammaan walxaha inay ku yaalliin meelo kala duwan (mamnuucidda xadrada isku dhafan), taas oo yaraynaysa baahida loo qabo in la sawiro bogga SGAM, kaas oo loo isticmaalo in lagu raad raaco qiyaasaha isku dhafan.
  4. 1224 - Wuxuu joojiyaa kororka qufulka iyadoo lagu salaynayo tirada qufulada. Si kastaba ha ahaatee, isticmaalka xusuusta xad dhaafka ah waxay kicin kartaa qufulka
  5. 2371 - Waxay u beddeshaa heerka cusboonaysiinta istaatistikada tooska ah ee go'an ilaa heerka cusboonaysiinta istaatistikada tooska ah. Muhiim u ah cusboonaysiinta qorshayaasha waydiinta miisaska waaweyn, halkaas oo tirinta khaldan ee diiwaanadu ay keento qorshooyinka fulinta khaldan
  6. 3226 - Waxay joojisaa fariimaha guusha ee ku jira diiwaanka khaladka
  7. 4199 - Waxa ku jira isbeddelada kor u qaadida weydiinta ee lagu sii daayay CUs iyo Xidhmada Adeegga Adeegga SQL
  8. 6532-6534 - Waxaa ku jira hagaajinta waxqabadka ee hawlgallada weydiinta ee noocyada xogta goobta
  9. 8048 - Waxay u beddeshaa NUMA walxaha xusuusta qaybsan oo u beddela CPU qaybsan
  10. 8780 - Waxay sahlaysa qoondaynta waqti dheeri ah ee qorsheynta weydiinta. Codsiyada qaar oo aan lahayn calankan ayaa laga yaabaa in la diido sababtoo ah ma haystaan ​​qorshe su'aal (dhitaan aad dhif u ah)
  11. 8780 - 9389 - Waxay u sahlaysa deeq-waxbarasho oo dheeri ah oo kaydinta xusuusta qaabka dufcadda, taas oo u oggolaanaysa hawl-wadeenka qaabka dufcadda inuu codsado xusuusta dheeraadka ah oo uu iska ilaaliyo u wareejinta xogta tempdb haddii xusuusta dheeraadka ah la heli karo

Sidoo kale ka hor 2016, waxaa faa'iido leh in la suurtageliyo raadinta calanka 2301, kaas oo awood u siinaya kor u qaadida taageerada go'aanka sidaas darteedna waxay ka caawisaa doorashada qorshooyin sax ah oo dheeraad ah. Si kastaba ha ahaatee, sida nooca 2016, waxay inta badan saameyn xun ku leedahay waqtiyada fulinta su'aalaha guud ee dheer.
Sidoo kale, nidaamyada leh tilmaamo badan (tusaale ahaan, xogta macluumaadka 1C), waxaan ku talinayaa in la suurtogeliyo raadraaca calanka 2330, kaas oo baabi'iya ururinta isticmaalka index, taas oo guud ahaan saameyn togan ku leh nidaamka.
Macluumaad dheeraad ah oo ku saabsan calanka raadraaca, eeg halkan
Laga soo bilaabo isku xirka kore, waxaa sidoo kale muhiim ah in la tixgeliyo noocyada iyo dhisitaanka MS SQL Server, sida noocyada cusub, qaar ka mid ah calaamadaha raadraaca ayaa awood u leh ama aan saameyn lahayn.
Waxaad shidi kartaa oo dami kartaa calanka DBCC TRACEON iyo amarada DBCC TRACEOFF, siday u kala horreeyaan. Wixii faah faahin ah eeg halkan
Waxaad ku heli kartaa heerka calamada raadinta adoo isticmaalaya amarka DBCC TRACESTATUS: macluumaad dheeraad ah
Si calamada raadraaca loogu daro autostart-ka adeega Server-ka MS SQL, waa in aad u tagtaa maamulaha qaabaynta Server-ka SQL oo aad ku dartaa calamadan raadinta iyada oo loo sii marayo -T guryaha adeega:
Qaybo ka mid ah la socodka MS SQL Server. Tilmaamaha Dejinta Calamada Raadka

Natiijooyinka

Maqaalkan, waxaa lagu falanqeeyay qaybo ka mid ah la socodka MS SQL Server, iyadoo la kaashanayo aad si dhakhso ah u aqoonsan karto la'aanta RAM iyo waqtiga CPU ee bilaashka ah, iyo sidoo kale tiro dhibaatooyin kale oo aan muuqan. Calannada raadraaca ee inta badan la isticmaalo ayaa dib loo eegay.

Ilaha:

Β» SQL Server statistics sugitaanka
Β» SQL Server statistics sugitaanka ama fadlan ii sheeg meesha ay ku xanuunayso
Β» Aragtida nidaamka sys.dm_os_schedulers
Β» Isticmaalka Zabbix si aad ula socoto Xogta Serverka MS SQL
Β» Hab-nololeedka SQL
Β» Calamada Raadraaca
Β» sql.ru

Source: www.habr.com

Add a comment