SQL Server 收缩事务日志

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

收缩事务日志--压缩事务日志。

删除日志日志—将原来过大的事务日志保存后将其分离删除,新的事务日志创建后其大小为50KB左边。

方法一、收缩数据库事务日志(T-SQL语句操作)

1.更改数据库恢复模式的命令如下(通常情况下,日志没有被收缩都是因为日志文件未被截断造

成的。还有一个办法是把将数据库恢复模式设置为“ SIMPLE ”模式后再次)如图1

ALTERDATABASE数据库名SET RECOVERY FULL;--更改为完全模式

ALTERDATABASE 数据库名SET RECOVERY bulk_logged ;--更改为大容量日志模式

ALTERDATABASE数据库名SET RECOVERY simple; --更改为简单模式

执行效果如图所示

注意事项:如果更改为简单模式,那以后将无需事物日志备份,但是一定要确保的定期执行数据库备份来确保数据的完整性。

如果更改为完整模式或者大容量日志模式,那一定首先进行一次完整的数据库备份以启动日志链,并且设置任务计划来定期的日志备份

在事物日志进行截断之后,那我们就可以把日志文件进行收缩

可以使用DBCC SHRINKFILE使用命令进行收缩

下图是把以下示例将 test用户数据库中名为test_log的数据文件的大小收缩到 10 MB。

执行完命令后查看日志文件是否缩小,日志文件收缩后不会比虚拟日志文件小

收缩数据库命令

∙也可以用SQL语句来完成

∙---- alter database AdeventureWroks2012 set recovery simple; (simple简单模式,full完整模式,bulk_logged大容量日志)

∙--收缩数据库

DBCC SHRINKDATABASE(库名)

∙DBCC Shrinkdatabase ('AdeventureWroks2012',10)收缩AdeventureWroks2012数据库,保留百分之10%的空闲空间

--收缩指定数据文件,1是文件号,可以通过这个语句查询到:select * from sysfiles

DBCC SHRINKFILE(1)

方法一、收缩数据库事务日志

1.登陆项目平台数据库服务器。双击SQL Server Management Studio打开数据库管理。

2.更改数据库恢复模式

3.收缩数据库日志

4.修改完收缩日志后,将数据库恢复模式改为完整

方法二: 分离删除ldf,让它自动创建个新的事务日志文件

1. 进入企业管理器,选中数据库,比如arsystem

2. 所有任务->分离数据库

3. 到数据库文件的存放目录,将爱人沈阳市特命ARSystem_log.LDF文件删除,以防万一,你可以拷出去,或者是给它改名

4. 企业管理器->附加数据库,选arsystem.mdf,这个时候你会看见日志文件这项是一个叉,不要紧,继续,此时数据库就会提示你该数据库无日志是否创建一个新的,确定就是了。

5. 记得数据库重新附加后用户要重新设置一下。

分离数据库语句

Sp_detach_db 'ARsystem'

附加数据库语句

USE master

Go

Create database arsystem on

(filename= 'E:\Program File\Micorosoft SQL

Server\MSSQL11.SQLA\MSSQL\DATA\ARSystem.mdf') (filename= 'E:\Program File\Micorosoft SQL

Server\MSSQL11.SQLA\MSSQL\DATA\ARSystem_ldf.ldf') For attach

Go

释放数据库硬盘空间(那个LDF文件超大,怎么办?)

最简单的方法,卸离数据库-->删除ldf文件-->附加数据库-->自动重新产生一个ldf文件.

事务日志的优点和缺点

优点:此清除日志所运行消耗的时间短,90GB的日志在分钟左右即可清除完毕,做完之后做个完全备份在分钟内

即可完成。

缺点:不过此动作最好不要经常使用,因为它的运行会带来系统碎片。普通状态下LOG和DIFF的备份即可截断日志。

此语句使用的恰当环境:当系统的日志文件异常增大或者备份LOG时间太长可能影响生产的情况下使用。

相关文档
最新文档