其实只要使用系统内置的存储过程sp_spaceused就可以得到表的相关信息
如:sp_spaceused 'tablename'
以下是为了方便写的一个存储过程,目的是把当前的所有表的相关信息全部都保存在一个指定的表里面
CREATEPROCEDUREget_tableinfoAS
ifnotexists(select*fromdbo.sysobjectswhereid=object_id(N'[dbo].[tablespaceinfo]')andOBJECTPROPERTY(id,N'IsUserTable')=1)
createtabletablespaceinfo--创建结果存储表
(nameinfovarchar(50),
rowsinfoint,reservedvarchar(20),
datainfovarchar(20),
index_sizevarchar(20),
unusedvarchar(20))
deletefromtablespaceinfo--清空数据表
declare@tablenamevarchar(255)--表名称
declare@cmdsqlvarchar(500)
DECLAREInfo_cursorCURSORFOR
selecto.name
fromdbo.sysobjectsowhereOBJECTPROPERTY(o.id,N'IsTable')=1
ando.namenotlikeN'#%%'orderbyo.name
OPENInfo_cursor
FETCHNEXTFROMInfo_cursor
INTO@tablename
WHILE@@FETCH_STATUS=0
BEGIN
ifexists(select*fromdbo.sysobjectswhereid=object_id(@tablename)andOBJECTPROPERTY(id,N'IsUserTable')=1)
executesp_executesql
N'insertintotablespaceinfoexecsp_spaceused@tbname',
N'@tbnamevarchar(255)',
@tbname=@tablename
FETCHNEXTFROMInfo_cursor
INTO@tablename
END
CLOSEInfo_cursor
DEALLOCATEInfo_cursor
GO
select *
from tablespaceinfo
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc
分享到:
相关推荐
快捷方便,可查看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语句查看SQL Server中的数据库查看所有表大小,所占空间
查看SQLSERVER数据库表空间的大小,并且按照其大小进行排序
1、查看某个数据库,直接执行存储过程sp_spaceused即可 exec sp_spaceused; 2、查看某个表,在存储过程后面加上表名即可 ...-- 说明:更新查询数据库中各表的大小,结果存储到数据表中 -- ====================
各种数据库附加失败的解决办法,共享给大家,希望对大家有帮助!
计算sqlserver当前数据库中所有表占用空间大小,包括记录总数,磁盘字节数
查看当前数据库中每个表所占字节(空间)大小
2、全面支持(32/64位)Windows操作系统与SQL Server服务器; 3、自动备份功能基于Windows系统服务,使配置操作界面与自动备份逻辑脱离,更稳定、更强大; 4、可自由、实时设置备份周期、备份时间等信息进行SQL...
查询数据库占用空间,数据库的占用空间。方便管理表数据
软件开发网小编推荐的一个方法:到服务里面重启下sqlserver服务即可。 问题一描述:SQL Server数据库备份还原后,在数据库名称后会出现“受限制访问”字样 问题二描述:在对SQL Server数据库进行还原时,提示:...
实例包括SQLServer占用的内存及后台线程。与Oracle显著不同的是,SQLServer服务器的数据库是多个,其中包括5个系统数据库及若干个用户数据库(其中的resource数据库存储系统数据,对用户不可见)。每个数据库包括数据...
本工具小巧、绿色占用500K空间,通过 C++开发操作SQL SERVER 数据库工具,可任意操作数据库,包括SQL 语句的查询、删除、更新等一系列操作。
无需安装sqlserver数据库,直接远程连接数据库,可以更方便的操作sqlserver数据库,且占用资源小
4.自动/手工备份本地或局域网(远程)SQL Server数据库,备份文件与当前连接的SQL Server完全保持一致; 5.通过ZIP模式压缩并加密数据库备份文件; 6.将备份文件通过LAN/FTP/EMAIL进行异地传输; 7.将相应的备份日志...
SQL Server 2008 R2运行...进入Sql server 企业管理器(管理数据库和表的,这个都不知道就不用往下看了),在数据库服务器名称上点击【右键】,选择【属性】,然后,找到【内存】选项,在右边的【使用AWE分配内存】(s
当SQL Server数据库引擎运行时,其默认内存管理行为并不是获取特定的内存量,而是在不产生多余换页I/O的情况下获取尽可能多的内存。为此,数据库引擎获取尽可能多的可用内存,同时保留足够的可用内存以防操作系统...
sqlserver2012还原bak文件,备份,日志占用太大存储空间清理日志文件