首页 > 数据库 > mysql教程 > SQLServer日志文件清除方法

SQLServer日志文件清除方法

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
发布: 2016-06-07 15:51:52
原创
1606 人浏览过

近日,因发现某系统SQLServer数据库的日志文件较大,需要对其进行清理。本来以为是个很简单的事情,SQL Server Management Studio中有现成的菜单功能,点两下鼠标就行了。但在实际操作中却发现不起作用。因为涉及到数据,担心误操作导致不可挽回的损失,所以

近日,因发现某系统SQLServer数据库的日志文件较大,需要对其进行清理。本来以为是个很简单的事情,SQL Server Management Studio中有现成的菜单功能,点两下鼠标就行了。但在实际操作中却发现不起作用。因为涉及到数据,担心误操作导致不可挽回的损失,所以还是上网研究了一下,并单独测试没问题后,才敢对实际数据库下手。

具体的操作过程应该是这样的:

一、挑一个夜深人静的时候,先备份一下数据库。

夜深人静之时,系统一般会比较空闲,可能从容地下手,有数据库备份,万一第二天早上发现有问题,至少可以恢复到昨天的工作点,风险比较小。

二、打开SQL Server Management Studio(SSMS),打开查询页面,执行以下SQL语句:

DUMP TRANSACTION [数据库名] WITH   NO_LOG
登录后复制

该语句的作用是清空指定数据库的日志。

三、在SSMS中相应数据库名称下点右键,菜单中选择“任务-收缩-文件”,在打开的“收缩文件”窗口中,文件类型选择“日志”,并选择相应的日志文件名(如果有多个可选的话),在“收缩操作”项下有3个可选项:

1、释放未使用的空间。

会把文件中未使用的空间释放给操作系统,将将文件收缩到最后分配的区。这个选项感觉作用不大,因为要考虑清理日志文件时,它已经是很大了,分配的空间当然也都是用掉的。

2、在释放未使用的空间前重新组织页,将文件收缩到(需设置文件大小);

这种方法等效于执行指定目标文件大小的:DBCC SHRINKFILE。必须在后面的文本框中输入日志文件的大小,可以为0。

3、通过将数据迁移到同一文件组中的其它文件来清空文件。

此方法相当于执行带EMPTYFILE选项的DBCC SHRINKFILE。

这里我选择使用了第2个选项。

当然,这里只是提供了一种可成功实现的实用方法。对于更复杂的应用场景,需要对DUMP TRANSACTION和DBCC SHRINKFILE有深入的了解,具体可以研究的微软的相关文档。



来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
tp6连接sqlserver数据库问题
来自于 1970-01-01 08:00:00
0
0
0
php 怎样调用sqlserver的分页储存过程
来自于 1970-01-01 08:00:00
0
0
0
php 7.2.10 链接 SQLserver2008r2 报错
来自于 1970-01-01 08:00:00
0
0
0
Laravel 中无法连接 SQL Server
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板