惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

V
Visual Studio Blog
Stack Overflow Blog
Stack Overflow Blog
G
Google Developers Blog
Microsoft Azure Blog
Microsoft Azure Blog
Engineering at Meta
Engineering at Meta
L
LangChain Blog
T
The Blog of Author Tim Ferriss
J
Java Code Geeks
Y
Y Combinator Blog
月光博客
月光博客
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
F
Fortinet All Blogs
A
About on SuperTechFans
让小产品的独立变现更简单 - ezindie.com
让小产品的独立变现更简单 - ezindie.com
P
Proofpoint News Feed
小众软件
小众软件
H
Help Net Security
Last Week in AI
Last Week in AI
B
Blog RSS Feed
宝玉的分享
宝玉的分享
N
Netflix TechBlog - Medium
博客园 - 叶小钗
The GitHub Blog
The GitHub Blog

博客园 - Jason's WMI SQL Related Blog

关于SQL SERVER的内存使用的问题 使用Raid提高SQL的性能和可用性 SQL Server BCP 的数据导入导出 - Jason's WMI SQL Related Blog 用脚本查看Server上每个库的大小 Easy way to estimate a table size in the future How to determine which version of SQL Server 2000 is running modify数据时临时暂停触发器的作用 关于MSBA和Firewall 关于如何在BCP和Bulk Insert中使用 文本限定符 简单的ASP.net查询数据库脚本 关于DTS中全局变量数据类型date Log Shipping实现 如何使用SQL 2000的DTS自动从FTP服务器下载文件 SQL Server数据库备份还原 SQl Server中修改数据库的备份模型后要完全备份一次数据库 如何在SQL SErver2000中恢复Master数据库 SQLSERVER 管理DTS包 使用WMI重启不能用3389登录的服务器 如何使用T-SQL来给系统增加计划任务,
用脚本查看某库中每个表大小
Jason's WMI SQL Related Blog · 2005-11-30 · via 博客园 - Jason's WMI SQL Related Blog
用脚本查看某库中每个表大小

--转自SQLSERVERCENTRUAL.com

declare @id        int                       

declare @type        character(2)                

declare        @pages       

int                       

declare @dbname sysname

declare @dbsize dec(15,0)

declare @bytesperpage        dec(15,0)

declare @pagesperMB                dec(15,0)

create table #spt_space

(

        objid                int null,

        rows                int null,

        reserved        dec(15) null,

        data                dec(15) null,

        indexp                dec(15) null,

        unused                dec(15) null

)

set nocount on

-- Create a cursor to loop through the user   tables

declare c_tables cursor for

select        id

from        sysobjects

where        xtype = 'U'

open c_tables

fetch next from c_tables

into @id

while @@fetch_status = 0

begin

        /* Code from sp_spaceused */

        insert into #spt_space (objid, reserved)

                select objid = @id, sum(reserved)

                        from sysindexes

                                where indid in (0, 1, 255)

                                        and id = @id

        select @pages = sum(dpages)

                        from sysindexes

                                where indid < 2

                                        and id = @id

        select @pages = @pages + isnull(sum(used), 0)

                from sysindexes

                        where indid = 255

                                and id = @id

        update #spt_space

                set data = @pages

        where objid = @id

        /* index: sum(used) where indid in (0, 1, 255) - data */

        update #spt_space

                set indexp = (select sum(used)

                                from sysindexes

                                where indid in (0, 1, 255)

                                and id = @id)

                            - data

                where objid = @id

        /* unused: sum(reserved) - sum(used) where indid in (0, 1, 255) */

        update #spt_space

                set unused = reserved

                                - (select sum(used)

                                        from sysindexes

                                                where indid in (0, 1, 255)

                                                and id = @id)

                where objid = @id

        update #spt_space

                set rows = i.rows

                        from sysindexes i

                                where i.indid < 2

                                and i.id = @id

                                and objid = @id

        fetch next from c_tables

        into @id

end

select         TableName = (select left(name,60) from sysobjects where id = objid),

        Rows = convert(char(11), rows),

        ReservedKB = ltrim(str(reserved * d.low / 1024.,15,0) + ' ' + 'KB'),

        DataKB = ltrim(str(data * d.low / 1024.,15,0) + ' ' + 'KB'),

        IndexSizeKB = ltrim(str(indexp * d.low / 1024.,15,0) + ' ' + 'KB'),

        UnusedKB = ltrim(str(unused * d.low / 1024.,15,0) + ' ' + 'KB')

from         #spt_space, master.dbo.spt_values d

where         d.number = 1

and         d.type = 'E'

order by reserved desc

drop table #spt_space

close c_tables

deallocate c_tables