`
izuoyan
  • 浏览: 9196829 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

如何获取SQL Server数据库里表的占用容

阅读更多

如何获取SQL Server数据库里表的占用容

----原文来自网络

其实只要使用系统内置的存储过程sp_spaceused就可以得到表的相关信息

如:sp_spaceused 'tablename'


以下是为了方便写的一个存储过程,目的是把当前的所有表的相关信息全部都保存在一个指定的表里面

CREATE PROCEDURE get_tableinfo AS

if not exists (select * from dbo.sysobjects where id = object_id(N'[dbo].[tablespaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table tablespaceinfo --创建结果存储表
(nameinfo varchar(50) ,
rowsinfo int , reserved varchar(20) ,
datainfo varchar(20) ,
index_size varchar(20) ,
unused 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
and o.name not like N'#%%' order by o.name

OPEN Info_cursor

FETCH NEXT FROM Info_cursor
INTO @tablename

WHILE @@FETCH_STATUS = 0
BEGIN

if exists (select * from dbo.sysobjects where id = object_id(@tablename) and OBJECTPROPERTY(id, N'IsUserTable') = 1)
execute sp_executesql
N'insert into tablespaceinfo exec sp_spaceused @tbname',
N'@tbname varchar(255)',
@tbname = @tablename

FETCH NEXT FROM Info_cursor
INTO @tablename
END

CLOSE Info_cursor
DEALLOCATE Info_cursor
GO

执行存储过程
exec get_tableinfo

查询运行该存储过程后得到的结果
select *
from tablespaceinfo
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc

分享到:
评论

相关推荐

    查看SQLServer数据库每个表占用的空间大小.sql

    快捷方便,可查看sqlserver数据库每个表的使用情况,一次下载终身使用,此文件为sql语句格式,免费试用

    如何查看SQLServer数据库每个表占用的空间大小

    CREATE PROCEDURE [dbo] [sys viewTableSpace] AS BEGIN SET NOCOUNT ON; CREATE TABLE [dbo] #tableinfo 表名 [varchar] 50 COLLATE Chinese PRC CI AS NULL 记录数 [int] NULL

    SQL Server数据库占用过多内存的解决方法

    ### SQL Server数据库占用过多内存的解决方法 #### 内存使用概述 在SQL Server数据库运行过程中,内存管理是一项至关重要的任务。SQL Server会利用内存来提高数据访问速度和查询性能。其中,数据缓存占据内存的...

    sql server 数据库巡检

    包括检查数据库的磁盘空间使用信息、日志文件大小及使用情况、表的磁盘空间使用信息、磁盘读写情况、I/O 工作情况、锁与等待、死锁、用户和进程信息、活动用户和进程的信息、SQL Server 的实际内存占用、所有数据库...

    Sql Server数据库备份的另类解决方案

    在SQL Server数据库管理中,备份是至关重要的环节,它确保了数据的安全性和可恢复性。传统的备份方法包括完整备份、差异备份、日志备份等,但这些方式有时可能无法满足特定场景下的需求。本文将探讨一种另类的SQL ...

    学习PB与SQL Server数据库的连接

    1. **在数据库中创建学生表**:首先需要在SQL Server数据库中创建一个名为“学生表”的表,包含字段`SNO`(学号)、`SNAME`(姓名)、`SSEX`(性别)、`SAGE`(年龄)和`SADDR`(地址)。然后向该表中插入几条示例记录以供后续...

    SqlServer数据库的数据类型

    ### SqlServer数据库的数据类型详解 数据类型在编程与数据库管理中扮演着至关重要的角色,它不仅定义了数据的存储方式,还决定了数据可以执行的操作。SQL Server作为一种广泛使用的数据库管理系统,提供了丰富的...

    SQLServer数据库优化之50种方法

    本文将根据给定的信息,详细阐述部分重要的SQL Server数据库优化方法,并对这些方法进行深入解读。 #### 1. 避免不必要的查询 - **概述**:避免执行那些实际上并不需要的查询操作,比如在编写存储过程或触发器时,...

    SQL Server查看所有表大小,所占空间

    用SQL语句查看SQL Server中的数据库查看所有表大小,所占空间

    SQL Server 2005 查看数据库表的大小 按照表大小排列

    公司数据库的表都是过G的,查看起来慢的不行,备份的时候想把里面没用的东西删了,减少数据库文件的大小,但是不知道如何或者其中某个表的大小,后来经过一番努力终于找到如何查看SQL Server 2005 中数据表大小的...

    SQL SERVER数据库附加失败解决办法

    在处理SQL SERVER数据库附加过程中,遇到失败的情况是很常见的问题,这些失败可能是由于多种原因导致的,解决这些问题的方法也各不相同。本文将详细列出解决SQL SERVER数据库附加失败的几种方法,并对每个解决方案...

    SQL Server数据库基础学习笔记

    在SQL Server数据库的基础学习中,理解并掌握各个系统数据库的功能至关重要。首先,master数据库是整个SQL Server的核心,它存储了所有系统级别的信息,包括用户数据库的控制信息、账户设置、环境变量以及系统错误...

    SQLServer恢复表级数据详解

    在使用SQLServer数据库时,数据的备份和恢复是数据库管理中非常重要的环节。尤其在开发和生产环境中,表级数据的恢复显得尤为重要,因为关键表往往存放着核心数据,一旦出现数据损坏,需要迅速采取措施进行恢复。...

    Sql Server数据库自动全备份的脚本(带7z压缩)

    在SQL Server数据库管理中,定期备份是确保数据安全的关键步骤。本话题主要涉及如何使用脚本实现自动全备份,并结合7-Zip进行压缩,以节省存储空间和提高备份效率。以下将详细介绍相关知识点: 1. **SQL Server ...

    50种方法巧妙优化你的SQL Server数据库

    《50种方法巧妙优化你的SQL Server数据库》 SQL Server数据库优化是提升系统性能的关键环节。以下是一些针对SQL Server数据库优化的有效策略: 1. **建立和优化索引**:索引是加速查询的关键,特别是在大数据量的...

    sqlserver数据库自动备份

    本文将详细介绍如何通过SQL命令结合Windows计划任务来实现SQL Server数据库的自动备份。 首先,我们需要理解SQL Server中的备份类型。主要的备份类型有完整备份、差异备份和事务日志备份。完整备份会备份整个数据库...

    SQLServer数据库日志太大收缩操作指南

    本文档提供了一种详细的SQLServer数据库日志太大时的收缩操作指南,旨在帮助管理员有效地管理和减小日志文件的大小。 ### 1. 数据库日志文件过大原因 数据库日志文件过大通常是因为以下原因: 1. **事务回滚**:...

    利用SQL Server数据库快照形成报表

    SQL Server数据库快照是SQL Server 2005引入的一项重要功能,主要用于提供数据库的一份只读、静态的副本。数据库快照通过映射源数据库在创建时刻的数据状态,为报表生成、数据备份和灾难恢复提供了高效且灵活的解决...

Global site tag (gtag.js) - Google Analytics