65.9K
CodeProject 正在变化。 阅读更多。
Home

SQL 数据库表空间使用数据,导出为 CSV 文件

starIconstarIconstarIconstarIcon
emptyStarIcon
starIcon

4.33/5 (2投票s)

2006年2月1日

2分钟阅读

viewsIcon

34517

downloadIcon

1331

这是一个简单的控制台应用程序,可以被安排任务调度,用于创建包含表空间使用数据的 CSV 文件。

引言

你是否管理过变得庞大且难以管理的旧版 SQL 数据库?此工具可以随时执行,甚至作为计划任务执行,以创建一个带有日期和时间戳的 CSV 文件,其中包含数据库中每个表的表空间使用情况报告,使用 sp_spaceused 存储过程。

背景

本文使用了我之前的提交 自定义配置 SQL 连接字符串部分 来遍历定义的 SQL 连接字符串集合,以生成 CSV 文件。SQL 本身非常简单,并使用游标遍历在 sysobjects 表中定义的所有表,以执行 sp_spaceused 存储过程。

使用代码

使用该应用程序非常简单。对于 App.Config 文件中定义的每个 SqlConnectionString,都会建立一个 SqlConnection,并使用游标遍历数据库中找到的表以生成 CSV 文件。文件名格式为 [数据库名称].TableSpaceUsed.[yyyy_MM_dd_HH_mm].CSV 可以在 Main 方法中轻松更改。

此示例假定 SQL Server 的 (本地) 实例具有 ModelpubsNorthwind 数据库,并且应用程序运行的帐户具有访问这些表的权限。

该项目可以轻松修改为将结果存储在另一个 SQL 数据库或 XML 文件中。

关注点

我在我的雇主那里使用了这个工具,因为我们有一个数据库在五个月内增长了 19%,从 8 GB 增长到 9.6 GB,并且确定超过 1/2 的容量被三个表占用。我们现在正在研究如何展平这些表以减小数据库大小。

历史

  • 第一个版本,2006年1月26
© . All rights reserved.