May 17, 2026, 11:40 PM
This commit is contained in:
+1245
File diff suppressed because it is too large
Load Diff
+2826
File diff suppressed because it is too large
Load Diff
+1245
File diff suppressed because it is too large
Load Diff
+1670
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1395
File diff suppressed because it is too large
Load Diff
+3542
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+1859
File diff suppressed because it is too large
Load Diff
+3682
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+3909
File diff suppressed because it is too large
Load Diff
+2009
File diff suppressed because it is too large
Load Diff
+3962
File diff suppressed because it is too large
Load Diff
+1991
File diff suppressed because it is too large
Load Diff
+4076
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
+4131
File diff suppressed because it is too large
Load Diff
File diff suppressed because it is too large
Load Diff
@@ -0,0 +1,119 @@
|
||||
USE msdb;
|
||||
GO
|
||||
|
||||
WITH BackupData AS (
|
||||
SELECT
|
||||
database_name,
|
||||
CAST(backup_start_date AS DATE) AS backup_date,
|
||||
DAY(backup_start_date) AS backup_day,
|
||||
CASE type
|
||||
WHEN 'D' THEN 'Full Backup'
|
||||
WHEN 'I' THEN 'Differential Backup'
|
||||
WHEN 'L' THEN 'Transaction Log Backup'
|
||||
END AS backup_type,
|
||||
DATEDIFF(MINUTE, backup_start_date, backup_finish_date) AS duration_minutes,
|
||||
cast((compressed_backup_size / 1024 / 1024/1024) as numeric(18,2)) AS size_gb
|
||||
FROM dbo.backupset
|
||||
WHERE
|
||||
backup_start_date >= '2025-06-01'
|
||||
AND backup_start_date < '2025-07-01'
|
||||
)
|
||||
SELECT
|
||||
database_name,
|
||||
backup_type,
|
||||
COUNT(CASE WHEN backup_day = 1 THEN 1 END) AS [Day 1],
|
||||
SUM(CASE WHEN backup_day = 1 THEN duration_minutes ELSE 0 END) AS [Duration 1],
|
||||
SUM(CASE WHEN backup_day = 1 THEN size_gb ELSE 0 END) AS [Size GB 1],
|
||||
COUNT(CASE WHEN backup_day = 2 THEN 1 END) AS [Day 2],
|
||||
SUM(CASE WHEN backup_day = 2 THEN duration_minutes ELSE 0 END) AS [Duration 2],
|
||||
SUM(CASE WHEN backup_day = 2 THEN size_gb ELSE 0 END) AS [Size GB 2],
|
||||
COUNT(CASE WHEN backup_day = 3 THEN 1 END) AS [Day 3],
|
||||
SUM(CASE WHEN backup_day = 3 THEN duration_minutes ELSE 0 END) AS [Duration 3],
|
||||
SUM(CASE WHEN backup_day = 3 THEN size_gb ELSE 0 END) AS [Size GB 3],
|
||||
COUNT(CASE WHEN backup_day = 4 THEN 1 END) AS [Day 4],
|
||||
SUM(CASE WHEN backup_day = 4 THEN duration_minutes ELSE 0 END) AS [Duration 4],
|
||||
SUM(CASE WHEN backup_day = 4 THEN size_gb ELSE 0 END) AS [Size GB 4],
|
||||
COUNT(CASE WHEN backup_day = 5 THEN 1 END) AS [Day 5],
|
||||
SUM(CASE WHEN backup_day = 5 THEN duration_minutes ELSE 0 END) AS [Duration 5],
|
||||
SUM(CASE WHEN backup_day = 5 THEN size_gb ELSE 0 END) AS [Size GB 5],
|
||||
COUNT(CASE WHEN backup_day = 6 THEN 1 END) AS [Day 6],
|
||||
SUM(CASE WHEN backup_day = 6 THEN duration_minutes ELSE 0 END) AS [Duration 6],
|
||||
SUM(CASE WHEN backup_day = 6 THEN size_gb ELSE 0 END) AS [Size GB 6],
|
||||
COUNT(CASE WHEN backup_day = 7 THEN 1 END) AS [Day 7],
|
||||
SUM(CASE WHEN backup_day = 7 THEN duration_minutes ELSE 0 END) AS [Duration 7],
|
||||
SUM(CASE WHEN backup_day = 7 THEN size_gb ELSE 0 END) AS [Size GB 7],
|
||||
COUNT(CASE WHEN backup_day = 8 THEN 1 END) AS [Day 8],
|
||||
SUM(CASE WHEN backup_day = 8 THEN duration_minutes ELSE 0 END) AS [Duration 8],
|
||||
SUM(CASE WHEN backup_day = 8 THEN size_gb ELSE 0 END) AS [Size GB 8],
|
||||
COUNT(CASE WHEN backup_day = 9 THEN 1 END) AS [Day 9],
|
||||
SUM(CASE WHEN backup_day = 9 THEN duration_minutes ELSE 0 END) AS [Duration 9],
|
||||
SUM(CASE WHEN backup_day = 9 THEN size_gb ELSE 0 END) AS [Size GB 9],
|
||||
COUNT(CASE WHEN backup_day = 10 THEN 1 END) AS [Day 10],
|
||||
SUM(CASE WHEN backup_day = 10 THEN duration_minutes ELSE 0 END) AS [Duration 10],
|
||||
SUM(CASE WHEN backup_day = 10 THEN size_gb ELSE 0 END) AS [Size GB 10],
|
||||
COUNT(CASE WHEN backup_day = 11 THEN 1 END) AS [Day 11],
|
||||
SUM(CASE WHEN backup_day = 11 THEN duration_minutes ELSE 0 END) AS [Duration 11],
|
||||
SUM(CASE WHEN backup_day = 11 THEN size_gb ELSE 0 END) AS [Size GB 11],
|
||||
COUNT(CASE WHEN backup_day = 12 THEN 1 END) AS [Day 12],
|
||||
SUM(CASE WHEN backup_day = 12 THEN duration_minutes ELSE 0 END) AS [Duration 12],
|
||||
SUM(CASE WHEN backup_day = 12 THEN size_gb ELSE 0 END) AS [Size GB 12],
|
||||
COUNT(CASE WHEN backup_day = 13 THEN 1 END) AS [Day 13],
|
||||
SUM(CASE WHEN backup_day = 13 THEN duration_minutes ELSE 0 END) AS [Duration 13],
|
||||
SUM(CASE WHEN backup_day = 13 THEN size_gb ELSE 0 END) AS [Size GB 13],
|
||||
COUNT(CASE WHEN backup_day = 14 THEN 1 END) AS [Day 14],
|
||||
SUM(CASE WHEN backup_day = 14 THEN duration_minutes ELSE 0 END) AS [Duration 14],
|
||||
SUM(CASE WHEN backup_day = 14 THEN size_gb ELSE 0 END) AS [Size GB 14],
|
||||
COUNT(CASE WHEN backup_day = 15 THEN 1 END) AS [Day 15],
|
||||
SUM(CASE WHEN backup_day = 15 THEN duration_minutes ELSE 0 END) AS [Duration 15],
|
||||
SUM(CASE WHEN backup_day = 15 THEN size_gb ELSE 0 END) AS [Size GB 15],
|
||||
COUNT(CASE WHEN backup_day = 16 THEN 1 END) AS [Day 16],
|
||||
SUM(CASE WHEN backup_day = 16 THEN duration_minutes ELSE 0 END) AS [Duration 16],
|
||||
SUM(CASE WHEN backup_day = 16 THEN size_gb ELSE 0 END) AS [Size GB 16],
|
||||
COUNT(CASE WHEN backup_day = 17 THEN 1 END) AS [Day 17],
|
||||
SUM(CASE WHEN backup_day = 17 THEN duration_minutes ELSE 0 END) AS [Duration 17],
|
||||
SUM(CASE WHEN backup_day = 17 THEN size_gb ELSE 0 END) AS [Size GB 17],
|
||||
COUNT(CASE WHEN backup_day = 18 THEN 1 END) AS [Day 18],
|
||||
SUM(CASE WHEN backup_day = 18 THEN duration_minutes ELSE 0 END) AS [Duration 18],
|
||||
SUM(CASE WHEN backup_day = 18 THEN size_gb ELSE 0 END) AS [Size GB 18],
|
||||
COUNT(CASE WHEN backup_day = 19 THEN 1 END) AS [Day 19],
|
||||
SUM(CASE WHEN backup_day = 19 THEN duration_minutes ELSE 0 END) AS [Duration 19],
|
||||
SUM(CASE WHEN backup_day = 19 THEN size_gb ELSE 0 END) AS [Size GB 19],
|
||||
COUNT(CASE WHEN backup_day = 20 THEN 1 END) AS [Day 20],
|
||||
SUM(CASE WHEN backup_day = 20 THEN duration_minutes ELSE 0 END) AS [Duration 20],
|
||||
SUM(CASE WHEN backup_day = 20 THEN size_gb ELSE 0 END) AS [Size GB 20],
|
||||
COUNT(CASE WHEN backup_day = 21 THEN 1 END) AS [Day 21],
|
||||
SUM(CASE WHEN backup_day = 21 THEN duration_minutes ELSE 0 END) AS [Duration 21],
|
||||
SUM(CASE WHEN backup_day = 21 THEN size_gb ELSE 0 END) AS [Size GB 21],
|
||||
COUNT(CASE WHEN backup_day = 22 THEN 1 END) AS [Day 22],
|
||||
SUM(CASE WHEN backup_day = 22 THEN duration_minutes ELSE 0 END) AS [Duration 22],
|
||||
SUM(CASE WHEN backup_day = 22 THEN size_gb ELSE 0 END) AS [Size GB 22],
|
||||
COUNT(CASE WHEN backup_day = 23 THEN 1 END) AS [Day 23],
|
||||
SUM(CASE WHEN backup_day = 23 THEN duration_minutes ELSE 0 END) AS [Duration 23],
|
||||
SUM(CASE WHEN backup_day = 23 THEN size_gb ELSE 0 END) AS [Size GB 23],
|
||||
COUNT(CASE WHEN backup_day = 24 THEN 1 END) AS [Day 24],
|
||||
SUM(CASE WHEN backup_day = 24 THEN duration_minutes ELSE 0 END) AS [Duration 24],
|
||||
SUM(CASE WHEN backup_day = 24 THEN size_gb ELSE 0 END) AS [Size GB 24],
|
||||
COUNT(CASE WHEN backup_day = 25 THEN 1 END) AS [Day 25],
|
||||
SUM(CASE WHEN backup_day = 25 THEN duration_minutes ELSE 0 END) AS [Duration 25],
|
||||
SUM(CASE WHEN backup_day = 25 THEN size_gb ELSE 0 END) AS [Size GB 25],
|
||||
COUNT(CASE WHEN backup_day = 26 THEN 1 END) AS [Day 26],
|
||||
SUM(CASE WHEN backup_day = 26 THEN duration_minutes ELSE 0 END) AS [Duration 26],
|
||||
SUM(CASE WHEN backup_day = 26 THEN size_gb ELSE 0 END) AS [Size GB 26],
|
||||
COUNT(CASE WHEN backup_day = 27 THEN 1 END) AS [Day 27],
|
||||
SUM(CASE WHEN backup_day = 27 THEN duration_minutes ELSE 0 END) AS [Duration 27],
|
||||
SUM(CASE WHEN backup_day = 27 THEN size_gb ELSE 0 END) AS [Size GB 27],
|
||||
COUNT(CASE WHEN backup_day = 28 THEN 1 END) AS [Day 28],
|
||||
SUM(CASE WHEN backup_day = 28 THEN duration_minutes ELSE 0 END) AS [Duration 28],
|
||||
SUM(CASE WHEN backup_day = 28 THEN size_gb ELSE 0 END) AS [Size GB 28],
|
||||
COUNT(CASE WHEN backup_day = 29 THEN 1 END) AS [Day 29],
|
||||
SUM(CASE WHEN backup_day = 29 THEN duration_minutes ELSE 0 END) AS [Duration 29],
|
||||
SUM(CASE WHEN backup_day = 29 THEN size_gb ELSE 0 END) AS [Size GB 29],
|
||||
COUNT(CASE WHEN backup_day = 30 THEN 1 END) AS [Day 30],
|
||||
SUM(CASE WHEN backup_day = 30 THEN duration_minutes ELSE 0 END) AS [Duration 30],
|
||||
SUM(CASE WHEN backup_day = 30 THEN size_gb ELSE 0 END) AS [Size GB 30],
|
||||
COUNT(CASE WHEN backup_day = 31 THEN 1 END) AS [Day 31],
|
||||
SUM(CASE WHEN backup_day = 31 THEN duration_minutes ELSE 0 END) AS [Duration 31],
|
||||
SUM(CASE WHEN backup_day = 31 THEN size_gb ELSE 0 END) AS [Size GB 31]
|
||||
FROM BackupData
|
||||
GROUP BY database_name, backup_type
|
||||
ORDER BY database_name, backup_type;
|
||||
@@ -0,0 +1 @@
|
||||
W tym miejscu będziw wszystko co może dotyczyć przestrzeni temporarnej
|
||||
@@ -0,0 +1,28 @@
|
||||
--Tempdb session File usage
|
||||
--sys.dm_db_session_space_usage : Returns the number of pages allocated and deallocated by each session for the database.
|
||||
--sys.dm_exec_sessions: Gives details about the sessions.
|
||||
|
||||
SELECT
|
||||
sys.dm_exec_sessions.session_id AS [SESSION ID],
|
||||
db_name(sys.dm_db_session_space_usage.database_id) AS [DATABASE Name],
|
||||
HOST_NAME AS [System Name],
|
||||
program_name AS [Program Name],
|
||||
login_name AS [USER Name],
|
||||
status,
|
||||
cpu_time AS [CPU TIME (in milisec)],
|
||||
total_scheduled_time AS [Total Scheduled TIME (in milisec)],
|
||||
total_elapsed_time AS [Elapsed TIME (in milisec)],
|
||||
(memory_usage * 8) AS [Memory USAGE (in KB)],
|
||||
(user_objects_alloc_page_count * 8) AS [SPACE Allocated FOR USER Objects (in KB)],
|
||||
(user_objects_dealloc_page_count * 8) AS [SPACE Deallocated FOR USER Objects (in KB)],
|
||||
(internal_objects_alloc_page_count * 8) AS [SPACE Allocated FOR Internal Objects (in KB)],
|
||||
(internal_objects_dealloc_page_count * 8) AS [SPACE Deallocated FOR Internal Objects (in KB)],
|
||||
CASE is_user_process
|
||||
WHEN 1 THEN 'user session'
|
||||
WHEN 0 THEN 'system session'
|
||||
END AS [SESSION Type], row_count AS [ROW COUNT]
|
||||
FROM sys.dm_db_session_space_usage
|
||||
INNER join
|
||||
sys.dm_exec_sessions
|
||||
ON sys.dm_db_session_space_usage.session_id = sys.dm_exec_sessions.session_id
|
||||
|
||||
@@ -0,0 +1,25 @@
|
||||
--A long running transaction may prevent cleanup of transaction log thus eating up all log space available resulting space crisis for all other applications.
|
||||
|
||||
SELECT
|
||||
transaction_id AS [Transacton ID],
|
||||
[name] AS [TRANSACTION Name],
|
||||
transaction_begin_time AS [TRANSACTION BEGIN TIME],
|
||||
DATEDIFF(mi, transaction_begin_time, GETDATE()) AS [Elapsed TIME (in MIN)],
|
||||
CASE transaction_type
|
||||
WHEN 1 THEN 'Read/write'
|
||||
WHEN 2 THEN 'Read-only'
|
||||
WHEN 3 THEN 'System'
|
||||
WHEN 4 THEN 'Distributed'
|
||||
END AS [TRANSACTION Type],
|
||||
CASE transaction_state
|
||||
WHEN 0 THEN 'The transaction has not been completely initialized yet.'
|
||||
WHEN 1 THEN 'The transaction has been initialized but has not started.'
|
||||
WHEN 2 THEN 'The transaction is active.'
|
||||
WHEN 3 THEN 'The transaction has ended. This is used for read-only transactions.'
|
||||
WHEN 4 THEN 'The commit process has been initiated on the distributed transaction. This is for distributed transactions only. The distributed transaction is still active but further processing cannot take place.'
|
||||
WHEN 5 THEN 'The transaction is in a prepared state and waiting resolution.'
|
||||
WHEN 6 THEN 'The transaction has been committed.'
|
||||
WHEN 7 THEN 'The transaction is being rolled back.'
|
||||
WHEN 8 THEN 'The transaction has been rolled back.'
|
||||
END AS [TRANSACTION Description]
|
||||
FROM sys.dm_tran_active_transactions
|
||||
@@ -0,0 +1,30 @@
|
||||
--Long running Queries
|
||||
|
||||
-- sys.dm_exec_requests : Returns information regarding the requests made to the database server.
|
||||
|
||||
SELECT
|
||||
HOST_NAME AS [System Name],
|
||||
program_name AS [Application Name],
|
||||
DB_NAME(sys.dm_exec_sessions.database_id) AS [DATABASE Name],
|
||||
USER_NAME(USER_ID) AS [USER Name],
|
||||
connection_id AS [CONNECTION ID],
|
||||
sys.dm_exec_requests.session_id AS [CURRENT SESSION ID],
|
||||
blocking_session_id AS [Blocking SESSION ID],
|
||||
start_time AS [Request START TIME],
|
||||
sys.dm_exec_requests.status AS [Status],
|
||||
command AS [Command Type],
|
||||
(SELECT TEXT FROM sys.dm_exec_sql_text(sql_handle)) AS [Query TEXT],
|
||||
wait_type AS [Waiting Type],
|
||||
wait_time AS [Waiting Duration],
|
||||
wait_resource AS [Waiting FOR Resource],
|
||||
sys.dm_exec_requests.transaction_id AS [TRANSACTION ID],
|
||||
percent_complete AS [PERCENT Completed],
|
||||
estimated_completion_time AS [Estimated COMPLETION TIME (in mili sec)],
|
||||
sys.dm_exec_requests.cpu_time AS [CPU TIME used (in mili sec)],
|
||||
(memory_usage * 8) AS [Memory USAGE (in KB)],
|
||||
sys.dm_exec_requests.total_elapsed_time AS [Elapsed TIME (in mili sec)]
|
||||
FROM sys.dm_exec_requests
|
||||
INNER join
|
||||
sys.dm_exec_sessions
|
||||
ON sys.dm_exec_requests.session_id = sys.dm_exec_sessions.session_id
|
||||
WHERE DB_NAME(sys.dm_exec_sessions.database_id) = 'tempdb'
|
||||
@@ -0,0 +1,38 @@
|
||||
-- Determining the Amount of Free Space in tempdb
|
||||
SELECT SUM(unallocated_extent_page_count) AS [free pages],
|
||||
(SUM(unallocated_extent_page_count)*1.0/128) AS [free space in MB]
|
||||
FROM sys.dm_db_file_space_usage;
|
||||
|
||||
-- Determining the Amount Space Used by the Version Store
|
||||
SELECT SUM(version_store_reserved_page_count) AS [version store pages used],
|
||||
(SUM(version_store_reserved_page_count)*1.0/128) AS [version store space in MB]
|
||||
FROM sys.dm_db_file_space_usage;
|
||||
|
||||
-- Determining the Amount of Space Used by Internal Objects
|
||||
SELECT SUM(internal_object_reserved_page_count) AS [internal object pages used],
|
||||
(SUM(internal_object_reserved_page_count)*1.0/128) AS [internal object space in MB]
|
||||
FROM sys.dm_db_file_space_usage;
|
||||
|
||||
-- Determining the Amount of Space Used by User Objects
|
||||
SELECT SUM(user_object_reserved_page_count) AS [user object pages used],
|
||||
(SUM(user_object_reserved_page_count)*1.0/128) AS [user object space in MB]
|
||||
FROM sys.dm_db_file_space_usage;
|
||||
|
||||
-- Obtaining the space consumed by internal objects in all currently running tasks in each session
|
||||
SELECT session_id,
|
||||
SUM(internal_objects_alloc_page_count) AS task_internal_objects_alloc_page_count,
|
||||
SUM(internal_objects_dealloc_page_count) AS task_internal_objects_dealloc_page_count
|
||||
FROM sys.dm_db_task_space_usage
|
||||
GROUP BY session_id;
|
||||
|
||||
|
||||
-- Obtaining the space consumed by internal objects in the current session for both running and completed tasks
|
||||
SELECT R2.session_id,
|
||||
R1.internal_objects_alloc_page_count
|
||||
+ SUM(R2.internal_objects_alloc_page_count) AS session_internal_objects_alloc_page_count,
|
||||
R1.internal_objects_dealloc_page_count
|
||||
+ SUM(R2.internal_objects_dealloc_page_count) AS session_internal_objects_dealloc_page_count
|
||||
FROM sys.dm_db_session_space_usage AS R1
|
||||
INNER JOIN sys.dm_db_task_space_usage AS R2 ON R1.session_id = R2.session_id
|
||||
GROUP BY R2.session_id, R1.internal_objects_alloc_page_count,
|
||||
R1.internal_objects_dealloc_page_count;;
|
||||
@@ -0,0 +1,19 @@
|
||||
-- To check current tempdb size and growth parameters, use the following query:
|
||||
SELECT name AS FileName,
|
||||
size*1.0/128 AS FileSizeinMB,
|
||||
CASE max_size
|
||||
WHEN 0 THEN 'Autogrowth is off.'
|
||||
WHEN -1 THEN 'Autogrowth is on.'
|
||||
ELSE 'Log file grows to a maximum size of 2 TB.'
|
||||
END,
|
||||
growth AS 'GrowthValue',
|
||||
'GrowthIncrement' =
|
||||
CASE
|
||||
WHEN growth = 0 THEN 'Size is fixed.'
|
||||
WHEN growth > 0 AND is_percent_growth = 0
|
||||
THEN 'Growth value is in 8-KB pages.'
|
||||
ELSE 'Growth value is a percentage.'
|
||||
END
|
||||
FROM tempdb.sys.database_files;
|
||||
GO
|
||||
|
||||
Reference in New Issue
Block a user