我如何知道过去六个月每个月的表大小和行数?

Ano*_*s Z 1 sql-server

使用 sql server 我可以获得表的行数和大小以及过去六个月的数据库大小吗?

SQL*_*ing 6

除非您正在跟踪表,否则无法知道表大小。获取当前大小:

sp_spaceused 'TableName'
Run Code Online (Sandbox Code Playgroud)

获取行数:

Select count(*) from 'TableName'
Run Code Online (Sandbox Code Playgroud)

要使用时间戳字段获取行数:

    Select
          DATEPART(YEAR, 'timestamp_field') AS 'Year',
          DATEPART(MONTH, 'timestamp_field') AS 'Month',
          DATEPART(DAY, 'timestamp_field') AS 'Day',
          COUNT(*) AS Check

    from
         'TableName'
    group by
         DATEPART(DAY, 'timestamp_field'),
          DATEPART(MONTH, 'timestamp_field'),
          DATEPART(YEAR, 'timestamp_field')  
ORDER BY  'Year',  
          'Month',  
          'Day'
Run Code Online (Sandbox Code Playgroud)

数据库增长:

SELECT
[database_name] AS DB,
DATEPART(day,[backup_start_date]) AS Day,
DATEPART(month,[backup_start_date]) AS Month,
DATEPART(year,[backup_start_date]) AS Year,
AVG([backup_size]/1024/1024) AS "Backup Size MB",
AVG([compressed_backup_size]/1024/1024) AS "Compressed Backup Size MB",
AVG([backup_size]/[compressed_backup_size]) AS "Compression Ratio"
FROM msdb.dbo.backupset
WHERE [database_name] = N'AdventureWorks'
AND [type] = 'D'
GROUP BY [database_name],DATEPART(m,[backup_start_date]),DATEPART(d,[backup_start_date]),DATEPART(y,[backup_start_date]),backup_start_date;  
Run Code Online (Sandbox Code Playgroud)

有关数据库大小的详细信息。检查此链接
创建表大小跟踪报告