This morning our users told me they could no longer load documents into
any document library on SharePoint. The error message to end users
read "The URL <whatever.doc>' is invalid. It may refer to a nonexistent
file or folder, or refer to a valid file or folder that is not in the
current Web." The real underlying error message was Exception from
HRESULT: 0x80040E14. When I searched for this error, I was led down the
wrong path by a Microsoft knowledgebase article (841216) which implied
it was caused by the improper application of a service pack or security
update to the SharePoint server. When I was able to prove to myself
that no change had been made to the SharePoint server this morning
between the time when things succeeded and when they failed, I started
looking elsewhere for trouble. The real cause was that the content
database transaction log was full, and could not be expanded because
the disk drive was out of space. Once I cleared this database problem,
SharePoint started working again.
The reason the transaction log became so large might also interest some
of you. Recently we started using Symantec BackupExec 11d to back up
our SharePoint Portal 2003 data, because it provides single item
restore with documents in SharePoint document libraries, something hard
to achieve with Microsoft tools alone. I should have noticed that their
backup was backing up the databases but not the transaction logs, and
so no truncation ever occurred, resulting in a runaway transaction log
for the content database. I've set the database backup option to
Simple, since BackupExec will not back up a transaction log for a
database that is being backed up in the SharePoint set. I think that is
a flaw in Symantec's design, but the ability to restore a single item
with easy point and click by backup operators who know nothing about
SharePoint is worth the aggravation.