Ruishine  

第一步:创建表格用于记录数据

use master
CREATE TABLE [dbo].[Rec_DBFile_Used](
 [DBName] [nchar](30) NULL,
 [FileName] [nchar](30) NULL,
 [DataFileID] [nchar](10) NULL,
 [Size_M] [numeric](18, 0) NULL,
 [SpaceUsed] [numeric](18, 0) NULL,
 [SpaceFree] [numeric](18, 0) NULL,
 [SpaceUserate] [numeric](18, 0) NULL,
 [MaxSize] [numeric](18, 0) NULL,
 [Growth] [numeric](18, 0) NULL,
 [is_percent_growth] [nchar](10) NULL,
 [physical_name] [nchar](100) NULL,
 [Rec_date] [datetime] NULL
) ON [PRIMARY]

第二步:创建 Job 定时写入记录
Job 详细配置请参考《SQL Server 邮箱告警配置》这里不做赘述。
将Job Step 中的代码替换如下即可:

use tempdb
go
insert into  [master].[dbo].[Rec_DBFile_Used] 
select 
 'tempdb',
 name,
 data_space_id,
  size/128 ,
 fileproperty(name,'spaceused')/128 ,
  size/128 - fileproperty(name,'spaceused')/128 ,
  fileproperty(name,'spaceused')*100.0/size ,
  max_size/128 ,
  growth , 
 is_percent_growth ,
 physical_name  ,getdate() 
 from sys.database_files;

Job 成功执行后,可通过查询 [dbo].[Rec_DBFile_Used] 表观察 tempdb 的变化情况:

select * from [dbo].[Rec_DBFile_Used]
posted on 2021-02-01 15:20  夜光兔  阅读(44)  评论(0编辑  收藏  举报