USP_DATABASESPACEUSED_TOPNIDSET
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@MAXROWS | int | IN | |
@ORDERBY | tinyint | IN | |
@OWNERID | uniqueidentifier | IN |
Definition
Copy
CREATE procedure dbo.[USP_DATABASESPACEUSED_TOPNIDSET]
(
@MAXROWS integer = 20,
@ORDERBY tinyint = 0,
@OWNERID uniqueidentifier = null
)
as begin
set nocount on;
select top (@MAXROWS)
[DATABASESPACEUSED].[NAME],
[IDSETREGISTER].[NAME] as [IDSETREGISTERNAME],
coalesce(case when [ADHOCQUERYOWNER].[DISPLAYNAME] = '' then [ADHOCQUERYOWNER].[USERNAME] else [ADHOCQUERYOWNER].[DISPLAYNAME] end,
case when [SMARTQUERYOWNER].[DISPLAYNAME] = '' then [SMARTQUERYOWNER].[USERNAME] else [SMARTQUERYOWNER].[DISPLAYNAME] end,
case when [IDSETREGISTEROWNER].[DISPLAYNAME] = '' then [IDSETREGISTEROWNER].[USERNAME] else [IDSETREGISTEROWNER].[DISPLAYNAME] end,
'') as [OWNER],
case when [ADHOCQUERY].[ID] is not null then isnull([SITE].[NAME], '###ALLSITES###') else '' end as [SITE],
[IDSETREGISTER].[DATECHANGED],
[DATABASESPACEUSED].[ROWS],
[DATABASESPACEUSED].[RESERVEDKB],
[DATABASESPACEUSED].[DATAKB],
[DATABASESPACEUSED].[INDEXKB],
[DATABASESPACEUSED].[UNUSEDKB],
[DATABASESPACEUSED].[IDSETREGISTERID],
[IDSETREGISTERADHOCQUERY].[ADHOCQUERYID],
[IDSETREGISTERSMARTQUERYINSTANCE].[SMARTQUERYINSTANCEID]
from dbo.[DATABASESPACEUSED]
left outer join dbo.[IDSETREGISTER] on [IDSETREGISTER].[ID] = [DATABASESPACEUSED].[IDSETREGISTERID]
left outer join dbo.[APPUSER] as [IDSETREGISTEROWNER] on [IDSETREGISTEROWNER].[ID] = [IDSETREGISTER].[OWNERID]
left outer join dbo.[IDSETREGISTERADHOCQUERY] on [IDSETREGISTERADHOCQUERY].[IDSETREGISTERID] = [DATABASESPACEUSED].[IDSETREGISTERID]
left outer join dbo.[ADHOCQUERY] on [ADHOCQUERY].[ID] = [IDSETREGISTERADHOCQUERY].[ADHOCQUERYID]
left outer join dbo.[APPUSER] as [ADHOCQUERYOWNER] on [ADHOCQUERYOWNER].[ID] = [ADHOCQUERY].[OWNERID]
left outer join dbo.[SITE] on [SITE].[ID] = [ADHOCQUERY].[SITEID]
left outer join dbo.[IDSETREGISTERSMARTQUERYINSTANCE] on [IDSETREGISTERSMARTQUERYINSTANCE].[IDSETREGISTERID] = [DATABASESPACEUSED].[IDSETREGISTERID]
left outer join dbo.[SMARTQUERYINSTANCE] on [SMARTQUERYINSTANCE].[ID] = [IDSETREGISTERSMARTQUERYINSTANCE].[SMARTQUERYINSTANCEID]
left outer join dbo.[APPUSER] as [SMARTQUERYOWNER] on [SMARTQUERYOWNER].[ID] = [SMARTQUERYINSTANCE].[OWNERID]
where [DATABASESPACEUSED].[TYPECODE] = 2
and (@OWNERID is null or coalesce([ADHOCQUERY].[OWNERID], [SMARTQUERYINSTANCE].[OWNERID], [IDSETREGISTER].[OWNERID]) = @OWNERID)
order by case @ORDERBY when 0 then [RESERVEDKB]
when 1 then [DATAKB]
when 2 then [INDEXKB]
when 3 then [UNUSEDKB]
when 4 then datediff(day, [IDSETREGISTER].[DATECHANGED], getdate()) end desc;
return 0;
end