Issue
How to remove unwanted entries from the Alarm log, Access Event log, Error log, and Activity log automatically.
Product Line
Andover Continuum
Environment
- Continuum
- SQL Server MSDE, 2000, 2005, 2008
Cause
Want to setup automatic truncation of event logs and unsure how to do this in an SQL Server environment.
Resolution
MSDE Engine
For MSDE, you can go to our Exchange online site and download the Standalone MSDE Database Utilities from the Tools, Utilities and Service Packs section of the Continuum part of our Exchange online web site. This is capable of automatically truncating the logs, as well making automated backups, checking for low hard drive space, etc.
SQL Server 2000, SQL Server 2005
For full-blown SQL Server, you can easily create a scheduled Job. Details are described below.
To create a scheduled Job that will truncate the Continuum logs in the SQL Server:
1. Open up SQL Enterprise Manager. Note that the SQL Server Agent service must be running in order to create a Job.
2. Highlight the Continuum database
3. From the Menu, select Tools \ Job Scheduling A wizard opens; "Welcome to the Create Job Wizard" Hit Next
4. Select Transact-SQL Command
5. Hit Next
6. For the Database Name, select ContinuumDB (or whatever the name of the DB is)
7. In the large white space for the Transact-SQL Command, cut and paste the code from our web site:
/****** Replace 90 with the number of days to maintain in each log ********/
delete from accessevent
where
DATEDIFF(day, timestamp, getdate()) > 90
delete from activityevent
where
DATEDIFF(day, timestamp, getdate()) > 90
delete from alarmevent
where
DATEDIFF(day, timestamp, getdate()) > 90
delete from errorevent
where
DATEDIFF(day, timestamp, getdate()) > 90
8. Hit Next
9. On the next screen, you are asked when you do want to run this job. Select "On a recurring basis" and hit the Schedule button.
10. On the Schedule page, set up whatever schedule you desire
11. Hit OK to close the Schedule Page
12. Hit Next
13. On the Job Notifications screen, you can choose (if you want) any email or net send alerts. This is optional
14. Hit Next
15. In the final page, you are given a summary of the Job you have just created and you can change the name of your Job to anything you want. It might be a good idea to give it a more descriptive name like "Weekly Log Truncation"
16. Click Finish and you are done.
You should get a message that the job was created successfully.
To verify that the Job is running correctly, you can go to the Enterprise Manager of SQL Server and click on the Management Folder, then expand the SQL Server Agent folder and click on Jobs. On the right-hand pane, you will see a list of created jobs. Scroll down and find the job that you just created. You can get information about the history of the Job, whether it ran successfully or not.
SQL Server 2008
1. Run Mgmt Studio and login as sa.
2. Make sure SQL Server Agent is running. Would expect it is by default.
3. Right-click on Jobs (under SQL Server Agent). Select New Job...
4. General tab - Name: TrimLogs // Owner: sa // Category: Database Maintenance // Enabled checkbox
5. Steps tab - New... // Step name: DateDiff // Type Transact-SQL script (T-SQL) // Run as: [null] // Database: ContinuumDB //Command: [pasted in code below]. Press OK.
delete from accessevent
where
DATEDIFF(day, timestamp, getdate()) > 90
delete from activityevent
where
DATEDIFF(day, timestamp, getdate()) > 90
delete from alarmevent
where
DATEDIFF(day, timestamp, getdate()) > 90
delete from errorevent
where
DATEDIFF(day, timestamp, getdate()) > 90
6. Schedules tab - New... // Name: Weekly // Schedule type: Recurring & Enabled // Occurs: Weekly // Recurs every: 1 week(s) on [whatever date and time]. Press OK.
7. Did not set up Alerts, Notifications or Targets.
8. Press OK.
9. Set it up to run a few minutes after creation.
10. After time passed, opened Mgmt Studio and double-clicked Job Activity Monitor. Saw TrimLogs had successfully run.
11. Ran query: Select count(*) from ActivityEvent to verify count went down.