dbTalk Databases Forums  

db maintennace job failed to delete old backup file

microsoft.public.sqlserver.tools microsoft.public.sqlserver.tools


Discuss db maintennace job failed to delete old backup file in the microsoft.public.sqlserver.tools forum.



Reply
 
Thread Tools Display Modes
  #1  
Old   
JJ Wang
 
Posts: n/a

Default db maintennace job failed to delete old backup file - 08-24-2003 , 11:45 PM






Hi,

I am working on sql server 2000.

It happened few times to me now, one of my database
maintenance backup job failed to delete the old backup
file. And it always happend to the same database. I set
the job to delete any backup file that is older than 1
day. Any thought on this?

Thanks.
JJ


Reply With Quote
  #2  
Old   
Allan Mitchell
 
Posts: n/a

Default Re: db maintennace job failed to delete old backup file - 08-25-2003 , 04:29 AM






reply given previousy by Bill Hollinshead at MS

------ Log files don't delete ----
This is likely to be either a permissions problem or a sharing violation
problem. The maintenance plan is run as a job, and jobs are run by the
SQLServerAgent service. Permissions:
1. Determine the startup account for the SQLServerAgent service
(Start|Programs|Administrative tools|Services|SQLServerAgent|Startup). This
account is the security context for jobs, and thus the maintenance plan.
2. If SQLServerAgent is started using LocalSystem (as opposed to a domain
account) then skip step
3. 3. On that box, log onto NT as that account. Using Explorer, attempt to
delete an expired backup. If that succeeds then go to Sharing Violation
section.
4. Log onto NT with an account that is an administrator and use Explorer to
look at the Properties|Security of the folder (where the backups reside) and
ensure the SQLServerAgent startup account has Full Control. If the
SQLServerAgent startup account is LocalSystem, then the account to consider
is SYSTEM.
5. In NT, if an account is a member of an NT group, and if that group has
Access is Denied, then that account will have Access is Denied, even if that
account is also a member of the Administrators group. Thus you may need to
check group permissions (if the Startup Account is a member of a group).
6. Keep in mind that permissions (by default) are inherited from a parent
folder. Thus, if the backups are stored in C:\bak, and if someone had denied
permission to the SQLServerAgent startup account for C:\, then C:\bak will
inherit access is denied.
Sharing violation: This is likely to be rooted in a timing issue, with the
most likely cause being another scheduled process (such as NT Backup or
Anti-Virus software) having the backup file open at the time when the
SQLServerAgent (i.e., the maintenance plan job) tried to delete it.
1. Download filemon and handle from www.sysinternals.com
<http://www.sysinternals.com>.
2. I am not sure whether filemon can be scheduled, or you might be able to
use NT scheduling services to start filemon just before the maintenance plan
job is started, but the filemon log can become very large, so it would be
best to start it some short time before the maintenance plan starts.
3. Inspect the filemon log for another process that has that backup file
open (if your lucky enough to have started filemon before this other process
grabs the backup folder), and inspect the log for the results when the
SQLServerAgent agent attempts to open that same file.
4. Schedule the job or that other process to do their work at different
times.
5. You can use the handle utility if you are around at the time when the job
is scheduled to run. If the backup files are going to a \\share or a mapped
drive (as opposed to local drive), then you will need to modify the above
(with respect to where the tests and utilities are run).
Finally, inspection of the maintenance plan's history report might be
useful.


--


Allan Mitchell (Microsoft SQL Server MVP)
MCSE,MCDBA
www.SQLDTS.com
I support PASS - the definitive, global community
for SQL Server professionals - http://www.sqlpass.org

Reply With Quote
  #3  
Old   
JJ Wang
 
Posts: n/a

Default Thanks Bill and Allan!! Great tips!! - 08-25-2003 , 06:12 PM




Quote:
-----Original Message-----
reply given previousy by Bill Hollinshead at MS

------ Log files don't delete ----
This is likely to be either a permissions problem or a
sharing violation
problem. The maintenance plan is run as a job, and jobs
are run by the
SQLServerAgent service. Permissions:
1. Determine the startup account for the SQLServerAgent
service
(Start|Programs|Administrative
tools|Services|SQLServerAgent|Startup). This
account is the security context for jobs, and thus the
maintenance plan.
2. If SQLServerAgent is started using LocalSystem (as
opposed to a domain
account) then skip step
3. 3. On that box, log onto NT as that account. Using
Explorer, attempt to
delete an expired backup. If that succeeds then go to
Sharing Violation
section.
4. Log onto NT with an account that is an administrator
and use Explorer to
look at the Properties|Security of the folder (where the
backups reside) and
ensure the SQLServerAgent startup account has Full
Control. If the
SQLServerAgent startup account is LocalSystem, then the
account to consider
is SYSTEM.
5. In NT, if an account is a member of an NT group, and
if that group has
Access is Denied, then that account will have Access is
Denied, even if that
account is also a member of the Administrators group.
Thus you may need to
check group permissions (if the Startup Account is a
member of a group).
6. Keep in mind that permissions (by default) are
inherited from a parent
folder. Thus, if the backups are stored in C:\bak, and if
someone had denied
permission to the SQLServerAgent startup account for C:\,
then C:\bak will
inherit access is denied.
Sharing violation: This is likely to be rooted in a
timing issue, with the
most likely cause being another scheduled process (such
as NT Backup or
Anti-Virus software) having the backup file open at the
time when the
SQLServerAgent (i.e., the maintenance plan job) tried to
delete it.
1. Download filemon and handle from www.sysinternals.com
http://www.sysinternals.com>.
2. I am not sure whether filemon can be scheduled, or you
might be able to
use NT scheduling services to start filemon just before
the maintenance plan
job is started, but the filemon log can become very
large, so it would be
best to start it some short time before the maintenance
plan starts.
3. Inspect the filemon log for another process that has
that backup file
open (if your lucky enough to have started filemon before
this other process
grabs the backup folder), and inspect the log for the
results when the
SQLServerAgent agent attempts to open that same file.
4. Schedule the job or that other process to do their
work at different
times.
5. You can use the handle utility if you are around at
the time when the job
is scheduled to run. If the backup files are going to a
\\share or a mapped
drive (as opposed to local drive), then you will need to
modify the above
(with respect to where the tests and utilities are run).
Finally, inspection of the maintenance plan's history
report might be
useful.


--


Allan Mitchell (Microsoft SQL Server MVP)
MCSE,MCDBA
www.SQLDTS.com
I support PASS - the definitive, global community
for SQL Server professionals - http://www.sqlpass.org
.


Reply With Quote
Reply




Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off



Powered by vBulletin Version 3.5.3
Copyright ©2000 - 2012, Jelsoft Enterprises Ltd.