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
转自:http://blog.csdn.net/jiaohe2000/archive/2007/09/07/1776163.aspx
分享到:
相关推荐
快捷方便,可查看sqlserver数据库每个表的使用情况,一次下载终身使用,此文件为sql语句格式,免费试用
CREATE PROCEDURE [dbo] [sys viewTableSpace] AS BEGIN SET NOCOUNT ON; CREATE TABLE [dbo] #tableinfo 表名 [varchar] 50 COLLATE Chinese PRC CI AS NULL 记录数 [int] NULL
公司数据库的表都是过G的,查看起来慢的不行,备份的时候想把里面没用的东西删了,减少数据库文件的大小,但是不知道如何或者其中某个表的大小,后来经过一番努力终于找到如何查看SQL Server 2005 中数据表大小的...
### SQL Server数据库占用过多内存的解决方法 #### 内存使用概述 在SQL Server数据库运行过程中,内存管理是一项至关重要的任务。SQL Server会利用内存来提高数据访问速度和查询性能。其中,数据缓存占据内存的...
用SQL语句查看SQL Server中的数据库查看所有表大小,所占空间
包括检查数据库的磁盘空间使用信息、日志文件大小及使用情况、表的磁盘空间使用信息、磁盘读写情况、I/O 工作情况、锁与等待、死锁、用户和进程信息、活动用户和进程的信息、SQL Server 的实际内存占用、所有数据库...
在SQL Server数据库管理中,备份是至关重要的环节,它确保了数据的安全性和可恢复性。传统的备份方法包括完整备份、差异备份、日志备份等,但这些方式有时可能无法满足特定场景下的需求。本文将探讨一种另类的SQL ...
1. **在数据库中创建学生表**:首先需要在SQL Server数据库中创建一个名为“学生表”的表,包含字段`SNO`(学号)、`SNAME`(姓名)、`SSEX`(性别)、`SAGE`(年龄)和`SADDR`(地址)。然后向该表中插入几条示例记录以供后续...
查看SQLSERVER数据库表空间的大小,并且按照其大小进行排序
### SqlServer数据库的数据类型详解 数据类型在编程与数据库管理中扮演着至关重要的角色,它不仅定义了数据的存储方式,还决定了数据可以执行的操作。SQL Server作为一种广泛使用的数据库管理系统,提供了丰富的...
本文将根据给定的信息,详细阐述部分重要的SQL Server数据库优化方法,并对这些方法进行深入解读。 #### 1. 避免不必要的查询 - **概述**:避免执行那些实际上并不需要的查询操作,比如在编写存储过程或触发器时,...
在使用SQLServer数据库时,数据的备份和恢复是数据库管理中非常重要的环节。尤其在开发和生产环境中,表级数据的恢复显得尤为重要,因为关键表往往存放着核心数据,一旦出现数据损坏,需要迅速采取措施进行恢复。...
在处理SQL SERVER数据库附加过程中,遇到失败的情况是很常见的问题,这些失败可能是由于多种原因导致的,解决这些问题的方法也各不相同。本文将详细列出解决SQL SERVER数据库附加失败的几种方法,并对每个解决方案...
在SQL Server数据库的基础学习中,理解并掌握各个系统数据库的功能至关重要。首先,master数据库是整个SQL Server的核心,它存储了所有系统级别的信息,包括用户数据库的控制信息、账户设置、环境变量以及系统错误...
在SQL Server数据库管理中,定期备份是确保数据安全的关键步骤。本话题主要涉及如何使用脚本实现自动全备份,并结合7-Zip进行压缩,以节省存储空间和提高备份效率。以下将详细介绍相关知识点: 1. **SQL Server ...
本文档提供了一种详细的SQLServer数据库日志太大时的收缩操作指南,旨在帮助管理员有效地管理和减小日志文件的大小。 ### 1. 数据库日志文件过大原因 数据库日志文件过大通常是因为以下原因: 1. **事务回滚**:...
《50种方法巧妙优化你的SQL Server数据库》 SQL Server数据库优化是提升系统性能的关键环节。以下是一些针对SQL Server数据库优化的有效策略: 1. **建立和优化索引**:索引是加速查询的关键,特别是在大数据量的...
在SQL Server数据库管理中,优化是提升系统性能的关键步骤。以下是一些针对SQL Server数据库的优化策略,旨在提高数据处理速度、减少资源消耗并改善整体系统效率。 1. **I/O设备分离**:将数据、日志和索引分别放置...