Die*_*res 10 sql-server-2008 sql-server size
我最近作为 DBA 实习生开始使用 SQL Server 2008。我需要计算数据库的大小,还要估计它最近几个月的增长以及未来 12 个月的预测增长。
我可以使用 sp_spaceused 语句来计算实际大小,但如何计算其他所有内容?
Bre*_*zar 21
其他答案在技术上是正确的,但在现实世界中并不正确。以下是您需要询问企业的内容:
我的目标是什么时间范围?就您而言,您正在寻找一个 12 个月的数字。
在此期间,我们会存档数据还是保留所有数据?在某些企业中,您只能(或必须)保留一定数量的数据,例如过去 12 个月的数据。在这种情况下,您需要弄清楚数据增长(随后的问题将回答),然后返回到最后滚动的 12 个月。您不能只说“现在数据量是 100GB”,因为如果您的数据量在增长,那么过去 12 个月的数据量也在增长。时间量可能是恒定的,但数据不是。
我们会增加额外的用户吗?例如,业务可能正在扩展到新的领域或获得新客户。如果他们将用户群翻倍,那么在某些情况下,数据也将开始翻倍。
我们预计业务量会增长吗?例如,如果您正在跟踪网站上的销售情况,并且您开始投放超级碗或世界杯广告,那么您的数据量可能会达到曲棍球棒的增长曲线。
我们会在应用程序中添加其他功能吗?如果应用程序突然开始存储图像,这将极大地影响数据库大小。
我们会从其他来源添加数据,还是记录新数据?如果您开始捕获网站点击次数,或者在数据仓库中添加其他来源,那么数据量将会增长。
开发人员或 DBA 会成为性能调优指标吗?如果您打算让人们创建索引,您可以轻松地将数据大小增加一倍(或三倍或四倍),具体取决于他们的热情程度。
只要您提出这些问题,您还应该询问性能是否会保持不变、降低或变得更好。我喜欢在折线图上绘制预计的增长,然后在同一时间段内比较硬件和员工培训投资。
Mar*_*ith 14
如果没有以前的增长历史,您就无法准确预测未来的增长。但是,您可以使用备份历史进行欺骗并获得粗略的趋势,如 Erin Stellato 在 Trending Database Growth From Backups 中详细介绍的那样。
在 Excel 中绘制以下查询的输出:
SELECT
[Database] = [database_name]
, [Month] = DATEPART(month,[backup_start_date])
, [Backup Size MB] = AVG([backup_size]/1024/1024)
, [Compressed Backup Size MB] = AVG([compressed_backup_size]/1024/1024)
, [Compression Ratio] = AVG([backup_size]/[compressed_backup_size])
FROM
msdb.dbo.backupset
WHERE
[database_name] = N'YourDatabaseName'
AND [type] = 'D'
GROUP BY
[database_name]
, DATEPART(mm, [backup_start_date]);
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
27794 次 |
最近记录: |