Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Счетчик: объем данных, записанных в БД (таблицы)  [new]
evgeshevgesh
Member

Откуда:
Сообщений: 2
Кто сталкивался - существует ли стандартный в OC Servre Management - Performance, который бы измерял/собирал данные об объеме данных, записываемых в БД (в таблицы) ?
То есть нужно мониторить, сколько Mb было записанно в БД вчера... сколько за неделю и т.д.
28 ноя 14, 11:44    [16918068]     Ответить | Цитировать Сообщить модератору
 Re: Счетчик: объем данных, записанных в БД (таблицы)  [new]
RIBor
Member

Откуда:
Сообщений: 43
Как вариант, можно сделать джоб, который бы каждую ночь записывал в соответствующую таблицу данные по объёму.

--create table <table_name> (cur_date datetime, volume_dec decimal(20, 2), volume_str varchar(50)) 

declare @qwe decimal(20,2)
set @qwe = (select sum(size) from <database_name>.sys.database_files)

insert into <table_name> (cur_date, volume_dec, volume_str) 
select getdate(), @qwe * 8 /1024, convert(varchar, convert(decimal(20,2), @qwe * 8 /1024)) + ' Mb'


Тогда по этой таблице можно будет мониторить объём за какой угодно период.
28 ноя 14, 15:17    [16919938]     Ответить | Цитировать Сообщить модератору
 Re: Счетчик: объем данных, записанных в БД (таблицы)  [new]
Glory
Member

Откуда:
Сообщений: 104751
SELECT * FROM sys.dm_io_virtual_file_stats(NULL, NULL);
28 ноя 14, 15:38    [16920158]     Ответить | Цитировать Сообщить модератору
 Re: Счетчик: объем данных, записанных в БД (таблицы)  [new]
evgeshevgesh
Member

Откуда:
Сообщений: 2
Спасибо.

SELECT DB_NAME(vfs.DbId) DatabaseName, mf.name,
mf.physical_name, vfs.BytesRead, vfs.BytesWritten,
vfs.IoStallMS, vfs.IoStallReadMS, vfs.IoStallWriteMS,
vfs.NumberReads, vfs.NumberWrites,
(Size*8)/1024 Size_MB
FROM ::fn_virtualfilestats(NULL,NULL) vfs
INNER JOIN sys.master_files mf ON mf.database_id = vfs.DbId
AND mf.FILE_ID = vfs.FileId
GO
28 ноя 14, 18:51    [16921532]     Ответить | Цитировать Сообщить модератору
 Re: Счетчик: объем данных, записанных в БД (таблицы)  [new]
c3-22
Member [заблокирован]

Откуда:
Сообщений: 37
evgeshevgesh
Спасибо.

SELECT DB_NAME(vfs.DbId) DatabaseName, mf.name,
mf.physical_name, vfs.BytesRead, vfs.BytesWritten,
vfs.IoStallMS, vfs.IoStallReadMS, vfs.IoStallWriteMS,
vfs.NumberReads, vfs.NumberWrites,
(Size*8)/1024 Size_MB
FROM ::fn_virtualfilestats(NULL,NULL) vfs
INNER JOIN sys.master_files mf ON mf.database_id = vfs.DbId
AND mf.FILE_ID = vfs.FileId
GO


Это хороший запрос, но эта функция накапливает данные с момента последнего запуска вашего сервера. Как упомянули выше, вам нужно установить ночную работу, которая будет записывать эти данные в таблицу.
28 ноя 14, 22:40    [16922407]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить