2013-04-26 6 views
1

Что я хочу знать, как следить за эволюцией размера файла журнала во времени? Обеспечивает ли SSMS инструмент для этого?Как отслеживать изменение размера файла журнала в SQL Server?

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

Спасибо,

ответ

2

Я использую следующий скрипт (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) 

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

1

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

1

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

MSDN Data Collector

Смежные вопросы