I have a high volume audit situation in SQL Server 2008 R2 Enterprise Edition 64 bit SP1.
CREATE SERVER AUDIT [Audit-UserUsage$xxxxxxxx]
TO FILE
( FILEPATH = N'R:\SQLAudit\logs\'
,MAXSIZE = 100 MB
,MAX_ROLLOVER_FILES = 50
,RESERVE_DISK_SPACE = OFF
)
WITH
( QUEUE_DELAY = 60000
,ON_FAILURE = CONTINUE
)
GO
My 100 MB files are filling in about 2 mins during peak usage.
The number of files retained will climb to 29 and then it will go back to the earliest
file and delete it and create a new one on the end to hold new logging records.
My ETL job which is trying to keep up with this logging to scrape the records off into
a database can't always keep up with this, which is why I have the high rollover limit.
So my question is, if my rollover limit is set to retain a max of 50 files why does it only
keep 29 before it starts kicking in its delete/reuse logic. On an earlier implemenentation
I had a much smaller file size allocation and a rollover limit of 10, but it never retained more
than 4 files.
Am I mis-understanding what the meaning of the MAX_ROLLOVER_FILES parameter?
Shouldn't it run up to the number of files specified before it starts deleting the earliest files?