好文档 - 专业文书写作范文服务资料分享网站

SQLServer 2005&08镜像导致日志文件LDF过大的问题解决

天下 分享 时间: 加入收藏 我要投稿 点赞

SQLServer 2005&08镜像导致日志文件LDF过大的问题解决

镜像是一个很好的灾难恢复手段,配置简单,切换快速。网上教如何配置的文章很多,这里介绍下如何处理LDF过大导致磁盘撑爆的情况。

首先要明确的是镜像不能清日志的, 镜像是的工作跟日志是有关联的。常用的.清空日志DUMP TRANSACTION 'db_name' WITH NO_LOG;和截断事务日志BACKUP LOG 'db_name'WITH NO_LOG;都是无效的。 1建立多个日志文件,以免单个日志文件撑爆

2根据日志的增长情况,经常备份日志 BACKUP LOG DB_Name to disk = 'X:\\DB_Name_Log.log' 3 收缩日志 DBCC SHRINKFILE (Log_Name),但是这个几乎没用。不过经过备份后,日志文件内部已经截断了,及时备份可以截断活动日志,让日志文件内标内记非活动的虚文件可重复使用. 查询日志的使用情况以及在被那些应用占用 dbcc sqlperf(logspace) go

Database

Name Log Size (MB) Log Space Used (%) Status

--------------------------------------------------------------------------------------------------------------

DB_Name 77404.91 9.809758 0

select name, recovery_model_desc, log_reuse_wait,log_reuse_wait_desc from sys.databases

name recovery_model_desc log_reuse_wait log_reuse_wait_desc

--------------------------------------------------------------------------------------------------------------

master SIMPLE 0 NOTHING

tempdb SIMPLE 1 CHECKPOINT

model FULL 0 NOTHING

msdb SIMPLE 1 CHECKPOINT

DB_Name FULL 5 DATABASE_MIRRORING

Backup FULL 4 ACTIVE_TRANSACTION

--EOF--

原文链接; http://hi.http://www.cmpx.com.cn//daitouliumang/item/9b978c30ebf4a7c0382ffacf sqlserver 2008 设置了镜像,但日志文件增长过快,磁盘空间很快就用完了,

如果要清空日志,必须把恢复模式改成简单,但设置了镜像就无法更改,只能是完整 所以要对日志文件进行备份,每15分钟或1个小时备份一次 然后再用下面语句清理日志,这里我只收缩到4G,

DECLARE @I INT SET @I=1 WHILE @I<3 BEGIN

BACKUP LOG 库名 TO DISK = N'F:\\X.bak'

DBCC SHRINKFILE('库名_Log', 4096) 收缩文件到4G

SET @I=@I+1 END 1、日志备份会清理日志中已经完成的部分,活动的以及还没有传递到镜像的日志将保留(没及时传送到镜像的就是活动的)

2、在镜像环境下每15分钟或1小时做一个日志备份,事务日志及时备份可以截断活动日志,让日志文件内标记非活动的虚文件可重复使用 3、镜像持续可用的话,多保留一次备份。

只会在主体数据库上产生备份文件。

直接在主库上上备日志,再收缩日志:dbcc shrinkfile(2,128)就可以了。 镜像文件会自动随主变动收缩掉。

微软从来都不建议使用自动收缩功能,这个在很多地方都有提到。

注释

DBCC SHRINKFILE 适用于当前数据库中的文件。将上下文切换到数据库,以发出引用该特定数据库中文件的 DBCC SHRINKFILE 语句。有关更改当前数据库的更多信息,请参见 USE。 所生成的数据库不能比 model 数据库更小。

使用 DBCC SHRINKFILE 以将文件减小到比其最初创建时更小。之后,文件的最小大小重置为新指定的大小。

若要删除在文件中可能出现的任何数据,请在执行ALTER DATABASE 之前执行 DBCC SHRINKFILE('file_name', EMPTYFILE)。

要收缩的数据库不必在单用户模式下;收缩文件时,同时其他用户可以在数据库中工作。不必在单用户模式下运行 SQL Server 以对系统数据库进行收缩。

SQLServer2008 截断数据库日志

SQL SERVER 2008 中 BACKUP LOG WITH TRUNCATE_ONLY 已不再被支持,要收缩数据库日志,首先需要通过将数据库恢复模式设置为 SIMPLE 来截断该文件。 语句如下:

USE DATABASENAME; GO

-- Truncate the log by changing the database recovery model to SIMPLE.

ALTER DATABASE DATABASENAME SET RECOVERY SIMPLE;

SQLServer 2005&08镜像导致日志文件LDF过大的问题解决

SQLServer2005&08镜像导致日志文件LDF过大的问题解决镜像是一个很好的灾难恢复手段,配置简单,切换快速。网上教如何配置的文章很多,这里介绍下如何处理LDF过大导致磁盘撑爆的情况。首先要明确的是镜像不能清日志的,镜像是的工作跟日志是有关联的。常用的.清空日志DUMPTRANSACTION'db_name'WITHNO_LOG;和截断事
推荐度:
点击下载文档文档为doc格式
8j2sr744kn6h1tw45ffj
领取福利

微信扫码领取福利

微信扫码分享