SQL 统计整个服务器上各个数据库占用的空间
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 统计整个服务器上各个数据库占用的空间的更多相关文章
- pl/sql developer 连接服务器上的数据库
1, 在本地安装的Oracle中找到目录 oracle\product\11.2.0\dbhome_1\network\admin, 它下面一般有两个文件可以进行编辑tnsnames.ora li ...
- SQL使用链接服务器执行远程数据库上的存储过程
原文:SQL使用链接服务器执行远程数据库上的存储过程 --创建链接服务器 exec sp_addlinkedserver'server_tmp','','SQLOLEDB','远程服务器名或ip地址' ...
- Navicat连接腾讯云服务器上的数据库
下面介绍Navicat连接腾讯云服务器上的数据库的两种方法: 方法一:[不需要修改相关远程客户端连接权限] 点击安装好的桌面navicat图标,进入后如下图: 连接方法:ssh中输入自己服务器的外网i ...
- MySQL中查询所有数据库占用磁盘空间大小和单个库中所有表的大小的sql语句
查询所有数据库占用磁盘空间大小的SQL语句: ,),' MB') as data_size, concat(,),'MB') as index_size from information_schema ...
- MySQL中查询所有数据库占用磁盘空间大小
查询所有数据库占用磁盘空间大小的SQL语句: 复制代码 代码如下:select TABLE_SCHEMA, concat(truncate(sum(data_length)/1024/1024,2), ...
- SQL Server2005 两台服务器上的数据库互相同步(转载)
1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...
- SQL Server2005 两台服务器上的数据库同步(转载)
1.1测试环境 Item 发布机 A 订阅机 B OS Windows 2003 Server Windows 2003 Server SQL SQL Server 2005 企业版 SQL Serv ...
- sql server 中不同服务器上的数据库中表怎么互导数据
--创建一个链接 EXEC sp_addlinkedserver 'OtherServerDb','','SQLOLEDB','192.168.12.101' --第一个参数是给远程的服务器起的别名 ...
- mysql同一台服务器上不同数据库中个别表内容同步
>>>>>>soft_wsx>>>>>>--数据备份与还原>>同步备用服务器--1.完全备份主数据库--2.使用带S ...
随机推荐
- (分享)视频压缩Free Video Compressor 汉化版/中文版【全网唯一】
介绍:Free Video Compressor 是一个免费视频压缩软件,可以帮您有效的压缩视频.电影文件的体积大小,减小占用的磁盘空间,使之更容易放到手机中保存播放Free Video Compre ...
- js中array的join和concat的区别
首先:concat方法定义:concat() 方法用于连接两个或多个数组.该方法不会改变现有的数组,而仅仅会返回被连接数组的一个副本.举例说明:1 /*concat()结果返回的是一个数组*/ 2 3 ...
- 比较常用的几个maven第三方镜像
OSC的:<mirror> <id>CN</id> <name>OSChina Central</name> ...
- bootstrap源码分析----栅格系统
Bootstrap 提供了一套响应式.移动设备优先的流式栅格系统,随着屏幕或视口(viewport)尺寸的增加,系统会自动分为最多12列. bootstrap通过媒体查询解决不同分辨率屏幕下,页面主内 ...
- BAT的面试经验_摘抄
一.心态 心态很重要! 心态很重要! 心态很重要! 重要的事情说三遍,这一点我觉得是必须放到前面来讲. 找工作之前,有一点你必须清楚,就是找工作是一件看缘分的事情,不是你很牛逼,你就一定能进你想进的公 ...
- 41、javaMail机制
SMTP 是一种TCP协议支持的提供可靠且有效电子邮件传输的应用层协议.SMTP 是建立在 TCP上的一种邮件服务,主要用于传输系统之间的邮件信息并提供来信有关的通知. package com.ith ...
- 配置移动前端开发调试环境(nodejs+npm+weiner的安装和配置使用)
这段时间发现做移动端的开发调试是一大难题,网上逛了逛发现有一些工具可用,如chrome的远程调试,实际测试过程中我始终调试不成功,听说被墙后是不行的,所以最终找了如下的方法. 因为基于nodeJS环境 ...
- Session和Cookie的作用以及实现
http://www.cnblogs.com/xiaoshitoutest/p/6103790.html
- 数字信号处理--Z变换,傅里叶变换,拉普拉斯变换
傅立叶变换.拉普拉斯变换.Z变换最全攻略 作者:时间:2015-07-19来源:网络 傅立叶变换.拉普拉斯变换.Z变换的联系?他们的本质和区别是什么?为什么要进行这些变换.研究的都是什么? ...
- c++ 成员函数
#include <iostream> #include "Sales_item.h" int main() { Sales_item item1, item2; st ...