ΠΏΡΠ΅Π΄Π³ΠΎΠ²ΠΎΡ
ΠΠΎΡΡΠ° ΡΠ΅ΡΡΠΎ ΠΏΠΎΡΡΠ΅Π±ΠΈΡΠ΅Π»ΠΈΡΠ΅, ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΡΠΈΡΠ΅ ΠΈ Π°Π΄ΠΌΠΈΠ½ΠΈΡΡΡΠ°ΡΠΎΡΠΈΡΠ΅ Π½Π° Π‘Π£ΠΠ Π½Π° MS SQL Server ΡΡΠ΅ΡΠ°Ρ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° Π±Π°Π·Π°ΡΠ° Π΄Π°Π½Π½ΠΈ ΠΈΠ»ΠΈ Π‘Π£ΠΠ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ, ΡΠ°ΠΊΠ° ΡΠ΅ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° MS SQL Server Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠΎ.
Π’Π°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π΅ Π΄ΠΎΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ ΠΊΡΠΌ ΡΡΠ°ΡΠΈΡΡΠ°
ΠΠ° Π΄Π° ΡΠ°Π±ΠΎΡΡΡ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠΊΡΠΈΠΏΡΠΎΠ²Π΅, ΡΡΡΠ±Π²Π° Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ inf ΡΡ
Π΅ΠΌΠ° Π² ΠΆΠ΅Π»Π°Π½Π°ΡΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΠΊΠ°ΠΊΡΠΎ ΡΠ»Π΅Π΄Π²Π°:
Π‘ΡΠ·Π΄Π°Π²Π°Π½Π΅ Π½Π° 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'
);
Π’ΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΈΡΠ΅ Percentage ΠΈ AvgWait_S. ΠΠΊΠΎ ΡΠ΅ ΡΠ° Π·Π½Π°ΡΠΈΡΠ΅Π»Π½ΠΈ Π² ΡΠ²ΠΎΡΡΠ° ΡΡΠ²ΠΊΡΠΏΠ½ΠΎΡΡ, ΡΠΎΠ³Π°Π²Π° ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΠ»ΡΠΌΠ° Π²Π΅ΡΠΎΡΡΠ½ΠΎΡΡ Π΄Π° Π½ΡΠΌΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ RAM Π·Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° Π½Π° MS SQL Server. ΠΠ½Π°ΡΠΈΠΌΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ ΡΠ΅ ΠΎΠΏΡΠ΅Π΄Π΅Π»ΡΡ ΠΈΠ½Π΄ΠΈΠ²ΠΈΠ΄ΡΠ°Π»Π½ΠΎ Π·Π° Π²ΡΡΠΊΠ° ΡΠΈΡΡΠ΅ΠΌΠ°. ΠΠΎΠΆΠ΅ΡΠ΅ ΠΎΠ±Π°ΡΠ΅ Π΄Π° Π·Π°ΠΏΠΎΡΠ½Π΅ΡΠ΅ ΡΡΡ ΡΠ»Π΅Π΄Π½ΠΎΡΠΎ: Percentage>=1 ΠΈ AvgWait_S>=0.005.
ΠΠ° Π΄Π° ΠΈΠ·Π²Π΅Π΄Π΅ΡΠ΅ ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΠΈ ΠΊΡΠΌ ΡΠΈΡΡΠ΅ΠΌΠ° Π·Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Zabbix), ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΡΡΠ·Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ Π΄Π²Π΅ Π·Π°ΡΠ²ΠΊΠΈ:
- ΠΊΠΎΠ»ΠΊΠΎ Π²ΠΈΠ΄Π° ΡΠ°ΠΊΠ°Π½ΠΈΡ ΡΠ° Π·Π°Π΅ΡΠΈ ΠΎΡ RAM Π² ΠΏΡΠΎΡΠ΅Π½ΡΠΈ (ΡΡΠΌΠ°ΡΠ° ΠΎΡ Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΊΠΈΠ²Π° Π²ΠΈΠ΄ΠΎΠ²Π΅ ΡΠ°ΠΊΠ°Π½ΠΈΡ):
select coalesce(sum([Percentage]), 0.00) as [Percentage] from [inf].[vWaits] where [WaitType] in ( 'PAGEIOLATCH_XX', 'RESOURCE_SEMAPHORE', 'RESOURCE_SEMAPHORE_QUERY_COMPILE' );
- ΠΊΠΎΠ»ΠΊΠΎ RAM ΡΠΈΠΏΠΎΠ²Π΅ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅ ΠΎΡΠ½Π΅ΠΌΠ°Ρ Π² ΠΌΠΈΠ»ΠΈΡΠ΅ΠΊΡΠ½Π΄ΠΈ (ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΡΡΠΎΠΉΠ½ΠΎΡΡ Π½Π° Π²ΡΠΈΡΠΊΠΈ ΡΡΠ΅Π΄Π½ΠΈ Π·Π°ΠΊΡΡΠ½Π΅Π½ΠΈΡ Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅):
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.
ΠΠ΅ΡΠΎΠ΄ Π·Π° ΠΎΡΠΊΡΠΈΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠ΅ΡΠΎΠ²Π°ΡΠ²Π°Π½Π΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°
ΠΠ° Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ Π΅ Π΄Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΡΠΈΡΡΠ΅ΠΌΠ½ΠΈΡ ΠΈΠ·Π³Π»Π΅Π΄ 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;
ΠΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π΄ΠΈΠ½Π°ΠΌΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΠΈ Π·Π° ΡΠΎΠ·ΠΈ ΠΏΠΎΠΊΠ°Π·Π°ΡΠ΅Π» ΠΌΠΎΠΆΠ΅ΠΌ Π΄Π° Π·Π°ΠΊΠ»ΡΡΠΈΠΌ Π΄Π°Π»ΠΈ ΠΈΠΌΠ° Π΄ΠΎΡΡΠ°ΡΡΡΠ½ΠΎ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅ (Π±ΡΠΎΡ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈ ΡΠ΄ΡΠ°) Π·Π° Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° MS SQL Server.
ΠΠ°ΠΆΠ½ΠΎ Π΅ ΠΎΠ±Π°ΡΠ΅ Π΄Π° ΠΈΠΌΠ°ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠ°ΠΌΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΌΠΎΠ³Π°Ρ Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Ρ Π½ΡΠΊΠΎΠ»ΠΊΠΎ Π½ΠΈΡΠΊΠΈ Π½Π°Π²Π΅Π΄Π½ΡΠΆ. Π ΠΏΠΎΠ½ΡΠΊΠΎΠ³Π° ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΡΡ Π½Π΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΎΡΠ΅Π½ΠΈ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ°ΠΌΠ°ΡΠ° Π·Π°ΡΠ²ΠΊΠ°. Π’ΠΎΠ³Π°Π²Π° Π½Π° Π·Π°ΡΠ²ΠΊΠ°ΡΠ° ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ ΡΠ²ΡΡΠ΄Π΅ ΠΌΠ½ΠΎΠ³ΠΎ Π½ΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ Π½Π΅ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΠ±ΡΠ°Π±ΠΎΡΠ΅Π½ΠΈ Π΅Π΄Π½ΠΎΠ²ΡΠ΅ΠΌΠ΅Π½Π½ΠΎ Π² Π΄Π°Π΄Π΅Π½ΠΈΡ ΠΌΠΎΠΌΠ΅Π½Ρ. Π ΡΠΎΠ²Π° ΡΡΡΠΎ ΠΏΡΠΈΡΠΈΠ½ΡΠ²Π° Π²ΠΈΠ΄ ΠΈΠ·ΡΠ°ΠΊΠ²Π°Π½Π΅, ΡΠ²ΡΡΠ·Π°Π½ΠΎ Ρ Π»ΠΈΠΏΡΠ° Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΎ Π²ΡΠ΅ΠΌΠ΅, ΠΈ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅ Π½Π° ΠΎΠΏΠ°ΡΠΊΠ°ΡΠ° Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠΎΠ²ΡΠΈΡΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Ρ ΡΠΏΠ΅ΡΠΈΡΠΈΡΠ½ΠΈ ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈ ΡΠ΄ΡΠ°, Ρ.Π΅. ΠΈΠ½Π΄ΠΈΠΊΠ°ΡΠΎΡΡΡ runnable_tasks_count ΡΠ΅ Π½Π°ΡΠ°ΡΡΠ²Π° ΠΏΡΠΈ ΡΠ°ΠΊΠΈΠ²Π° ΡΡΠ»ΠΎΠ²ΠΈΡ.
Π ΡΠΎΠ·ΠΈ ΡΠ»ΡΡΠ°ΠΉ, ΠΏΡΠ΅Π΄ΠΈ Π΄Π° ΡΠ²Π΅Π»ΠΈΡΠΈΡΠ΅ Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠ΄ΡΠ°, Π΅ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ Π½Π° ΡΠ°ΠΌΠΈΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° MS SQL Server ΠΈ ΠΎΡ Π²Π΅ΡΡΠΈΡ 2016 ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΎ Π΄Π° ΠΊΠΎΠ½ΡΠΈΠ³ΡΡΠΈΡΠ°ΡΠ΅ ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ Π½Π° Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΈΡΠ΅ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ:
Π’ΡΠΊ ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΠ±ΡΡΠ½Π΅ΡΠ΅ Π²Π½ΠΈΠΌΠ°Π½ΠΈΠ΅ Π½Π° ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΠΏΠ°ΡΠ°ΠΌΠ΅ΡΡΠΈ:
- ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ - Π·Π°Π΄Π°Π²Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ Π½ΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π° Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 0 - ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΎΡ ΡΠ°ΠΌΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° MS SQL Server)
- ΠΡΠ°Π³ Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ - ΠΏΡΠΎΠ³Π½ΠΎΠ·Π½Π° ΡΠ΅Π½Π° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΌΠ° (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 5)
- Max DOP - Π·Π°Π΄Π°Π²Π° ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ Π½ΠΈΡΠΊΠΈ, ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠ³Π°Ρ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈ Π·Π° Π²ΡΡΠΊΠ° Π·Π°ΡΠ²ΠΊΠ° Π½Π° Π½ΠΈΠ²ΠΎ Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ (Π½ΠΎ Π½Π΅ ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΎΡ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ "ΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡ") (ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ Π΅ 0 - ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ ΡΠ°ΠΌΠΎ ΠΎΡ ΡΠ°ΠΌΠ°ΡΠ° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΎΠ½Π½Π° ΡΠΈΡΡΠ΅ΠΌΠ° ΠΈ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ΡΠΎ Π½Π° MS SQL Server, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΠ΅ΡΠΎ Π·Π° ΡΠ²ΠΎΠΉΡΡΠ²ΠΎΡΠΎ βΠΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌβ Π½Π° ΡΠ΅Π»ΠΈΡ Π΅ΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡ Π½Π° MS SQL Server)
Π’ΡΠΊ Π΅ Π½Π΅Π²ΡΠ·ΠΌΠΎΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ Π΄Π°Π΄Π΅ Π΅Π΄Π½Π°ΠΊΠ²ΠΎ Π΄ΠΎΠ±ΡΠ° ΡΠ΅ΡΠ΅ΠΏΡΠ° Π·Π° Π²ΡΠΈΡΠΊΠΈ ΡΠ»ΡΡΠ°ΠΈ, Ρ.Π΅. ΡΡΡΠ±Π²Π° Π΄Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΡΠ΅ ΡΠ΅ΠΆΠΊΠΈ Π·Π°ΡΠ²ΠΊΠΈ.
ΠΡ ΠΌΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΎΠΏΠΈΡ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ ΡΠ»Π΅Π΄Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π° OLTP ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
- ΠΏΡΡΠ²ΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΠΉΡΠ΅ ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΌΠ°, ΠΊΠ°ΡΠΎ Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΠΌΠ°ΠΊΡΠΈΠΌΠ°Π»Π½Π°ΡΠ° ΡΡΠ΅ΠΏΠ΅Π½ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ Π·Π° ΡΡΠ»Π°ΡΠ° ΠΈΠ½ΡΡΠ°Π½ΡΠΈΡ Π½Π° 1
- Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΠΉ-ΡΠ΅ΠΆΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ Π½ΠΈΡΠΊΠΈ Π·Π° ΡΡΡ
- Π·Π°Π΄Π°ΠΉΡΠ΅ Max Degree of Parallelism Π½Π° ΠΈΠ·Π±ΡΠ°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Π±ΡΠΎΠΉ Π½ΠΈΡΠΊΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ ΡΡΡΠΏΠΊΠ° 2, ΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π°Π΄Π°ΠΉΡΠ΅ Max DOP ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΎΡ ΡΡΡΠΏΠΊΠ° 2 Π·Π° Π²ΡΡΠΊΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ
- Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΠΉ-ΡΠ΅ΠΆΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΈΡ Π΅ΡΠ΅ΠΊΡ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡΡΠ°. ΠΠΊΠΎ Π΅ ΡΠ°ΠΊΠ°, ΡΠ²Π΅Π»ΠΈΡΠ΅ΡΠ΅ ΠΏΡΠ°Π³Π° Π½Π° ΡΠ°Π·Ρ
ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ.
ΠΠ° ΡΠΈΡΡΠ΅ΠΌΠΈ ΠΊΠ°ΡΠΎ 1C, Microsoft CRM ΠΈ Microsoft NAV Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π΅ ΠΏΠΎΠ΄Ρ ΠΎΠ΄ΡΡΠ° Π·Π°Π±ΡΠ°Π½Π° Π½Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ
ΠΡΠ²Π΅Π½ ΡΠΎΠ²Π°, Π°ΠΊΠΎ ΠΈΠΌΠ° ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΠΎ ΠΈΠ·Π΄Π°Π½ΠΈΠ΅, ΡΠΎΠ³Π°Π²Π° Π² ΠΏΠΎΠ²Π΅ΡΠ΅ΡΠΎ ΡΠ»ΡΡΠ°ΠΈ Π·Π°Π±ΡΠ°Π½Π°ΡΠ° Π·Π° ΠΌΠ½ΠΎΠ³ΠΎΠΏΠΎΡΠΎΡΠ½ΠΎΡΡ Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡΠ° ΠΏΠΎΡΠ°Π΄ΠΈ ΡΠ°ΠΊΡΠ°, ΡΠ΅ ΡΠΎΠ²Π° ΠΈΠ·Π΄Π°Π½ΠΈΠ΅ Π΅ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΎ Π² Π±ΡΠΎΡ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ½ΠΈΡΠ΅ ΡΠ΄ΡΠ°.
ΠΠ° OLAP ΡΠΈΡΡΠ΅ΠΌΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌΡΡ, ΠΎΠΏΠΈΡΠ°Π½ ΠΏΠΎ-Π³ΠΎΡΠ΅, Π½Π΅ Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ.
ΠΡ ΠΌΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΎΠΏΠΈΡ ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ ΡΠ»Π΅Π΄Π½ΠΈΡ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ ΠΎΡ Π΄Π΅ΠΉΡΡΠ²ΠΈΡ Π·Π° OLAP ΡΠΈΡΡΠ΅ΠΌΠΈ Π·Π° Π½Π°ΡΡΡΠΎΠΉΠΊΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΈ ΡΠ²ΠΎΠΉΡΡΠ²Π°:
- Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΠΉ-ΡΠ΅ΠΆΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡ Π±ΡΠΎΠΉ Π½ΠΈΡΠΊΠΈ Π·Π° ΡΡΡ
- Π·Π°Π΄Π°ΠΉΡΠ΅ Max Degree of Parallelism Π½Π° ΠΈΠ·Π±ΡΠ°Π½ΠΈΡ ΠΎΠΏΡΠΈΠΌΠ°Π»Π΅Π½ Π±ΡΠΎΠΉ Π½ΠΈΡΠΊΠΈ, ΠΏΠΎΠ»ΡΡΠ΅Π½ΠΈ ΠΎΡ ΡΡΡΠΏΠΊΠ° 1, ΠΈ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½ΠΈ Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ Π·Π°Π΄Π°ΠΉΡΠ΅ Max DOP ΡΡΠΎΠΉΠ½ΠΎΡΡ, ΠΏΠΎΠ»ΡΡΠ΅Π½Π° ΠΎΡ ΡΡΡΠΏΠΊΠ° 1 Π·Π° Π²ΡΡΠΊΠ° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ
- Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°ΠΉΡΠ΅ Π½Π°ΠΉ-ΡΠ΅ΠΆΠΊΠΈΡΠ΅ Π·Π°ΡΠ²ΠΊΠΈ ΠΈ ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΠΉΡΠ΅ ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π½ΠΈΡ Π΅ΡΠ΅ΠΊΡ ΠΎΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠ°Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»Π½ΠΎΡΡΡΠ°. ΠΠΊΠΎ Π΅ ΡΠ°ΠΊΠ°, ΡΠΎΠ³Π°Π²Π° ΠΈΠ»ΠΈ Π½Π°ΠΌΠ°Π»Π΅ΡΠ΅ ΡΡΠΎΠΉΠ½ΠΎΡΡΡΠ° Π½Π° ΠΏΡΠ°Π³Π° Π½Π° ΡΠ°Π·Ρ ΠΎΠ΄ΠΈΡΠ΅ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ, ΠΈΠ»ΠΈ ΠΏΠΎΠ²ΡΠΎΡΠ΅ΡΠ΅ ΡΡΡΠΏΠΊΠΈ 1-2 ΠΎΡ ΡΠΎΠ·ΠΈ Π°Π»Π³ΠΎΡΠΈΡΡΠΌ
Π’ΠΎΠ΅ΡΡ, Π·Π° OLTP ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅ ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΎΡ Π΅Π΄Π½ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΈ ΠΊΡΠΌ ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΈ, Π° Π·Π° OLAP-ΡΠΈΡΡΠ΅ΠΌΠΈΡΠ΅, Π½Π°ΠΏΡΠΎΡΠΈΠ², ΠΏΡΠ΅ΠΌΠΈΠ½Π°Π²Π°ΠΌΠ΅ ΠΎΡ ΠΌΠ½ΠΎΠ³ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΈ ΠΊΡΠΌ Π΅Π΄Π½ΠΎΠ½ΠΈΡΠΊΠΎΠ²ΠΈ. ΠΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΈΠ·Π±Π΅ΡΠ΅ΡΠ΅ ΠΎΠΏΡΠΈΠΌΠ°Π»Π½ΠΈΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈ Π·Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΡΠΌ ΠΊΠ°ΠΊΡΠΎ Π·Π° ΠΊΠΎΠ½ΠΊΡΠ΅ΡΠ½Π° Π±Π°Π·Π° Π΄Π°Π½Π½ΠΈ, ΡΠ°ΠΊΠ° ΠΈ Π·Π° ΡΡΠ»ΠΎΡΠΎ ΠΊΠΎΠΏΠΈΠ΅ Π½Π° MS SQL Server.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° ΡΠ΅ ΡΠ°Π·Π±Π΅ΡΠ΅, ΡΠ΅ Π½Π°ΡΡΡΠΎΠΉΠΊΠΈΡΠ΅ Π½Π° ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π½Π° ΠΏΠ°ΡΠ°Π»Π΅Π»ΠΈΠ·ΠΌΠ° ΡΡΡΠ±Π²Π° Π΄Π° ΡΠ΅ ΠΏΡΠΎΠΌΠ΅Π½ΡΡ Ρ ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° ΡΠ΅Π·ΡΠ»ΡΠ°ΡΠΈΡΠ΅ ΠΎΡ Π½Π°Π±Π»ΡΠ΄Π΅Π½ΠΈΠ΅ΡΠΎ Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π½Π° MS SQL Server.
Π£ΠΊΠ°Π·Π°Π½ΠΈΡ Π·Π° Π·Π°Π΄Π°Π²Π°Π½Π΅ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅
ΠΡ ΠΌΠΎΡ ΡΠΎΠ±ΡΡΠ²Π΅Π½ ΠΎΠΏΠΈΡ ΠΈ ΠΎΠΏΠΈΡΠ° Π½Π° ΠΌΠΎΠΈΡΠ΅ ΠΊΠΎΠ»Π΅Π³ΠΈ, Π·Π° ΠΎΠΏΡΠΈΠΌΠ°Π»Π½Π° ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡ, ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π΄Π° Π·Π°Π΄Π°Π΄Π΅ΡΠ΅ ΡΠ»Π΅Π΄Π½ΠΈΡΠ΅ ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° Π½ΠΈΠ²ΠΎ ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° MS SQL Server Π·Π° Π²Π΅ΡΡΠΈΠΈ 2008-2016:
- 610 - ΠΠ°ΠΌΠ°Π»Π΅Π½ΠΎ ΡΠ΅Π³ΠΈΡΡΡΠΈΡΠ°Π½Π΅ Π½Π° Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ°Π½ΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ. ΠΠΎΠΆΠ΅ Π΄Π° ΠΏΠΎΠΌΠΎΠ³Π½Π΅ Ρ Π²ΠΌΡΠΊΠ²Π°Π½ΠΈΡ Π² ΡΠ°Π±Π»ΠΈΡΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΎ Π·Π°ΠΏΠΈΡΠΈ ΠΈ ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ°Π½Π·Π°ΠΊΡΠΈΠΈ, Ρ ΡΠ΅ΡΡΠΈ Π΄ΡΠ»Π³ΠΈ ΡΠ°ΠΊΠ°Π½ΠΈΡ Π½Π° WRITELOG Π·Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΈΠ½Π΄Π΅ΠΊΡΠΈΡΠ΅
- 1117 - ΠΠΊΠΎ ΡΠ°ΠΉΠ» Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π° Π³ΡΡΠΏΠ° ΠΎΡΠ³ΠΎΠ²Π°ΡΡ Π½Π° ΠΈΠ·ΠΈΡΠΊΠ²Π°Π½ΠΈΡΡΠ° Π·Π° ΠΏΡΠ°Π³ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎ Π½Π°ΡΠ°ΡΡΠ²Π°Π½Π΅, Π²ΡΠΈΡΠΊΠΈ ΡΠ°ΠΉΠ»ΠΎΠ²Π΅ Π²ΡΠ² ΡΠ°ΠΉΠ»ΠΎΠ²Π°ΡΠ° Π³ΡΡΠΏΠ° Π½Π°ΡΠ°ΡΡΠ²Π°Ρ
- 1118 - ΠΡΠΈΠ½ΡΠΆΠ΄Π°Π²Π° Π²ΡΠΈΡΠΊΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π΄Π° Π±ΡΠ΄Π°Ρ ΡΠ°Π·ΠΏΠΎΠ»ΠΎΠΆΠ΅Π½ΠΈ Π² ΡΠ°Π·Π»ΠΈΡΠ½ΠΈ Π΅ΠΊΡΡΠ΅Π½ΡΠΈ (Π·Π°Π±ΡΠ°Π½Π° Π·Π° ΡΠΌΠ΅ΡΠ΅Π½ΠΈ Π΅ΠΊΡΡΠ΅Π½ΡΠΈ), ΠΊΠΎΠ΅ΡΠΎ ΠΌΠΈΠ½ΠΈΠΌΠΈΠ·ΠΈΡΠ° Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎΡΡΡΠ° ΠΎΡ ΡΠΊΠ°Π½ΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΡΠ°Π½ΠΈΡΠ°ΡΠ° SGAM, ΠΊΠΎΡΡΠΎ ΡΠ΅ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π½Π° ΡΠΌΠ΅ΡΠ΅Π½ΠΈ Π΅ΠΊΡΡΠ΅Π½ΡΠΈ
- 1224 - ΠΠ΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° Π΅ΡΠΊΠ°Π»Π°ΡΠΈΡΡΠ° Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ Π²ΡΠ· ΠΎΡΠ½ΠΎΠ²Π° Π½Π° Π±ΡΠΎΡ Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½ΠΈΡΡΠ°. ΠΡΠ΅ΠΊΠΎΠΌΠ΅ΡΠ½ΠΎΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ ΠΎΠ±Π°ΡΠ΅ ΠΌΠΎΠΆΠ΅ Π΄Π° ΠΏΡΠ΅Π΄ΠΈΠ·Π²ΠΈΠΊΠ° Π΅ΡΠΊΠ°Π»Π°ΡΠΈΡ Π½Π° Π·Π°ΠΊΠ»ΡΡΠ²Π°Π½Π΅ΡΠΎ
- 2371 - ΠΡΠΎΠΌΠ΅Π½Ρ ΡΠΈΠΊΡΠΈΡΠ°Π½ΠΈΡ ΠΏΡΠ°Π³ Π·Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ° Π½Π° ΠΏΡΠ°Π³Π° Π·Π° Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ½Π° Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·Π°ΡΠΈΡ Π½Π° ΡΡΠ°ΡΠΈΡΡΠΈΠΊΠ°ΡΠ°. ΠΠ°ΠΆΠ½ΠΎ Π·Π° Π°ΠΊΡΡΠ°Π»ΠΈΠ·ΠΈΡΠ°Π½Π΅ Π½Π° ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ Π·Π° Π³ΠΎΠ»Π΅ΠΌΠΈ ΡΠ°Π±Π»ΠΈΡΠΈ, ΠΊΡΠ΄Π΅ΡΠΎ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»Π΅Π½ Π±ΡΠΎΠΉ Π·Π°ΠΏΠΈΡΠΈ Π²ΠΎΠ΄ΠΈ Π΄ΠΎ Π³ΡΠ΅ΡΠ½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅
- 3226 - ΠΠΎΡΠΈΡΠΊΠ° ΡΡΠΎΠ±ΡΠ΅Π½ΠΈΡΡΠ° Π·Π° ΡΡΠΏΠ΅ΡΠ½ΠΎ Π°ΡΡ ΠΈΠ²ΠΈΡΠ°Π½Π΅ Π² ΡΠ΅Π³ΠΈΡΡΡΡΠ° Π½Π° Π³ΡΠ΅ΡΠΊΠΈΡΠ΅
- 4199 - ΠΠΊΠ»ΡΡΠ²Π° ΠΏΡΠΎΠΌΠ΅Π½ΠΈ Π² ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΎΡΠ° Π½Π° Π·Π°ΡΠ²ΠΊΠΈ, ΠΏΡΡΠ½Π°Ρ Π² CU ΠΈ SQL Server Service Packs
- 6532-6534 - ΠΠΊΠ»ΡΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈΡ Π² ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΠ΅Π»Π½ΠΎΡΡΡΠ° Π·Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΈΠΈ ΡΡΡ Π·Π°ΡΠ²ΠΊΠΈ Π·Π° ΡΠΈΠΏΠΎΠ²Π΅ ΠΏΡΠΎΡΡΡΠ°Π½ΡΡΠ²Π΅Π½ΠΈ Π΄Π°Π½Π½ΠΈ
- 8048 - ΠΡΠ΅ΠΎΠ±ΡΠ°Π·ΡΠ²Π° NUMA ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ ΠΎΠ±Π΅ΠΊΡΠΈ Π½Π° ΠΏΠ°ΠΌΠ΅ΡΡΠ° Π² ΡΠ°Π·Π΄Π΅Π»Π΅Π½ΠΈ Π½Π° CPU ΡΠ°ΠΊΠΈΠ²Π°
- 8780 - Π Π°Π·ΡΠ΅ΡΠ°Π²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π½ΠΎ ΡΠ°Π·ΠΏΡΠ΅Π΄Π΅Π»Π΅Π½ΠΈΠ΅ Π½Π° Π²ΡΠ΅ΠΌΠ΅ΡΠΎ Π·Π° ΠΏΠ»Π°Π½ΠΈΡΠ°Π½Π΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΡΠΊΠΎΠΈ Π·Π°ΡΠ²ΠΊΠΈ Π±Π΅Π· ΡΠΎΠ·ΠΈ ΡΠ»Π°Π³ ΠΌΠΎΠΆΠ΅ Π΄Π° Π±ΡΠ΄Π°Ρ ΠΎΡΡ Π²ΡΡΠ»Π΅Π½ΠΈ, Π·Π°ΡΠΎΡΠΎ Π½ΡΠΌΠ°Ρ ΠΏΠ»Π°Π½ Π·Π° Π·Π°ΡΠ²ΠΊΠ° (ΠΌΠ½ΠΎΠ³ΠΎ ΡΡΠ΄ΠΊΠ° Π³ΡΠ΅ΡΠΊΠ°)
- 8780 - 9389 - Π Π°Π·ΡΠ΅ΡΠ°Π²Π° Π΄ΠΎΠΏΡΠ»Π½ΠΈΡΠ΅Π»Π΅Π½ Π΄ΠΈΠ½Π°ΠΌΠΈΡΠ΅Π½ Π±ΡΡΠ΅Ρ Π·Π° ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²ΡΠ½Π΅ Π½Π° ΠΏΠ°ΠΌΠ΅Ρ Π·Π° ΠΈΠ·ΡΠ°Π·ΠΈ Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ, ΠΊΠΎΠ΅ΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° Π½Π° ΠΎΠΏΠ΅ΡΠ°ΡΠΎΡΠ° Π·Π° ΠΏΠ°ΠΊΠ΅ΡΠ΅Π½ ΡΠ΅ΠΆΠΈΠΌ Π΄Π° ΠΈΠ·ΠΈΡΠΊΠ²Π° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΠΌΠ΅Ρ ΠΈ Π΄Π° ΠΈΠ·Π±ΡΠ³Π²Π° ΠΏΡΠ΅ΠΌΠ΅ΡΡΠ²Π°Π½Π΅ΡΠΎ Π½Π° Π΄Π°Π½Π½ΠΈ ΠΊΡΠΌ tempdb, Π°ΠΊΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠ°ΠΌΠ΅Ρ
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ° ΠΏΡΠ΅Π΄ΠΈ 2016 Π³. Π΅ ΠΏΠΎΠ»Π΅Π·Π½ΠΎ Π΄Π° ΡΠ΅ Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΠ»Π°Π³ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ 2301, ΠΊΠΎΠΉΡΠΎ ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ²Π° ΠΏΠΎΠ΄ΠΎΠ±ΡΠ΅Π½ΠΈ ΠΎΠΏΡΠΈΠΌΠΈΠ·Π°ΡΠΈΠΈ Π·Π° ΠΏΠΎΠ΄Π΄ΡΡΠΆΠΊΠ° Π½Π° ΡΠ΅ΡΠ΅Π½ΠΈΡ ΠΈ ΠΏΠΎ ΡΠΎΠ·ΠΈ Π½Π°ΡΠΈΠ½ ΠΏΠΎΠΌΠ°Π³Π° ΠΏΡΠΈ ΠΈΠ·Π±ΠΎΡΠ° Π½Π° ΠΏΠΎ-ΠΏΡΠ°Π²ΠΈΠ»Π½ΠΈ ΠΏΠ»Π°Π½ΠΎΠ²Π΅ Π·Π° Π·Π°ΡΠ²ΠΊΠΈ. ΠΡ Π²Π΅ΡΡΠΈΡ 2016 ΠΎΠ±Π°ΡΠ΅ ΡΠ΅ΡΡΠΎ ΠΈΠΌΠ° ΠΎΡΡΠΈΡΠ°ΡΠ΅Π»Π΅Π½ Π΅ΡΠ΅ΠΊΡ Π²ΡΡΡ
Ρ Π΄ΠΎΡΡΠ° Π΄ΡΠ»Π³ΠΈΡΠ΅ ΠΎΠ±ΡΠΈ Π²ΡΠ΅ΠΌΠ΅Π½Π° Π·Π° ΠΈΠ·ΠΏΡΠ»Π½Π΅Π½ΠΈΠ΅ Π½Π° Π·Π°ΡΠ²ΠΊΠΈΡΠ΅.
Π‘ΡΡΠΎ ΡΠ°ΠΊΠ°, Π·Π° ΡΠΈΡΡΠ΅ΠΌΠΈ Ρ ΠΌΠ½ΠΎΠ³ΠΎ ΠΈΠ½Π΄Π΅ΠΊΡΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ Π·Π° 1C Π±Π°Π·ΠΈ Π΄Π°Π½Π½ΠΈ), ΠΏΡΠ΅ΠΏΠΎΡΡΡΠ²Π°ΠΌ Π΄Π° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°ΡΠ΅ ΡΠ»Π°Π³Π° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ 2330, ΠΊΠΎΠΉΡΠΎ Π΄Π΅Π°ΠΊΡΠΈΠ²ΠΈΡΠ° ΡΡΠ±ΠΈΡΠ°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅ΡΠΎ Π½Π° ΠΈΠ½Π΄Π΅ΠΊΡΠΈ, ΠΊΠΎΠ΅ΡΠΎ ΠΊΠ°ΡΠΎ ΡΡΠ»ΠΎ ΠΈΠΌΠ° ΠΏΠΎΠ»ΠΎΠΆΠΈΡΠ΅Π»Π΅Π½ Π΅ΡΠ΅ΠΊΡ Π²ΡΡΡ
Ρ ΡΠΈΡΡΠ΅ΠΌΠ°ΡΠ°.
ΠΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΈΠ½ΡΠΎΡΠΌΠ°ΡΠΈΡ ΠΎΡΠ½ΠΎΡΠ½ΠΎ ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π²ΠΈΠΆΡΠ΅
ΠΡ Π²ΡΡΠ·ΠΊΠ°ΡΠ° ΠΏΠΎ-Π³ΠΎΡΠ΅ ΡΡΡΠΎ Π΅ Π²Π°ΠΆΠ½ΠΎ Π΄Π° Π²Π·Π΅ΠΌΠ΅ΡΠ΅ ΠΏΡΠ΅Π΄Π²ΠΈΠ΄ Π²Π΅ΡΡΠΈΠΈΡΠ΅ ΠΈ ΠΊΠΎΠΌΠΏΠΈΠ»Π°ΡΠΈΠΈΡΠ΅ Π½Π° MS SQL Server, ΡΡΠΉ ΠΊΠ°ΡΠΎ Π·Π° ΠΏΠΎ-Π½ΠΎΠ²ΠΈΡΠ΅ Π²Π΅ΡΡΠΈΠΈ Π½ΡΠΊΠΎΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΡΠ° Π°ΠΊΡΠΈΠ²ΠΈΡΠ°Π½ΠΈ ΠΏΠΎ ΠΏΠΎΠ΄ΡΠ°Π·Π±ΠΈΡΠ°Π½Π΅ ΠΈΠ»ΠΈ Π½ΡΠΌΠ°Ρ Π΅ΡΠ΅ΠΊΡ.
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° Π²ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ ΠΈ ΠΈΠ·ΠΊΠ»ΡΡΠ²Π°ΡΠ΅ ΡΠ»Π°Π³Π° Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΡΡΠΎΡΠ²Π΅ΡΠ½ΠΎ Ρ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡΠ΅ DBCC TRACEON ΠΈ DBCC TRACEOFF. ΠΠ° ΠΏΠΎΠ²Π΅ΡΠ΅ ΠΏΠΎΠ΄ΡΠΎΠ±Π½ΠΎΡΡΠΈ Π²ΠΆ
ΠΠΎΠΆΠ΅ΡΠ΅ Π΄Π° ΠΏΠΎΠ»ΡΡΠΈΡΠ΅ ΡΡΡΡΠΎΡΠ½ΠΈΠ΅ΡΠΎ Π½Π° ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅, ΠΊΠ°ΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°ΡΠ΅ ΠΊΠΎΠΌΠ°Π½Π΄Π°ΡΠ° DBCC TRACESTATUS:
ΠΠ° Π΄Π° Π±ΡΠ΄Π°Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅ΡΠ΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ Π² Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ½ΠΎΡΠΎ ΡΡΠ°ΡΡΠΈΡΠ°Π½Π΅ Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ° MS SQL Server, ΡΡΡΠ±Π²Π° Π΄Π° ΠΎΡΠΈΠ΄Π΅ΡΠ΅ Π² SQL Server Configuration Manager ΠΈ Π΄Π° Π΄ΠΎΠ±Π°Π²ΠΈΡΠ΅ ΡΠ΅Π·ΠΈ ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅ ΡΡΠ΅Π· -T Π² ΡΠ²ΠΎΠΉΡΡΠ²Π°ΡΠ° Π½Π° ΡΡΠ»ΡΠ³Π°ΡΠ°:
Π Π΅Π·ΡΠ»ΡΠ°ΡΠΈ ΠΎΡ
Π ΡΠ°Π·ΠΈ ΡΡΠ°ΡΠΈΡ Π±ΡΡ Π° Π°Π½Π°Π»ΠΈΠ·ΠΈΡΠ°Π½ΠΈ Π½ΡΠΊΠΎΠΈ Π°ΡΠΏΠ΅ΠΊΡΠΈ Π½Π° ΠΌΠΎΠ½ΠΈΡΠΎΡΠΈΠ½Π³Π° Π½Π° MS SQL Server, Ρ ΠΏΠΎΠΌΠΎΡΡΠ° Π½Π° ΠΊΠΎΠΈΡΠΎ ΠΌΠΎΠΆΠ΅ΡΠ΅ Π±ΡΡΠ·ΠΎ Π΄Π° ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΠ°ΡΠ΅ Π»ΠΈΠΏΡΠ°ΡΠ° Π½Π° RAM ΠΈ ΡΠ²ΠΎΠ±ΠΎΠ΄Π½ΠΎ Π²ΡΠ΅ΠΌΠ΅ Π½Π° ΠΏΡΠΎΡΠ΅ΡΠΎΡΠ°, ΠΊΠ°ΠΊΡΠΎ ΠΈ ΡΠ΅Π΄ΠΈΡΠ° Π΄ΡΡΠ³ΠΈ ΠΏΠΎ-ΠΌΠ°Π»ΠΊΠΎ ΠΎΡΠ΅Π²ΠΈΠ΄Π½ΠΈ ΠΏΡΠΎΠ±Π»Π΅ΠΌΠΈ. ΠΡΠ΅Π³Π»Π΅Π΄Π°Π½ΠΈ ΡΠ° Π½Π°ΠΉ-ΡΠ΅ΡΡΠΎ ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½ΠΈΡΠ΅ ΡΠ»Π°Π³ΠΎΠ²Π΅ Π·Π° ΠΏΡΠΎΡΠ»Π΅Π΄ΡΠ²Π°Π½Π΅.
ΠΠ·ΡΠΎΡΠ½ΠΈΡΠΈ:
Β»
Β»
Β»
Β»
Β»
Β»
Β»
ΠΠ·ΡΠΎΡΠ½ΠΈΠΊ: www.habr.com