2013-04-26 75 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中提供的工具,後來被稱爲數據收藏家。如果您已啓用數據收集的服務器上,你可以跟蹤歷史數據和日誌文件的變化,以及觀察自動增長事件對特定數據庫。

MSDN Data Collector