最近公司的資料庫發現有表的資料被弄掉了,有些資料表記錄為0,於是想找出此資料庫中到底有哪些資料表的記錄都為0以縮小分析範圍,可使用如下的sql statement:
create
table #tmptb(tbname sysname,tbrows
int,tbreserved
varchar(
10),tbdata
varchar(
10)
,tbindexsize
varchar(
10),tbunused
varchar(
10))
insert
into #tmptb
exec sp_msforeachtable
'exec sp_spaceused ''?
'''select
*from #tmptb
--列出所有表的情況
select tbrows ,tbname
from #tmptb
where tbrows
=0--
列出記錄資料為0的表
order
by tbname
drop
table #tmptb
其中tbname 表名
tbrows 記錄數
tbreserved 保留空間
tbdata 使用空間
tbindexsize 索引使用空間
tbunused 未用空間
刪除乙個資料庫中所有資料的方法
其實刪除資料庫中資料的方法並不複雜,為什麼我還要多此一舉呢,一是我這裡介紹的是刪除資料庫的所有資料,因為資料之間可能形成相互約束關係,刪除操作可能陷入死迴圈,二是這裡使用了微軟未正式公開的sp msforeachtable儲存過程。也許很多讀者朋友都經歷過這樣的事情 要在開發資料庫基礎上清理乙個空庫...
SQL刪除乙個表中所有記錄命令
truncate table 刪除表中的所有行,而不記錄單個行刪除操作。語法 truncate table name 引數 name 是要截斷的表的名稱或要刪除其全部行的表的名稱。注釋 truncate table 在功能上與不帶 where 子句的 delete 語句相同 二者均刪除表中的全部行。...
sql查詢資料庫中所有表名 續
讀取庫中的所有表名 select name from sysobjects where xtype u 讀取指定表的所有列名 select name from syscolumns where id select max id from sysobjects where xtype u and na...