通常情况下,DBA在检查数据库空间时,都会运行系统存储过程sp_spaceused,或者从SQL Server Management Studio获取磁盘使用报告。将sp_SDS与其它的方法作比较是非常有趣的。图2的图表显示的是它们之间比较的几个画面组合。它包含四个部分。
第1部分是数据级的sp_SDS结果。第2部分显示sp_spaceused的查询结果。第3部分与第1部分相类似,但它是文件级的。第4部分表示SSMS绘制的饼图。
相关的值颜色突出并与各个部分相连接。 图2:图表显示数据库级sp_SDS、文件级sp_SDS、sp_spaceused和磁盘使用饼状图报告之间的比较。 在S……
我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。
我原创,你原创,我们的内容世界才会更加精彩!
【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】
微信公众号
TechTarget
官方微博
TechTarget中国
通常情况下,DBA在检查数据库空间时,都会运行系统存储过程sp_spaceused,或者从SQL Server Management Studio获取磁盘使用报告。将sp_SDS与其它的方法作比较是非常有趣的。图2的图表显示的是它们之间比较的几个画面组合。它包含四个部分。第1部分是数据级的sp_SDS结果。第2部分显示sp_spaceused的查询结果。第3部分与第1部分相类似,但它是文件级的。第4部分表示SSMS绘制的饼图。相关的值颜色突出并与各个部分相连接。
图2:图表显示数据库级sp_SDS、文件级sp_SDS、sp_spaceused和磁盘使用饼状图报告之间的比较。
在SQL Server 2000中,Enterprise Manager的Taskpad视图与SQL Server 2005所绘制的有所不同。如图3,我所管理的其中一个数据库,叫做“LANEPMSI”,它包含54个数据文件和1个日志文件。目前,我们先不考虑为什么一个4.5GB的数据库需要这么多的数据文件——这个是厂商的选择。我所要强调的是,这么多的文件数对于DBA而言,计算这些文件大小是很困难的。如果使用sp_SDS来获取数据就像在列表3中的T-SQL代码按F5键(刷新)一样容易。图4反映了执行列表3中的T-SQL语句的结果。
USE master; EXEC dbo.sp_SDS 'LANEPMSI', 'DATABASE', 1, 'MB'; EXEC dbo.sp_SDS 'LANEPMSI', 'file', 1, 'MB'; |
列表3:在SQL Server2000数据库中以数据库级和文件级执行sp_SDS。
图3:一个SQL Server 2000数据库包含大量的数据文件,这使得显示数据库空间汇总、已使用空间和未使用空间e非常困难。
图4:Sp_SDS可以让你查看已使用、未使用、数据和日志空间总数。它同时还将数据库分为单独数据和日志文件,并显示了每个文件之间相应值。
Sp_SDS兼容SQL Server 2000、2005 和 2008。图5显示了在SQL Server 2008同时运行sp_SDS和系统存储过程e中sp_spaceused的情况。你可以比较图5和图6的数据,它们都显示了一个硬盘使用报告(Disk Usage Report)。
图5:Sp_SDS兼容SQL Server 2008。在AdventureWorks2008示例数据库中运行sp_SDS和 sp_spaceused的结果比较。
图6:在SQL Server 2008上AdventureWorks2008示例数据库的一个Disk Usage 报告饼状图。
Sp_SDS和它的计算方法对于各种DBA任务是非常有用的。你是否曾经被要求为一个管理会议准备一份数据库空间使用报告呢?你可以使用sp_SDS来快速生成一个整洁的表格格式报告。一个DBA的责任就是监控数据库的增长。你可以安排一个日常工作来运行sp_SDS并将结果存储在一个表中。随着时间的推移,你将建立起一个数据仓库,并用它来分析数据库增长趋势。
创造数据或日志增长的提醒是存储过程sp_SDS的另外一个实际应用。如果大小超过了某个临界值,你可以发出警告或者采取其它的措施,如执行一个事务日志备份工作。有时候DBA并不需要压缩整个数据库。他只需要缩小占用最大存储空间的一个或几个数据文件。在这种情况下,参数@Level = 'FILE'的sp_SDS可以帮助DBA快速地确定那个(些)文件应该压缩。当由于生产环境中磁盘空间不足而需要重建数据库时,SQL Server数据库空间的详细的文件级统计分析对于DBA正确转移数据库文件是非常有用的。
Richard Ding,波士顿东北大学数据库管理员,他从1990年代后期就开始进行SQL Server相关工作。他的兴趣包括数据库管理、T-SQL开发、灾难恢复、问题复现和性能优化等。他为几个杂志撰写关于SQL Server产品的文章,包括《SQL Server Magazine》和《SQL Server Standard》。他是一个SearchSQLServer.com的贡献者,也是各种SQL Server在线论坛的会员。尽管之前获取了医学学位和生物科学博士学位,Richard仍然很热衷于成为一名有创造力的SQL Server专家。你可以通过电子邮件与他联系:rding@rcn.com。
作者
翻译
TechTarget中国特约技术编辑,某高校计算机科学专业教师和网络实验室负责人,曾任职某网络国际厂商,关注数据中心、开发运维、数据库及软件开发技术。有多本关于思科数据中心和虚拟化技术的译著,如《思科绿色数据中心建设与管理》和《基于IP的能源管理》等。
相关推荐
-
云端SQL Server高可用性最佳做法
与内部部署相比,在云端运行SQL Server可为数据库软件用户提供更多的灵活性和可扩展性,也可能更省钱。但云 […]
-
绘制数据关系图的利器:SQL Server 图像数据库工具
SQL Server 2017新增了图形数据库功能,你可以使用图结构来表示不同数据元素之间的关系。
-
如何在Azure部署时选择合适的SQL Server?
想要在Azure上运行SQL Server,企业一般会面临两种选择:在Azure虚拟机上安装SQL Server或使用Azure SQL Database。
-
Linux支持的引入 推动了SQL Server 2016集成服务的发展
随着SQL Server的不断发展,集成服务也在发生相应的变化。在最新的SSIS更新中,增加Linux支持和SQL Server 2016升级向导。