您的位置:首页 > 数据库

SQL SERVER 数据库日志收缩整理 三种方法

2012-12-26 10:31 225 查看
一、日志文件过大,可以通过分离数据库来实现

为了最大化的缩小日志文件(如果是sql 7.0,这步只能在查询分析器中进行)

a.分离数据库:

企业管理器--服务器--数据库--右键--分离数据库

b.在我的电脑中删除LOG文件

c.附加数据库:

企业管理器--服务器--数据库--右键--附加数据库

此法将生成新的LOG,大小只有500多K

或用代码

下面的示例分离 pubs,然后将 pubs 中的一个文件附加到当前服务器。

a.分离

EXEC sp_detach_db @dbname = 'pubs'

b.删除日志文件

c.再附加

EXEC sp_attach_single_file_db @dbname = 'pubs',

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

二.下面的删除日志,然后压缩数据库的方法和方法一有什么区别?

删除(清空)日志,然后压缩日志到指定文件大小,一下两句同时运行才可,否则日志文件不减少
DUMP TRANSACTION 数据库名 WITH NO_LOG

DBCC SHRINKFILE(书库库日志文件的逻辑名称,10) --收缩read126_log 10M日志
减小事务日志的物理大小需要收缩日志文件。通过删除一个或多个不活动的虚拟日志文件来收缩事务日志,从而减小其物理大小。

包含任何活动日志记录的虚拟日志文件(即“活动的虚拟日志文件”)是逻辑日志的一部分,不能将其删除。

注意:

如果事务日志最近未被截断,则在截断日志之前无法收缩日志。有关详细信息,请参阅使日志记录保持活动状态的因素。

三。自动收缩日志,具体收缩到多大?何事收缩?
企业管理器--服务器--右键数据库--属性--选项--选择"自动收缩"

--SQL语句设置方式:

EXEC sp_dboption '数据库名', 'autoshrink', 'TRUE'
四。截断事务日志后进行收缩事务日志

截断并不减小物理日志文件的大小。减小日志文件的物理大小需要收缩文件

BACKUP LOG 数据库名 WITH NO_LOG
DBCC SHRINKFILE(库日志文件的逻辑名称,10) --收缩read126_log 10M日志
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: