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. poj 2719 Faulty Odometer

    Description You are given a car odometer which displays the miles traveled as an integer. The odomet ...

  2. 监测GPU使用情况命令

    每2秒监测一次:watch -n 2 nvidia-smi

  3. 洛谷 P4512 [模板] 多项式除法

    题目:https://www.luogu.org/problemnew/show/P4512 看博客:https://www.cnblogs.com/owenyu/p/6724611.html htt ...

  4. shuts down an ExecutorService

    shuts down an ExecutorService in two phases, first by calling shutdown to reject incoming tasks, and ...

  5. 在python 3.6下用pip 安装第三方库,比如pip install requests,老是报错 Fatal error in launcher: Unable to create process using '"'

    解决办法:我把python.exe 修改为了python3.exe ,为了兼容python2, 后来把python2从环境变量里删除,把python3.exe修改为了python.exe 就解决了,再 ...

  6. 在MongoDB中修改数据类型

    引言 本文主要讲解Mongodb的类型转换.包括:string转double, string转int, string转Date. 0. 出现类型不一致的原因 ES导入数据到Mongo后,会出现类型统一 ...

  7. 2014年第五届蓝桥杯国赛 Log大侠(区间合并+Java递归效率分析)

    1678: Log大侠 java 时间限制: 2 Sec  内存限制: 256 MB提交: 20  解决: 1 题目描述     atm参加了速算训练班,经过刻苦修炼,对以2为底的对数算得飞快,人称L ...

  8. Dev Envirenment - Windows 10 && Visual Studio 2019 && OpenCV 4.1.0

    当每天用着 C# && Winform && VS 2010 && .Net Framework 4.0 && Halcon & ...

  9. Java之Spring Cloud概念介绍(非原创)

    文章大纲 一.理解微服务二.Spring Cloud知识介绍三.Spring Cloud全家桶四.参考资料下载五.参考文章 一.理解微服务   我们通过软件架构演进过程来理解什么是微服务,软件架构的发 ...

  10. 3damx平滑组注意事项

    需要在Editable Poly->面级别,选中(需要平滑的)面,然后去点平滑组或自动平滑 如果出现下图的情况,说明可能是有多余点,点没缝合 max中确认,确实是点没缝合导致