USP_DATABASESPACEUSED_ANALYZETABLE
Parameters
Parameter | Parameter Type | Mode | Description |
---|---|---|---|
@SCHEMA | nvarchar(128) | IN | |
@TABLE | nvarchar(128) | IN |
Definition
Copy
CREATE procedure dbo.[USP_DATABASESPACEUSED_ANALYZETABLE]
(
@SCHEMA nvarchar(128),
@TABLE nvarchar(128)
)
with execute as owner
as begin
set nocount on;
if object_id('tempdb..#SPACEUSED') is null
raiserror('BBERR_TEMPTABLEDOESNOTEXIST: The temporary table #SPACEUSED must be created before this procedure can be called.', 13, 1);
declare @SPACEUSED table (
[NAME] nvarchar(128) collate database_default,
[ROWS] integer,
[RESERVED] nvarchar(100) collate database_default,
[DATA] nvarchar(100) collate database_default,
[INDEX] nvarchar(100) collate database_default,
[UNUSED] nvarchar(100) collate database_default
);
declare @SCHEMAANDTABLE nvarchar(257);
set @SCHEMAANDTABLE = '[' + @SCHEMA + '].[' + @TABLE + ']'
-- temp tables may be dropped before the process gets to them
if object_id(@SCHEMAANDTABLE) is not null
begin
insert into @SPACEUSED exec sp_spaceused @SCHEMAANDTABLE;
insert into #SPACEUSED select @SCHEMA, @TABLE, [ROWS], [RESERVED], [DATA], [INDEX], [UNUSED] from @SPACEUSED; --#1214166: using @TABLE here for table name
end
return 0;
end