SQL 表信息 | 统计 | 脚本

介绍

统计多个 SQL Server 实例上多个数据库的表大小、最后修改时间和行数,可以使用以下的 SQL 查询来获取这些信息。
在这里插入图片描述

脚本

示例脚本:

DECLARE @Query NVARCHAR(MAX)

-- 创建一个临时表用于存储结果
CREATE TABLE #TableSizes
(
    DatabaseName NVARCHAR(255),
    SchemaName NVARCHAR(255),
    TableName NVARCHAR(255),
    RowCount BIGINT,
    TotalSpaceUsedMB DECIMAL(18,2),
    LastModifiedDateTime DATETIME
)

-- 构建动态SQL查询
SET @Query = ''

-- 获取数据库列表 当数据库联机时才执行
SELECT @Query = @Query + 
    'IF DATABASEPROPERTYEX(''' + name + ''', ''Status'') = ''ONLINE'' ' + 
    'BEGIN ' +
    'USE [' + name + ']; ' +
    'INSERT INTO #TableSizes ' +
    'SELECT ' + QUOTENAME(name, '''') + ' AS DatabaseName, ' +
            'SCHEMA_NAME(schema_id) AS SchemaName, ' +
            't.name AS TableName, ' +
            'SUM(p.rows) AS RowCount, ' +
            'CONVERT(DECIMAL(18,2), SUM(a.total_pages) * 8 / 1024.0) AS TotalSpaceUsedMB, ' +
            'MAX(last_user_update) AS LastModifiedDateTime ' +
    'FROM ' + QUOTENAME(name) + '.sys.tables t ' +
    'INNER JOIN ' + QUOTENAME(name) + '.sys.indexes i ON t.object_id = i.object_id ' +
    'INNER JOIN ' + QUOTENAME(name) + '.sys.partitions p ON i.object_id = p.object_id AND i.index_id = p.index_id ' +
    'INNER JOIN ' + QUOTENAME(name) + '.sys.allocation_units a ON p.partition_id = a.container_id ' +
    'WHERE t.is_ms_shipped = 0 ' +
    'GROUP BY t.name, SCHEMA_NAME(schema_id); ' +
    'END '
FROM sys.databases
WHERE database_id > 4  -- Exclude system databases

-- 执行查询
EXEC sp_executesql @Query

-- 查询结果
SELECT * FROM #TableSizes

-- 删除临时表
DROP TABLE #TableSizes

update 20240206
检查数据库状态或使用 DATABASEPROPERTYEX 函数来完成。
仅查询状态为 “ONLINE” 的数据库,并将结果存储在临时表中。其他数据库(如 “OFFLINE” 或 “SUSPECT”)将被排除在外。

Ending


~喜欢的话,请收藏 | 关注(✪ω✪)~
~万一有趣的事还在后头呢,Fight!!(o^-^)~''☆ミ☆ミ~……

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/374699.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

游泳哪个牌子口碑最好?全球最好的游泳耳机排行榜

在水中畅游时,倾听悠扬的音乐或放松的声音是一种愉悦的体验,而蓝牙游泳耳机的出现更是为游泳者提供了更便利的选择。市场上涌现出多款不同品牌的蓝牙游泳耳机,为了满足游泳爱好者对音乐的需求,小编为大家精心整理了一些值得推荐的…

C++多线程学习[五]:RAII锁

一、什么是RAII 使用局部对象来控制资源的技术,即它的生命周期由操作系统来管理,无需人工的介入。 为什么要采用RAII技术呢? 主要是在开发过程中资源的销毁容易忘记,容易造成死锁或内存泄露。 {}为一个区域 ,这里锁的…

JVM 性能调优 - 参数调优(3)

查看 JVM 内存的占用情况 编写代码 package com.test;public class PrintMemoryDemo {public static void main(String[] args) {// 堆内存总量long totalMemory Runtime.getRuntime().totalMemory();// jvm 试图使用的最大堆内存long maxMemory Runtime.getRuntime().maxM…

Matlab使用点云工具箱进行点云配准

一、代码 source_pc pcread(bun_zipper.ply); target_pc pcread(bun_zipper2.ply); % 下采样 gridStep 0.001; ptCloudA pcdownsample(source_pc,gridAverage,gridStep); ptCloudB pcdownsample(target_pc,gridAverage,gridStep); % 初始变换矩阵 tform_initial affine3…

AE2023 After Effects 2023

After Effects 2023是一款非常强大的视频编辑软件,提供了许多新功能和改进,使得视频编辑和合成更加高效和灵活。以下是一些After Effects 2023的特色功能: 新合成预设列表:After Effects 2023彻底修改了预设列表,使其…

Excel——有效性、二级菜单联动

一、录入规范数据 1.手动输入序列录入有效性信息 选择需要录入有效性的所有单元格 选择【数据】——【有效性】——【有效性】 在【允许】输入的值之间选择【序列】 在【序列】输入框中输入想要选择的值,中间用逗号(必须是英文逗号)隔开 。…

Java入门之JavaSe(韩顺平p1-p?)

学习背景: 本科搞过一段ACM、研究生搞了一篇B会后,本人在研二要学Java找工作啦~~(宇宙尽头是Java?)爪洼纯小白入门,C只会STL、python只会基础Pytorch、golang参与了一个Web后端项目,可以说项目小…

Linux 网络:PTP 简介

文章目录 1. 前言2. PTP(Precision Time Protocol​) IEEE 1588 协议简介2.1 PTP IEEE 1588 协议时间同步原理2.2 PTP IEEE 1588 协议时钟类型2.2.1 普通时钟(OC: Ordinary Clock)2.2.2 边界时钟(BC: Boundary Clock)2.2.3 透明时钟(TC: Transparent Clock)2.2.3.1 端对端透明时…

挂耳耳机哪个牌子好?推荐几款性价比超高的挂耳耳机

在寻求更轻便舒适的听音体验时,挂耳耳机逐渐成为众多用户的优先选择。市场上各式各样的耳挂耳机琳琅满目,种类繁多,挂耳耳机哪个牌子好?为了帮助大家更好地了解耳挂耳机的市场状况,我推荐几款性价比超高的挂耳耳机。 挂…

MongoDB的分片集群(二) :mongodb4.x分片集群离线搭建开启安全认证

转载说明:如果您喜欢这篇文章并打算转载它,请私信作者取得授权。感谢您喜爱本文,请文明转载,谢谢。 相关文章: MongoDB的分片集群(一) : 基础知识 在《MongoDB的分片集群(一) : 基础知识》中梳理了分片集群的基础知识…

知名开发工具RubyMine全新发布v2023.3——支持AI Assistant

RubyMine 是一个为Ruby 和 Rails开发者准备的 IDE,其带有所有开发者必须的功能,并将之紧密集成于便捷的开发环境中。 RubyMine v2023.3正式版下载 新版本改进AI Assistant支持、Rails应用程序和引擎的自定义路径、对Rails 7.1严格locals的代码洞察、RB…

页面模块向上渐变显示效果实现

ps: 先祝各位朋友新春快乐 ^o^/ 想要首页不那么枯燥无味吗?还在未首页过于单调而苦恼吧,来试试这个吧(大佬请忽略上述语句o) 今天要实现一个页面线上渐变显示的效果,用来丰富首页等页面: 这里先随机建立几…

jsp商场会员卡管理系统Myeclipse开发mysql数据库web结构java编程计算机网页项目

一、源码特点 JSP 商场会员卡管理系统是一套完善的java web信息管理系统,对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采用B/S模式开发。开发环境为TOMCAT7.0,Myeclipse8.5开发,数据库为Mysql5.…

C遗漏知识(个人向)

之前C语言遗漏的一些。 数据在内存中的存储 原码、反码、补码 整数的2进制表⽰⽅法有三种,即 原码、反码和补码 正整数的原、反、补码都相同。 负整数的三种表⽰⽅法各不相同。 原码:直接将数值按照正负数的形式翻译成⼆进制得到的就是原码。 反码&…

【芯片设计- RTL 数字逻辑设计入门 6 -- 带同步复位的D触发器 RTL实现及testbench 验证】

文章目录 带同步复位的D触发器Verilog 代码testbench 代码编译及仿真问题小结 带同步复位的D触发器 同步复位 :复位只能发生在在clk信号的上升沿,若clk信号出现问题,则无法进行复位。 Verilog 代码 // timescale ins/1nsmodule flopr (inpu…

45 漏洞发现-API接口服务之漏洞探针类型利用修复

目录 端口服务类安全测试API接口-webservice RESTful APT 演示案例:端口服务类-Tomcat弱口令安全问题端口服务类-Glassfish任意文件读取其他补充类-基于端口WEB站点又测试其他补充类-基于域名WEB站点又测试其他补充类-基于IP配合端口信息再收集口令安全脚本工具简要使用-Snetcr…

sql求解连续两个以上的空座位

Q:查找电影院所有连续可用的座位。 返回按 seat_id 升序排序 的结果表。 测试用例的生成使得两个以上的座位连续可用。 结果表格式如下所示。 A:我们首先找出所有的空座位:1,3,4,5 按照seat_id排序(上面已…

vue3 elementplus DateTimePicker 日期时间设置默认时间为当天

DateTimePicker里面有个自带属性 可以实现这个需求,如图: // 设置当前当天时间范围 00: 00: 00 - 23:59:59 const currentDate [setDefaultDate(0), setDefaultDate(1)]const setDefaultDate (type:number ): string > {let t ;let date new Da…

代码随想录算法训练营第25天 | 216.组合总和III ,17.电话号码的字母组合

回溯章节理论基础: https://programmercarl.com/%E5%9B%9E%E6%BA%AF%E7%AE%97%E6%B3%95%E7%90%86%E8%AE%BA%E5%9F%BA%E7%A1%80.html 216.组合总和III 题目链接:https://leetcode.cn/problems/combination-sum-iii/ 思路: 本题就是在[1,2,3,4,5,6,7,…

【宝藏系列】嵌入式入门概念大全

【宝藏系列】嵌入式入门概念大全 0️⃣1️⃣操作系统(Operating System,OS) 是管理计算机硬件与软件资源的系统软件,同时也是计算机系统的内核与基石。操作系统需要处理管理与配置内存、决定系统资源供需的优先次序、控制输入与输…