49 lines
2.1 KiB
PL/PgSQL
49 lines
2.1 KiB
PL/PgSQL
IF OBJECT_ID('tempdb..#state')IS NOT NULL BEGIN;
|
|
DROP TABLE #state;
|
|
END;
|
|
|
|
SELECT
|
|
database_name = DB_NAME(database_id)
|
|
, log_size_mb = CAST(SUM(CASE WHEN f.type_desc = 'LOG' THEN size END) * 8. / 1024 AS DECIMAL(18,2))
|
|
, row_size_mb = CAST(SUM(CASE WHEN type_desc = 'ROWS' THEN size END) * 8. / 1024 AS DECIMAL(18,2))
|
|
, total_size_mb = CAST(SUM(size) * 8. / 1024 AS DECIMAL(18,2))
|
|
, CAST(NULL AS DECIMAL(18,2)) AS compression_backup_percent
|
|
, CAST(NULL AS DECIMAL(18,2)) AS compressed_backup_size_MB
|
|
INTO #state
|
|
FROM sys.master_files F WITH(NOWAIT)
|
|
WHERE LOWER(DB_NAME(database_id)) = 'arizona'
|
|
GROUP BY F.database_id
|
|
|
|
--#region start dummy backup
|
|
BACKUP DATABASE [Arizona] TO DISK = N'nul' WITH COPY_ONLY, NOFORMAT, INIT, NAME = N'Arizona-Full Database Backup', SKIP, NOREWIND, NOUNLOAD, COMPRESSION, STATS = 10
|
|
--#endregion start dummy backup
|
|
|
|
--#region compute last backup compressed size
|
|
UPDATE s SET [s].[compression_backup_percent] = x.[compressPct]
|
|
, s.[compressed_backup_size_MB] = x.[compressed_bkp_MB]
|
|
FROM [#state] s
|
|
CROSS APPLY (
|
|
SELECT TOP (1)
|
|
[a].[backup_start_date]
|
|
,[a].[backup_finish_date]
|
|
,[a].[type]
|
|
,[a].[backup_size]
|
|
,[a].[backup_size] / 1024 / 1024 / 1024 AS bkp_size_GB
|
|
,[a].[backup_size] / 1024 / 1024 AS bkp_size_MB
|
|
,[a].[compressed_backup_size]
|
|
,[a].[compressed_backup_size] / 1024 / 1024 / 1024 AS compressed_bkp_GB
|
|
,[a].[compressed_backup_size] / 1024 / 1024 AS compressed_bkp_MB
|
|
,[a].[is_copy_only]
|
|
,compressPct = CAST(100.0 * [a].[compressed_backup_size] / [a].[backup_size] AS DECIMAL(5, 1))
|
|
FROM msdb.dbo.backupset a
|
|
WHERE LOWER([a].[database_name]) = 'arizona' --LOWER(s.[database_name])
|
|
AND [a].[type]='D' --full bkp only
|
|
AND [a].[is_copy_only] = 1
|
|
AND [a].[backup_start_date] > DATEADD(HOUR, -1, CURRENT_TIMESTAMP)
|
|
ORDER BY [a].[backup_start_date] DESC
|
|
) x
|
|
--#endregion compute last backup compressed size
|
|
|
|
|
|
SELECT *
|
|
FROM [#state] |