我有一个 SQL Server 2008 群集,其中有一个 10GB 的驱动器用于存储特定数据库的日志文件。我在 SharePoint 上有一个站点,其中包含好几 GB 的文件和文档库。删除站点会在浏览器中停留一段时间,然后出现未知错误。
SQL 服务器就在那里不停地旋转,并迅速地填满日志文件,直到空间用完。我猜想发生的事情是,一旦日志文件填满,事务就会中止,这时 SharePoint 会给出未知错误。
我无法控制驱动器大小,因此无法增加日志的最大大小。我之前尝试过对日志和数据库运行压缩文件,但仍然没有足够的空间来执行网站删除。我删除了文档库中的所有文件(网站上唯一的数据),还清空了回收站。这没有出错,但数据库的大小没有减小(即使在压缩文件之后),当我尝试删除它时,网站仍然有同样的问题,所以我认为文件仍然在数据库中。
我现在想知道是否可以以某种方式降低日志的详细程度,或者暂时禁用此数据库上的日志记录以完成此 SharePoint 操作。
如能得到任何建议我将非常感激。
答案1
您无法关闭日志记录。SQL 的工作方式并非如此。请尝试将日志文件移动到更大的驱动器,或将恢复模式设置为简单(在 SQL Server 中的数据库属性下)。
缩小日志文件也不是一个好主意,因为它会使文件变得碎片化并降低速度。
答案2
补充 Randolph Potter 的回答 - 如果数据库的恢复模式已完全记录,则应该运行事务日志备份,尝试更频繁地运行它们,例如每 5 分钟或更短时间 - 这将允许事务日志被重复使用并且不应该变得那么大。
答案3
这里的其他答案已经涵盖了您需要针对日志文件执行的操作。
但是,你确定问题的原因在于日志文件吗?或者它只是症状。
如果日志文件已满,是否会影响所有操作,而不仅仅是这个特定的操作?
您是否有一个非常标准的 SharePoint 安装,或者它是经过定制的?
我的猜测是,开发人员编写了一个“删除站点事件”,该事件会进入无限循环,或者其中存在其他错误。