http://www.cnblogs.com/qinche/archive/2012/08/09/app.html

由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据

--将写好的代码贴出来,用到如下的:

--sysobjects:在数据库每个对象(约束、默认值、日志、规则、存储过程)占一行。

--sysindexes:数据库中的每个索引和表在表中各占一行。

--syscolumns:每个表和视图中的每列在表中占一行,存储过程中每个参数在表中占一行。

select * from sysobjects

select * from sysindexes

select * from syscolumns

--1-----------统计有多少数据库,查出库里面多少表---------------

declare @str varchar(8000)

set @str=''

select @str=@str+

'union all select '+quotename(name,'''')+' ,COUNT(*)

from '+name+'.dbo.sysobjects where xtype=''U'''

from (select  name from master.dbo.sysdatabases) a

set @str =' select ''0数据库总数'' as 库名,(select  count(*) from master.dbo.sysdatabases)

as 表的个数 '+ @str+' order by 库名 '

print @str

exec(@str)

---2----------统计当前数据库的表的个数和表的数据记录数----------

set nocount on --不记录放回多少行受影响,这样速度快很多,是一种优化

if object_id(N'tempdb.db.#temp') is not null

drop table #temp

create table #temp (name sysname,count numeric(18))

insert into #temp

select o.name,i.rows

from sysobjects o,sysindexes i

where o.id=i.id and o.Xtype='U' and i.indid<2

select count(count) 当前库总表数,sum(count) 总记录数 from #temp

select * from #temp

set nocount off --打开返回计数

----3--------------比较两个数据库的表个数和数据量,两个库的数据结构相同-------

set nocount on

if object_id(N'tempdb.db.#temp1') is not null

drop table #temp1

create table #temp1 (name sysname,count numeric(18))

insert into #temp1

select o.name,i.rows

from Ljfcdata30.dbo.sysobjects o,Ljfcdata30.dbo.sysindexes i

where o.id=i.id and o.Xtype='U' and i.indid<2

--查询2

if object_id(N'tempdb.db.#temp2') is not null

drop table #temp2

create table #temp2 (name sysname,count numeric(18))

insert into #temp2

select o.name,i.rows

from Ljfcdata31.dbo.sysobjects o,Ljfcdata31.dbo.sysindexes i

where o.id=i.id and o.Xtype='U' and i.indid<2

select '30号' as 日期 ,count(count) 总表数,sum(count) 总记录数 from #temp1

union all select '31号' ,count(count) 总表数,sum(count) 总记录数 from #temp2

select i.name as 表名, i.count as '30号',j.count as '31号'

from #temp1 i Left join #temp2 j on i.name = j.name

order by i.name

set nocount off

go

---3 查询数据库的所有表的所有列------------------------------------------------------------------

---3 查询数据库的所有表的所有列------------------------------------------------------------------
declare @s varchar(8000)
set @s=''
select @s=@s+
( select 'select '''+name+''' as dbname,
a.name collate Chinese_PRC_CI_AS as tablename,
b.name collate Chinese_PRC_CI_AS as colname,
c.name collate Chinese_PRC_CI_AS as coltype,
c.length as coltype from ['+
name+']..sysobjects a 
inner join ['+
name+']..syscolumns b on a.id=b.id 
inner join ['+
name+']..systypes c on c.xtype=b.xtype where a.type=''U'''
as sql from master..sysdatabases as s where s.name=d.name)+' union '
from master..sysdatabases as d 
set @s=left(@s,len(@s)-7) + ' order by dbname'
print @s
execute(@s)

--以上的脚本在sql2008R2中通过

sqlserver 数据库 的数据库个数统计 表个数统计 表的数据量统计(转载)的更多相关文章

  1. sql server的数据库个数、表个数及表的数据量统计

    sql server的数据库个数.表个数及表的数据量统计   --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobje ...

  2. Mysql分库分表导出导入和数据量统计测试

    需求:添加创建了分库分表后,业务可能将数据已经写入,但未来得及接入到otter汇总库.接入汇总库前需要初始化这部分数据. 1.导出 ip_port_list ) len=${#ip_port_list ...

  3. (Oracle)数据量统计存储过程

    本过程适用于Oracle数据量统计. create or replace procedure SP_GET_TAB_COUNT as v_tableName HDSD_TJ.Tablename%typ ...

  4. [源码分享] HIVE表数据量统计&邮件

    概要: 计算HIVE BI库下每天数据表总大小及增量 输出: 总大小:xxxG 日同比新增数据量:xxxG 周同比新增数据量:xxxG 月同比新增数据量:xxxG 总表数:xxx 日新增表数:xxx ...

  5. Oracle普通表->分区表转换(9亿数据量)

    背景介绍: 环境:Linux 5.5 + Oracle 10.2.0.4 某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+, 空间占用大约350G,在线重定义为分区表不现实,故采取申 ...

  6. SqlServer快速获得表总记录数(大数据量)

    --第1种 执行全表扫描才能获得行数 SELECT count(*) FROM BUS_tb_UserGradePrice --第2种 执行扫描全表id不为空的,获得行数 select count(u ...

  7. EXCEL-对筛选出(单独手动隐藏行还是在统计范围内)的表格数据进行统计

    =SUBTOTAL(3,A1:A5)  #计算筛选出的表格中A1:A5中有几个值. =SUBTOTAL(3,I71:I21447)  ,在I71:I21447之间计数,会自动略去没有筛选上的隐藏单元格 ...

  8. 基于Mysql数据库亿级数据下的分库分表方案

    移动互联网时代,海量的用户数据每天都在产生,基于用户使用数据的用户行为分析等这样的分析,都需要依靠数据都统计和分析,当数据量小时,问题没有暴露出来,数据库方面的优化显得不太重要,一旦数据量越来越大时, ...

  9. 大数据量高并发的数据库优化详解(MSSQL)

    转载自:http://www.jb51.net/article/71041.htm 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能. ...

随机推荐

  1. Katalon Recorder 自动录制 Selenium 爬虫脚本

    相信很多小伙伴都用过 Selenium 来完成爬虫工作,今天就给大家带来一个神器,可以录制你的浏览器动作,然后直接生成 Selenium 脚本,是不是心动了? 1 Selenium 简介 Seleni ...

  2. 《c# 实现p2p文件分享与传输系统》 一、 模型

    c#实现P2P文件分享与传输系统 一.模型 P2P的概念大家都不陌生,也就是所谓的“点对点传输”,即不直接通过服务器,在两台或多台客户端之间传输数据,实现信息交流和资源共享.P2P技术已经发展了很多年 ...

  3. 转学习LINUX的建议

    作为一个新人,怎样学习嵌入式Linux?被问过太多次,特写这篇文章来回答一下.在学习嵌入式Linux之前,肯定要有C语言基础.汇编基础有没有无所谓(就那么几条汇编指令,用到了一看就会).C语言要学到什 ...

  4. Django简单快速实现PUT、DELETE方法

    使用django的小伙伴们应该都知道我们是无法开心的处理PUT跟DELETE的 $.ajax({ url: 'XXX', type: 'PUT', dataType: 'json', data: { ...

  5. 整理出来的一个windows关机、锁定、重启、注销 API调用

    using System.Runtime.InteropServices; namespace HookDemo { class WindowsExit { [StructLayout(LayoutK ...

  6. EasyUI把datagrid的值赋给表单

    $('#infoForm${INDEX}').form('load', rowToDto(pageConfig${INDEX}.infoName, row)); function rowToDto(i ...

  7. 大话Spark(1)-Spark概述与核心概念

    说到Spark就不得不提MapReduce/Hadoop, 当前越来越多的公司已经把大数据计算引擎从MapReduce升级到了Spark. 至于原因当然是MapReduce的一些局限性了, 我们一起先 ...

  8. 洛谷 - P2324 - 骑士精神 - A*搜索

    为什么估价是16,因为最后一步复原空格可以恢复两个位置,当然设成17.18都可以. #include<bits/stdc++.h> using namespace std; typedef ...

  9. tarjan求强连通分量的思考

    我是按照这里的思路来的.这个博文只是感性理解. 递归树 关于递归树,这篇博文讲的很好,我只是给自己总结一下. 定义vis数组,在dfs连通图时赋予它们不同的含义: vis=0,表示这个点没有被访问. ...

  10. PJzhang:子域名发掘工具Sublist3r

    猫宁!!! 参考链接:https://www.freebuf.com/sectool/90584.html 作者上一次更新是2018年10月16日了,sublist3r中融合有另外一个子域名爆破工具S ...