sync
This commit is contained in:
49
DBG - compute arizona backup size with compression.sql
Normal file
49
DBG - compute arizona backup size with compression.sql
Normal file
@@ -0,0 +1,49 @@
|
||||
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]
|
||||
Reference in New Issue
Block a user