create procedure [dbo].[P__SpaceUsedView]
as
begin
if not exists (select 0 from tempdb..sysobjects where id = object_id(N'[dbo].[#temptableSpaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table #temptableSpaceinfo --创建临时结果存储表
(
nameinfo varchar(50) ,
rowsinfo int , reserved varchar(20) ,
datainfo varchar(20) ,
index_size varchar(20) ,
unused varchar(20)
)

if not exists (select 0 from dbo.sysobjects where id = object_id(N'[dbo].[_MonitorDailySpaceinfo]') and OBJECTPROPERTY(id, N'IsUserTable') = 1)
create table _MonitorDailySpaceinfo --创建汇总结果存储表
(
MonitorID int identity(1,1) not null,
MonitorDate datetime,
DBName nvarchar(100),
nameinfo varchar(200) ,
rowsinfo int , reserved int ,
datainfo int ,
index_size int ,
unused int
)
declare @databasename varchar(255) --表名称
declare @cmdsql nvarchar(max)
set @cmdsql = ''

DECLARE Info_cursor CURSOR FOR
SELECT name FROM sys.databases where name not in ('tempdb') -- tempdb 不支持该语法

OPEN Info_cursor
FETCH NEXT FROM Info_cursor INTO @databasename

WHILE @@FETCH_STATUS = 0
begin
set @cmdsql = ''
set @cmdsql = isnull(@cmdsql,'') + N'INSERT INTO #temptableSpaceinfo EXEC '+@databasename+'.sys.sp_MSforeachtable ''sp_spaceused ''''?'''''';'+char(13)+char(10);

execute sp_executesql @cmdsql

--显示表信息
insert into _MonitorDailySpaceinfo
([MonitorDate],[DBName] ,[nameinfo] ,[rowsinfo],
[reserved] ,[datainfo] ,[index_size] ,[unused])
select getdate(),@databasename, nameinfo,
rowsinfo,
cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) as reservedKB,
cast(left(ltrim(rtrim(datainfo)) , len(ltrim(rtrim(datainfo)))-2) as int) as datainfoKB,
cast(left(ltrim(rtrim(index_size)) , len(ltrim(rtrim(index_size)))-2) as int) as index_sizeKB,
cast(left(ltrim(rtrim(unused)) , len(ltrim(rtrim(unused)))-2) as int) as unusedKB
from tempdb..#temptableSpaceinfo
order by cast(left(ltrim(rtrim(reserved)) , len(ltrim(rtrim(reserved)))-2) as int) desc
delete from tempdb..#temptableSpaceinfo
FETCH NEXT FROM Info_cursor INTO @databasename
END

CLOSE Info_cursor
DEALLOCATE Info_cursor
/*
select
[MonitorID],
[MonitorDate],
[DBName],
[nameinfo],
[rowsinfo],
[reserved]/1024/1024 as [reservedGB],
[datainfo]/1024/1024 as [datainfoGB],
[index_size]/1024/1024 as [index_sizeGB],
[unused]/1024/1024 as [unused_sizeGB]
from [dbo].[_MonitorDailySpaceinfo]
where [reserved]/1024/1024 > 0
*/
end

SQL 统计整个服务器上各个数据库占用的空间的更多相关文章

  1. pl/sql developer 连接服务器上的数据库

    1, 在本地安装的Oracle中找到目录 oracle\product\11.2.0\dbhome_1\network\admin, 它下面一般有两个文件可以进行编辑tnsnames.ora   li ...

  2. SQL使用链接服务器执行远程数据库上的存储过程

    原文:SQL使用链接服务器执行远程数据库上的存储过程 --创建链接服务器 exec sp_addlinkedserver'server_tmp','','SQLOLEDB','远程服务器名或ip地址' ...

  3. Navicat连接腾讯云服务器上的数据库

    下面介绍Navicat连接腾讯云服务器上的数据库的两种方法: 方法一:[不需要修改相关远程客户端连接权限] 点击安装好的桌面navicat图标,进入后如下图: 连接方法:ssh中输入自己服务器的外网i ...

  4. MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句

    查询所有数据库占用磁盘空间大小的SQL语句: ,),' MB') as data_size, concat(,),'MB') as index_size from information_schema ...

  5. MySQL中查询所有数据库占用磁盘空间大小

    查询所有数据库占用磁盘空间大小的SQL语句: 复制代码 代码如下:select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2), ...

  6. SQL Server2005 两台服务器上的数据库互相同步(转载)

    1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...

  7. SQL Server2005 两台服务器上的数据库同步(转载)

    1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...

  8. sql server 中不同服务器上的数据库中表怎么互导数据

    --创建一个链接 EXEC sp_addlinkedserver 'OtherServerDb','','SQLOLEDB','192.168.12.101' --第一个参数是给远程的服务器起的别名 ...

  9. mysql同一台服务器上不同数据库中个别表内容同步

    >>>>>>soft_wsx>>>>>>--数据备份与还原>>同步备用服务器--1.完全备份主数据库--2.使用带S ...

随机推荐

  1. html, xhtml和xml

    html, xhtml和xml 1.定义及特点: 1) html:Hyper Text Markup Language 超文本标记语言 是最早写网页的语言,但编码不规范,主要用于控制数据的显示和外观. ...

  2. asp.net js 跨域方法二

    @{     Layout = null; } <!DOCTYPE html> <html> <head>     <meta name="view ...

  3. Idea CheckStyle 安装

    Idea CheckStyle 安装 1.    安装CheckStyle a)     下载idea checksytle 插件 b)     打开Idea的 Settings –>Plugi ...

  4. javascript数组的一些方法实例

    1 concat

  5. windows下部署mongodb

    系统: widows server 2008 R2 mongodb: 3.2.5 一: 下载安装mongodb,下载地址: https://www.mongodb.org/downloads#prod ...

  6. 自定义UICollectinviewFlowLayout,即实现瀑布流

    如图所示,通过实现不规则的网格分布,来显示出不同的效果.因为集合视图必须要指定布局还可以显示,所以自定义布局就可以实现瀑布流的效果. //创建布局对象 WaterFlowLayout *flowLay ...

  7. 使用spring手动获取Bean的时候,不能强转回它自己。

    这个问题好像有点长,描述一下: 就是通过类名的方式获取Bean后,得到一个Object对象,但是这个Object不能再强转回Bean了.抛出的异常时类型转换异常.  java.lang.ClassCa ...

  8. RedHat6.5更新软件源

    今天在Red Hat上安装软件时,发现需要依赖软件,然而在用sudo yum指令时,出现了下面的错误: This system is not registered to Red Hat Subscri ...

  9. How to: Convert Between Various String Types

      This topic demonstrates how to convert various Visual C++ string types into other strings. The str ...

  10. Python 2.7_发送简书关注的专题作者最新一篇文章及连接到邮件_20161218

    最近看简书文章关注了几个专题作者,写的文章都不错,对爬虫和数据分析都写的挺好,因此想到能不能获取最新的文章推送到Ipad网易邮箱大师.邮件发送代码封装成一个函数,从廖雪峰大神那里学的  http:// ...