我想知道的,是如何遵循日誌文件大小的進化時間? SSMS是否提供了這樣做的工具?如何跟蹤SQL Server中的日誌文件大小演變?
編寫腳本,從時間檢查一次文件的大小確實是可行的,但在獲得之前的選擇,任何人都可以請告訴我們,如果這樣的工具SSMS中已經存在?
謝謝
我想知道的,是如何遵循日誌文件大小的進化時間? SSMS是否提供了這樣做的工具?如何跟蹤SQL Server中的日誌文件大小演變?
編寫腳本,從時間檢查一次文件的大小確實是可行的,但在獲得之前的選擇,任何人都可以請告訴我們,如果這樣的工具SSMS中已經存在?
謝謝
我使用下面的腳本(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)
快速和骯髒的 - 我知道它可以細化:)
它不會給你的日誌文件大小的精確值的時候,但你可以使用跟蹤篩選「成長日誌文件」事件。這也應該出現在默認跟蹤(默認啓用:))。 我知道這適用於SQL Server 2005和2008,不知道其他版本(我不知道你用的是哪一個)。 你會爲此使用::fn_trace_gettable
函數。當你指定默認的跟蹤文件的位置(它會自動解析目錄中的所有文件的參數,你只需要給「log.trc」作爲文件名。
在SQL Server 2008中提供的工具,後來被稱爲數據收藏家。如果您已啓用數據收集的服務器上,你可以跟蹤歷史數據和日誌文件的變化,以及觀察自動增長事件對特定數據庫。