sync current state§
This commit is contained in:
@@ -14,6 +14,8 @@ Creation : 30.12.2022 / TSC
|
||||
Modifications:
|
||||
|
||||
=============================================================================*/
|
||||
|
||||
--If @allJobs is set to 0, then only a subset of jobs are checked (see insert into @jobs)
|
||||
DECLARE @allJobs BIT = 0;
|
||||
DECLARE @jobs TABLE (
|
||||
[name] sysname NOT NULL
|
||||
@@ -32,13 +34,13 @@ BEGIN
|
||||
FROM [msdb].[dbo].[sysjobs] [s]
|
||||
WHERE [s].[name] IN (
|
||||
'zz_tsc OCTPDBA-440 supra'
|
||||
,'__D70010 - After APSSynchroLoad'
|
||||
,'_D73031 - SYNC - H Synchronize items and addresses - Central'
|
||||
,'_D73061 - ITEM - 000 - Manage data before H synchronization - Central'
|
||||
,'_D73071 - ITEM - Manage data after H synchronization - Central'
|
||||
,'_D73110 - SYNC - V Synchronization extraction - Central'
|
||||
,'D73130 - VESTA - SYNC - Interbase 2.0'
|
||||
,'__D03011 - After working hours - Central'
|
||||
--,'__D70010 - After APSSynchroLoad'
|
||||
--,'_D73031 - SYNC - H Synchronize items and addresses - Central'
|
||||
--,'_D73061 - ITEM - 000 - Manage data before H synchronization - Central'
|
||||
--,'_D73071 - ITEM - Manage data after H synchronization - Central'
|
||||
--,'_D73110 - SYNC - V Synchronization extraction - Central'
|
||||
--,'D73130 - VESTA - SYNC - Interbase 2.0'
|
||||
--,'__D03011 - After working hours - Central'
|
||||
);
|
||||
END
|
||||
ELSE
|
||||
|
||||
7
DBG - read trace file.sql
Normal file
7
DBG - read trace file.sql
Normal file
@@ -0,0 +1,7 @@
|
||||
SELECT
|
||||
*
|
||||
FROM fn_trace_gettable('D:\dbJobs\facturation.trc', DEFAULT)
|
||||
WHERE CONVERT(TIME,[EndTime]-[StartTime]) IS NOT NULL
|
||||
AND CONVERT(TIME,[EndTime]-[StartTime]) < '23:59:59.99'
|
||||
AND [TextData] IS NOT NULL
|
||||
ORDER BY [Duration] DESC
|
||||
22
DEV - read a extended event file from ssms.sql
Normal file
22
DEV - read a extended event file from ssms.sql
Normal file
@@ -0,0 +1,22 @@
|
||||
SELECT
|
||||
--CAST(event_data as XML) as event_data,
|
||||
n.value('(@name)[1]', 'varchar(50)') as event_name,
|
||||
n.value('(@package)[1]', 'varchar(50)') AS package_name,
|
||||
n.value('(@timestamp)[1]', 'datetime2') AS [utc_timestamp],
|
||||
n.value('(action[@name="client_app_name"]/value)[1]', 'nvarchar(max)') as client_app_name,
|
||||
n.value('(action[@name="event_sequence"]/value)[1]', 'bigint') AS event_sequence,
|
||||
n.value('(data[@name="duration"]/value)[1]', 'int') as duration,
|
||||
n.value('(data[@name="cpu_time"]/value)[1]', 'int') as cpu,
|
||||
n.value('(data[@name="physical_reads"]/value)[1]', 'int') as physical_reads,
|
||||
n.value('(data[@name="logical_reads"]/value)[1]', 'int') as logical_reads,
|
||||
n.value('(data[@name="writes"]/value)[1]', 'int') as writes,
|
||||
n.value('(data[@name="row_count"]/value)[1]', 'int') as row_count,
|
||||
n.value('(data[@name="last_row_count"]/value)[1]', 'int') as last_row_count,
|
||||
n.value('(data[@name="statement"]/value)[1]', 'nvarchar(max)') as statement,
|
||||
n.value('(data[@name="sql_text"]/value)[1]', 'nvarchar(max)') as sql_text
|
||||
from (select cast(event_data as XML) as event_data
|
||||
from sys.fn_xe_file_target_read_file('D:\SSMS projects\OCTPDBA-444 - Disable CASH Synchronization in Centrals\sunCent\octpdba-443_azcash_0_133171837677290000.xel', null, null, null)) ed
|
||||
cross apply ed.event_data.nodes('event') as q(n)
|
||||
WHERE n.value('(action[@name="client_app_name"]/value)[1]', 'nvarchar(max)') = 'APS® TriaOne-Cash'
|
||||
AND n.value('(data[@name="duration"]/value)[1]', 'int') IS NOT NULL
|
||||
ORDER BY n.value('(action[@name="event_sequence"]/value)[1]', 'bigint') ASC
|
||||
1
OCTPDBA-443 - Disable CASH Synchronization in Pharmacies/.gitignore
vendored
Normal file
1
OCTPDBA-443 - Disable CASH Synchronization in Pharmacies/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.xel
|
||||
1
OCTPDBA-444 - Disable CASH Synchronization in Centrals/.gitignore
vendored
Normal file
1
OCTPDBA-444 - Disable CASH Synchronization in Centrals/.gitignore
vendored
Normal file
@@ -0,0 +1 @@
|
||||
*.xel
|
||||
62
analyse query cache.sql
Normal file
62
analyse query cache.sql
Normal file
@@ -0,0 +1,62 @@
|
||||
/*
|
||||
Attention, toutes les colonnes sont en microseconde. Pour obtenir 1 seconde, diviser par 1'000'000 ;
|
||||
pour obtenir 1 minute, diviser par 60'000'000
|
||||
*/
|
||||
|
||||
/**********************************************************************
|
||||
|
||||
Extraction des requêtes SQL peu performantes sur l'instance SQL.
|
||||
|
||||
Renseigner l'"ORDER BY ... DESC" au préalable.
|
||||
|
||||
Attention, toutes les colonnes sont en microseconde.
|
||||
Pour obtenir 1 seconde, diviser par 1'000'000 ;
|
||||
pour obtenir 1 minute, diviser par 60'000'000.
|
||||
|
||||
**********************************************************************/
|
||||
|
||||
SELECT TOP 100
|
||||
GETDATE() AS [Collection Date]
|
||||
,[qs].[execution_count] AS [Execution Count]
|
||||
,SUBSTRING(
|
||||
[qt].[text]
|
||||
,[qs].[statement_start_offset] / 2 + 1
|
||||
,(CASE
|
||||
WHEN [qs].[statement_end_offset] = -1 THEN LEN(CONVERT(NVARCHAR(MAX), [qt].[text])) * 2
|
||||
ELSE [qs].[statement_end_offset]
|
||||
END - [qs].[statement_start_offset]
|
||||
) / 2
|
||||
) AS [Query Text]
|
||||
,DB_NAME([qt].[dbid]) AS [DB Name]
|
||||
,[qs].[total_worker_time] AS [Total CPU Time]
|
||||
,[qs].[total_worker_time] / [qs].[execution_count] AS [Avg CPU Time (ms)]
|
||||
,[qs].[total_physical_reads] AS [Total Physical Reads]
|
||||
,[qs].[total_physical_reads] / [qs].[execution_count] AS [Avg Physical Reads]
|
||||
,[qs].[total_logical_reads] AS [Total Logical Reads]
|
||||
,[qs].[total_logical_reads] / [qs].[execution_count] AS [Avg Logical Reads]
|
||||
,[qs].[total_logical_writes] AS [Total Logical Writes]
|
||||
,[qs].[total_logical_writes] / [qs].[execution_count] AS [Avg Logical Writes]
|
||||
,[qs].[total_elapsed_time] AS [Total Duration]
|
||||
,[qs].[total_elapsed_time] / 1000000.0 AS [Total Duration seconds]
|
||||
,[qs].[total_elapsed_time] / [qs].[execution_count] / 1000000.0 AS [Avg Duration seconds]
|
||||
,[qp].[query_plan] AS [Plan]
|
||||
,[qs].[creation_time]
|
||||
,[qs].[last_execution_time]
|
||||
FROM [sys].[dm_exec_query_stats] AS [qs]
|
||||
CROSS APPLY [sys].dm_exec_sql_text([qs].[sql_handle]) AS [qt]
|
||||
CROSS APPLY [sys].dm_exec_query_plan([qs].[plan_handle]) AS [qp]
|
||||
WHERE
|
||||
-- [qs].[execution_count] > 50
|
||||
--OR [qs].[total_worker_time] / [qs].[execution_count] > 100 --[Avg CPU Time (ms)]
|
||||
--OR [qs].[total_physical_reads] / [qs].[execution_count] > 1000 --[Avg Physical Reads]
|
||||
[qs].[total_logical_reads] / [qs].[execution_count] > 1000 --[Avg Logical Reads]
|
||||
--OR [qs].[total_logical_writes] / [qs].[execution_count] > 1000 --[Avg Logical Writes]
|
||||
--OR [qs].[total_elapsed_time] / [qs].[execution_count] > 1000 --[Avg Duration (ms)]
|
||||
ORDER BY
|
||||
[Avg Logical Reads] DESC
|
||||
-- [qs].[execution_count] DESC
|
||||
--,[qs].[total_elapsed_time] / [qs].[execution_count] DESC
|
||||
--,[qs].[total_worker_time] / [qs].[execution_count] DESC
|
||||
--,[qs].[total_physical_reads] / [qs].[execution_count] DESC
|
||||
--,[qs].[total_logical_reads] / [qs].[execution_count] DESC
|
||||
--,[qs].[total_logical_writes] / [qs].[execution_count] DESC;
|
||||
54
get autogrowth events.sql
Normal file
54
get autogrowth events.sql
Normal file
@@ -0,0 +1,54 @@
|
||||
DECLARE @filename NVARCHAR(1000);
|
||||
DECLARE @bc INT;
|
||||
DECLARE @ec INT;
|
||||
DECLARE @bfn VARCHAR(1000);
|
||||
DECLARE @efn VARCHAR(10);
|
||||
|
||||
|
||||
-- Get the name of the current default trace /* A REMPLACER PAR "select path from sys.traces" */
|
||||
SELECT @filename = CAST(value AS NVARCHAR(1000))
|
||||
FROM ::fn_trace_getinfo(DEFAULT)
|
||||
WHERE traceid = 1 AND property = 2;
|
||||
|
||||
-- rip apart file name into pieces
|
||||
SET @filename = REVERSE(@filename);
|
||||
SET @bc = CHARINDEX('.',@filename);
|
||||
SET @ec = CHARINDEX('_',@filename)+1;
|
||||
SET @efn = REVERSE(SUBSTRING(@filename,1,@bc));
|
||||
SET @bfn = REVERSE(SUBSTRING(@filename,@ec,LEN(@filename)));
|
||||
|
||||
-- set filename without rollover number
|
||||
SET @filename = @bfn + @efn
|
||||
|
||||
-- process all trace files
|
||||
SELECT te.name AS EventName,
|
||||
DB_NAME(ftg.databaseid) AS DatabaseName,
|
||||
ftg.Filename,
|
||||
ftg.StartTime,
|
||||
ftg.EndTime,
|
||||
(ftg.IntegerData*8)/1024.0 AS GrowthMB,
|
||||
(ftg.duration/1000)AS DurationMS,
|
||||
ftg.ApplicationName,
|
||||
j.name AS JobName,
|
||||
ftg.HostName,
|
||||
ftg.NTDomainName,
|
||||
ftg.LoginName
|
||||
FROM ::fn_trace_gettable(@filename, DEFAULT) AS ftg
|
||||
JOIN sys.trace_events AS te
|
||||
ON ftg.EventClass = te.trace_event_id
|
||||
LEFT OUTER JOIN msdb.dbo.sysjobs j
|
||||
ON ftg.ApplicationName LIKE 'SQLAgent%'
|
||||
AND CONVERT(NVARCHAR(MAX), CONVERT(VARBINARY, j.job_id), 1) = SUBSTRING(ftg.ApplicationName,
|
||||
CHARINDEX('0x', ftg.ApplicationName),
|
||||
CHARINDEX(' ',
|
||||
ftg.ApplicationName,
|
||||
CHARINDEX('0x', ftg.ApplicationName)
|
||||
)-CHARINDEX('0x', ftg.ApplicationName)
|
||||
)
|
||||
WHERE ( ftg.EventClass = 92 -- Date File Auto-grow
|
||||
OR ftg.EventClass = 93 -- Log File Auto-grow
|
||||
OR ftg.EventClass = 94 -- Data File Auto Shrink
|
||||
OR ftg.EventClass = 95) -- Log File Auto Shrink
|
||||
--AND DB_NAME(ftg.databaseid) IN( 'arizona','tempdb')
|
||||
ORDER BY ftg.StartTime
|
||||
|
||||
@@ -3,7 +3,7 @@ IF OBJECT_ID('tempdb..#dbs')IS NOT NULL BEGIN;
|
||||
DROP TABLE #dbs;
|
||||
END;
|
||||
|
||||
CREATE TABLE #dbs ( [database_name] nvarchar(128), [log_size_mb] decimal(18,2), [row_size_mb] decimal(18,2), [total_size_mb] decimal(18,2) )
|
||||
CREATE TABLE #dbs ( [database_name] NVARCHAR(128), [log_size_mb] DECIMAL(18,2), [row_size_mb] DECIMAL(18,2), [total_size_mb] DECIMAL(18,2) )
|
||||
|
||||
INSERT INTO [#dbs] ([database_name], [log_size_mb], [row_size_mb], [total_size_mb])
|
||||
SELECT
|
||||
@@ -28,18 +28,26 @@ DBCC SHRINKFILE (N'''+f.[name]+''' , 0, TRUNCATEONLY);
|
||||
GO
|
||||
|
||||
' AS shrinkData
|
||||
,'USE '+d.name+';
|
||||
DBCC SHRINKFILE (N'''+f.[name]+''' , 1024);
|
||||
GO
|
||||
|
||||
' AS reorganizeData
|
||||
FROM sys.master_files F
|
||||
JOIN sys.databases d ON d.[database_id] = f.[database_id]
|
||||
JOIN [#dbs] [d2] ON d2.[database_name] = d.[name]
|
||||
WHERE f.type_desc = 'ROWS' --mdf
|
||||
AND d.[is_read_only] = 0
|
||||
AND d.[is_auto_shrink_on] = 0
|
||||
AND d.name NOT IN (
|
||||
'master'
|
||||
,'tempdb'
|
||||
,'model'
|
||||
,'msdb'
|
||||
WHERE f.type_desc IN (
|
||||
'ROWS' --mdf
|
||||
--'LOG'
|
||||
)
|
||||
--AND d.[is_read_only] = 0
|
||||
--AND d.[is_auto_shrink_on] = 0
|
||||
--AND d.name NOT IN (
|
||||
-- 'master'
|
||||
-- ,'tempdb'
|
||||
-- ,'model'
|
||||
-- ,'msdb'
|
||||
--)
|
||||
ORDER BY [d2].[row_size_mb] DESC, d.name DESC, f.name ASC ;
|
||||
|
||||
--free disk space
|
||||
@@ -50,6 +58,8 @@ convert(varchar(512), b.volume_mount_point) as [volume_mount_point]
|
||||
, convert(bigint, round(((b.available_bytes / 1024.0)/1024.0),0)) as [free_mb]
|
||||
, convert(bigint, round(((b.total_bytes / 1024.0)/1024.0),0)) as [total_mb]
|
||||
, convert(bigint, round((((b.total_bytes - b.available_bytes) / 1024.0)/1024.0),0)) as [used_mb]
|
||||
, CURRENT_TIMESTAMP AS now
|
||||
,REPLACE(@@SERVERNAME ,'\apssql','')AS srvName
|
||||
from sys.master_files as [a]
|
||||
CROSS APPLY sys.dm_os_volume_stats(a.database_id, a.[file_id]) as [b]
|
||||
ORDER BY [percent_free] ASC
|
||||
|
||||
@@ -5,7 +5,6 @@ DECLARE @MonthPre VARCHAR(2)
|
||||
DECLARE @Day VARCHAR(2)
|
||||
DECLARE @DayPre VARCHAR(2)
|
||||
DECLARE @FinalDate INT
|
||||
|
||||
-- Initialize Variables
|
||||
SET @PreviousDate = DATEADD(dd, -2, GETDATE()) -- Last 2 days
|
||||
SET @Year = DATEPART(yyyy, @PreviousDate)
|
||||
@@ -14,7 +13,6 @@ SELECT @Month = RIGHT(CONVERT(VARCHAR, (@MonthPre + 1000000000)),2)
|
||||
SELECT @DayPre = CONVERT(VARCHAR(2), DATEPART(dd, @PreviousDate))
|
||||
SELECT @Day = RIGHT(CONVERT(VARCHAR, (@DayPre + 1000000000)),2)
|
||||
SET @FinalDate = CAST(@Year + @Month + @Day AS INT)
|
||||
|
||||
-- Final Logic
|
||||
SELECT j.[name],
|
||||
s.step_name,
|
||||
|
||||
@@ -8,7 +8,6 @@ BEGIN
|
||||
END
|
||||
GO
|
||||
|
||||
|
||||
CREATE EVENT SESSION [octpdba-443_azcash] ON SERVER
|
||||
ADD EVENT sqlserver.attention(
|
||||
ACTION(package0.event_sequence,sqlserver.client_app_name,sqlserver.client_pid,sqlserver.nt_username,sqlserver.query_hash,sqlserver.server_principal_name,sqlserver.session_id,sqlserver.sql_text)
|
||||
@@ -28,7 +27,7 @@ ADD EVENT sqlserver.sql_statement_completed(
|
||||
ADD EVENT sqlserver.sql_statement_starting(
|
||||
ACTION(sqlserver.client_app_name,sqlserver.sql_text)
|
||||
WHERE ([sqlserver].[database_name]=N'arizonaCash'))
|
||||
ADD TARGET package0.event_file(SET filename=N'd:\octpdba-443_azcash',max_file_size=(100))
|
||||
ADD TARGET package0.event_file(SET filename=N'e:\octpdba-443_azcash',max_file_size=(100), max_rollover_files = 5)
|
||||
WITH (MAX_MEMORY=8192 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,MAX_DISPATCH_LATENCY=5 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=PER_CPU,TRACK_CAUSALITY=ON,STARTUP_STATE=ON)
|
||||
GO
|
||||
|
||||
|
||||
Reference in New Issue
Block a user