ホームページ > バックエンド開発 > PHPチュートリアル > SQL Server データベースのテーブルの占有容量を取得する方法_PHP チュートリアル

SQL Server データベースのテーブルの占有容量を取得する方法_PHP チュートリアル

WBOY
リリース: 2016-07-13 17:02:32
オリジナル
883 人が閲覧しました

実際、システムの組み込みストアド プロシージャ sp_spaceused を使用する限り、テーブル関連の情報を取得できます
例: sp_spaceused 'tablename'
以下は、便宜上、現在のすべてのストアド プロシージャを保存することを目的としています。指定されたテーブル内のテーブル関連情報
CREATE PROCEDURE get_tableinfo AS

存在しない場合 (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') および OBJECTPROPERTY(id, N') IsUserTable') = 1)
create table tablespaceinfo -- 結果格納テーブルの作成
(nameinfo varchar(50) 、
rowsinfo int 、reserved varchar(20) 、
datainfo varchar(20) 、
Index_size varchar(20) 、
used varchar(20))
tablespaceinfoからのdeleteデータテーブルを明確にする
declare@tablename varchar(255) - テーブル名
declare@cmdsql varchar(500)
dbo.sysobjects o から、OBJECTPRO PERTY (o.id, N'IsTable') = 1
および o.name が N'#%%' と異なる場合は、o.name で並べ替えます

Info_cursor を開く

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 から NEXT を取得
INTO @tablename
END
CLOSE Info_cursor
DEALLOCATE Info_カーソル
GO


ストアドプロシージャの実行
exec get_tableinfo
Query ストアドプロシージャ実行後の結果
select *
from tablespaceinfo
order by Cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) int として) 記述





http://www.bkjia.com/PHPjc/631066.html

www.bkjia.com


tru​​e

http://www.bkjia.com/PHPjc/631066.html

実際、システムの組み込みストアド プロシージャ sp_spaceused を使用する限り、次のようなテーブル関連の情報を取得できます。 sp_spaceused 'tablename' 以下は便宜のために作成されたストアド プロシージャであり、その目的は...
ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート