SqlServer 无日志文件附加

数据库文件在使用过程中,日志文件会越来越大。小则几个G,大的可能几十上百G都有可能,有时实在是没有必要为它浪费太大的硬盘存储空间。所以可以把日志文件删除。今天把报务器上运行了二年多的数据库日志文件删除了,在这做个记录。以便后来者查询。

网上有很多减少日志文件的方法。像什么恢复模式设置为简单模式。然后收缩。这种方法可行,但感觉效果怪怪的。我是直接把数据库分离,然后在硬盘中将日志文件改个名(防万一,没问题再删除),再附加,在印象中,这样SQL会创建一个新的512KB的日志文件。但在操作时报了一个错,说找不到日志文件。郁闷。它并没有创建新的。

在网上查了下。用以下方法解决

 

CREATE DATABASE XXXX
ON (FILENAME = 'C:\XXX')
FOR ATTACH_REBUILD_LOG 

这句在SQLSERVER2005中运行,会出现一句警告,但接着会附加成功并创建一个新的日志文件。效果很不错。

如果是SQLSERVER2000则使用如下语句

EXEC   sp_attach_single_file_db   @dbname   =   'pubs',     
        
@physname   =   'c:\Program   Files\Microsoft   SQL   Server\MSSQL\Data\pubs.mdf' 

 

友情提示:日志文件并不像很多人认为的那样没有用,在某些情况下日志文件是可以救命的。如果你不小心修改或删除了数据,是可以通过SQL日志文件还原的。所以你在删除的时候要考虑清楚!

posted on 2008-12-23 23:32  冯岩  阅读(1957)  评论(0编辑  收藏

导航