How can your organization benefit from savings just by replacing your legacy backup solutions with Acronis' #CyberProtection? Join Forrester's Joe Branca and Ryan Davis from Acronis live as they explain how you can too.
IF OBJECT_ID('[tempdb].[dbo].[#DatabaseFiles]') IS NULL
BEGIN
SELECT TOP 0 * INTO [#DatabaseFiles]
FROM sys.database_files
ALTER TABLE #DatabaseFiles
ADD CreationDate DATETIME DEFAULT(GETDATE())
END
IF OBJECT_ID('[tempdb].[dbo].[#DatabaseFilesHistory]') IS NULL
BEGIN
CREATE TABLE [#DatabaseFilesHistory]
(
[database_name] [sysname] NOT NULL
, [database_size] [decimal] NOT NULL
, [database_state] [nvarchar](60) NULL
, [database_max_size] [decimal] NOT NULL
, [database_growth] [decimal] NOT NULL
, [create_date] [smalldatetime] NOT NULL
)
END
TRUNCATE TABLE #DatabaseFiles
EXECUTE sp_msforeachdb 'INSERT INTO #DatabaseFiles SELECT *, GETDATE() FROM [?].sys.database_files'
INSERT
INTO [dbo].[#DatabaseFilesHistory]
(
[database_name]
, [database_size]
, [database_state]
, [database_max_size]
, [database_growth]
, [create_date]
)
SELECT name
, CAST(((size * 8.00)/1024.00) AS DECIMAL(18,2))
, state_desc
, CAST(((max_size * 8.00)/1024.00) AS DECIMAL(18,2))
, CAST(((growth * 8.00)/1024.00) AS DECIMAL(18,2))
, CreationDate
FROM [dbo].[#DatabaseFiles]
SELECT *
FROM [dbo].[#DatabaseFilesHistory]
ORDER
BY database_name ASC, create_date DESC
Do more with
....
;with a as (
select *, row_number() over(partition by database_name order create_date desc) as rown
from #DatabaseFilesHistory
)
....
;with CTE as (
select database_name,
create_date,
database_size,
row_number() over(partition by database_name order by create_date desc) as rown
from #DatabaseFilesHistory
)
select t1.database_name,
t1.create_date,
t1.database_size,
(100*(t1.database_size-t2.database_size)/t2.database_size)
from CTE t1
inner join CTE t2 on t1.database_name = t2.database_name
where t1.rown = 1 and
t2.rown = 2
Premium Content
You need an Expert Office subscription to comment.Start Free Trial