Как отследить изменение размера файла журнала в SQL Server?

Что я хочу знать, так это то, как следить за изменением размера файла журнала во времени? Предоставляет ли SSMS инструмент для этого?

Вариант написания скрипта, который время от времени проверяет размер файла, действительно выполним, но прежде чем приступать, может ли кто-нибудь сказать, существует ли уже такой инструмент в SSMS?

Спасибо,


person Kamel Keb    schedule 26.04.2013    source источник


Ответы (3)


Я использую следующий скрипт (powershell), когда мне нужно это сделать:

$doforever = 1

$cn2 = new-object system.data.SqlClient.SQLConnection("Data Source=somedatasource;Integrated Security=false;Initial Catalog=master;User  ID=sa;Password=somepasswordimnottelling");
$cmd = new-object system.data.sqlclient.sqlcommand("dbcc sqlperf(logspace)", $cn2);
$cn2.Open();

do 
{
$ds=New-Object system.Data.DataSet
$da=New-Object system.Data.SqlClient.SqlDataAdapter($cmd)
[void]$da.fill($ds)

$ds.tables[0] | out-string | %{$_.split("`n")}| %{$_ -replace("\s+",",")}|%{"{0},{1}" -f (get-date -format 'dd/MM/yyyy HH:mm:ss'),$_} | add-content -path c:\perflogs\admin\logsize.csv

sleep -s 300
}
while ($doForever -eq 1)

Быстро и грязно - я знаю, что это можно улучшить :)

person marceljg    schedule 26.04.2013

Это не даст вам точных значений размера файла журнала во времени, но вы можете использовать трассировку для фильтрации событий «рост файла журнала». Это также должно отображаться в трассировке по умолчанию (по умолчанию включено :)). Я знаю, что это относится к SQL Server 2005 и 2008, не уверен в других выпусках (и я не знаю, какой из них вы используете). Для этого вы должны использовать функцию ::fn_trace_gettable. В качестве параметра вы указываете местоположение файлов трассировки по умолчанию (он автоматически анализирует все файлы в каталоге, вам просто нужно указать «log.trc» в качестве имени файла.

person AdamL    schedule 26.04.2013

В SQL Server 2008 и более поздних версиях есть инструмент под названием Data Collector. Если вы включили сбор данных на своем сервере, вы можете отслеживать исторические изменения файлов данных и журналов, а также наблюдать за событиями автоматического роста для определенных баз данных.

Сборщик данных MSDN

person Cougar9000    schedule 26.04.2013