今日、お客様から、データベース ファイル スペースの増加が速すぎるため、データベース テーブルのストレージ スペース割り当てを分析する必要があるとの報告がありました。
全員と共有するために、次のプロセスを一時的に作成しました。
/*********************************
関数: テーブル ycsoft 2005-07-13
*** の空間分布を取得します。 * *******************************/
存在しない場合 (id = object_id(N'[dbo].[tablespaceinfo]') および OBJECTPROPERTY(id, N'IsUserTable') = 1 の dbo.sysobjects から * を選択)
create table tablespaceinfo -- 結果格納テーブルを作成します
(nameinfo varchar(50) 、
rowsinfo int 、reserved varchar(20) 、
datainfo varchar(20) 、
Index_size varchar(20) 、
未使用 varchar(20) )
delete from tablespaceinfo -- データ テーブルをクリアします
declare @tablename varchar(255) -- テーブル名
declare @cmdsql varchar(500)
DECLARE Info_cursor CURSOR FOR
select o.name
from dbo.sysobjects o where OBJECTPROPERTY(o.id 、N'IsTable') = 1
および o.name は N'#%%' と異なり、o.name で並べ替えます
OPEN Info_cursor
FETCH NEXT FROM Info_cursor
INTO @tablename
WHILE @@FETCH_STATUS = 0
BEGIN
(存在する場合) ( select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
sp_executesql を実行
N'insert into tablespaceinfo exec sp_spaceused @tbname',
N'@tbname varchar( 255) '、
@tbname = @tablename
info_cursorから次へ@tablename @tablename
nend
closeinfo_cursor
deallocateinfo_cursor
go
--nowsky.comデータベースindoctimssp_spaceused @updateusage =' true '
select *
from tablespaceinfo
order by Cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc
備考: