SQL Server 2000DBAVisual Studio .NET 2003.NET 1.1SQL Server 2005中级开发Visual StudioSQL ServerSQLWindows.NETC#
SQL 数据库表空间使用数据,导出为 CSV 文件






4.33/5 (2投票s)
2006年2月1日
2分钟阅读

34517

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 的 (本地) 实例具有 Model、pubs 和 Northwind 数据库,并且应用程序运行的帐户具有访问这些表的权限。
该项目可以轻松修改为将结果存储在另一个 SQL 数据库或 XML 文件中。
关注点
我在我的雇主那里使用了这个工具,因为我们有一个数据库在五个月内增长了 19%,从 8 GB 增长到 9.6 GB,并且确定超过 1/2 的容量被三个表占用。我们现在正在研究如何展平这些表以减小数据库大小。
历史
- 第一个版本,2006年1月26日。