Вы можете отслеживать размер отдельных файлов базы данных (как файлов журнала, так и файлов данных), используя представление системного каталога sys.database_files
Ниже приведен пример, который создаст таблицу, а затем сохранит результаты этой информации для каждой базы данных. Затем вы можете вывести данные в формате Excel, чтобы отслеживать рост за записанный период времени. Вы даже можете прогнозировать свой темп роста.
IF OBJECT_ID('DatabaseFiles') IS NULL
BEGIN
CREATE TABLE DatabaseFiles
(
ID int identity(1,1) not null primary key,
CreatedDate datetime not null default getDate(),
DatabaseID int not null,
DatabaseName varchar(50) not null,
FileID int not null,
FileName varchar(50) not null,
SizeInMB numeric(12,6),
FilePath varchar(150) not null,
FileType varchar(10) not null
)
END
--Get the current database file size information for each database on the server
EXECUTE sp_msforeachdb
'INSERT INTO DatabaseFiles(DatabaseID,DatabaseName,FileID,FileName,SizeInMB,FilePath,FileType)
SELECT
DB_ID(''?''),
DB_NAME(DB_ID(''?'')),
file_id,
name,
CAST(((SIZE * 8.00)/1024.00) AS DECIMAL(18,2)) AS SizeInMB,
physical_name,
type_desc
FROM [?].sys.database_files '