当前位置:首页 > 系统运维 > 正文内容

实现SQL Server日志清除的两个方案

a8116255316年前 (2010-07-21)系统运维9

本文主要向大家讲述的是SQL Server日志清除的2种实际操作方案,在其具体使用的实际操作过程中。我们大家时常会碰到SQL Server数据库日志非常大的情况,在这里介绍了两种处理 *** ……

SQL Server日志清除的方案 *** 一

一般情况下,SQL数据库的收缩并不能很大程度上减小数据库大小,其主要作用是收缩日志大小,应当定期进行此操作以免数据库日志过大

1、设置数据库模式为简单模式:打开SQL企业管理器,在控制台根目录中依次点开microsoft SQL Server-->SQL Server组-->双击打开你的服务器-->双击打开数据库目录-->选择你的数据库名称(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在故障还原的模式中选择“简单”,然后按确定保存

2、在当前数据库上点右键,看所有任务中的收缩数据库,一般里面的默认设置不用调整,直接点确定

3、收缩数据库完成后,建议将您的数据库属性重新设置为标准模式,操作 *** 同之一点,因为日志在一些异常情况下往往是恢复数据库的重要依据

SQL Server日志清除的方案 *** 二

SET NOCOUNT ON  DECLARE @LogicalFileName sysname,  @MaxMinutes INT,  @NewSize INT 

USE databasename -- 要操作的数据库名

SELECT @LogicalFileName = 'databasename_log', -- 日志文件名

@MaxMinutes = 10, -- Limit on time allowed to wrap log.

@NewSize = 1 -- 你想设定的日志文件的大小(M)

-- Setup / initialize  DECLARE @OriginalSize int  SELECT @OriginalSize = size   FROM sysfiles  WHERE name = @LogicalFileName  SELECT 'Original Size of ' + db_name() + ' LOG is ' +   CONVERT(VARCHAR(30),@OriginalSize) + ' 8K pages or ' +   CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + 'MB'  FROM sysfiles  WHERE name = @LogicalFileName  CREATE TABLE DummyTrans  (DummyColumn char (8000) not null)  DECLARE @Counter INT,  @startTime DATETIME,  @TruncLog VARCHAR(255)  SELECT @StartTime = GETDATE(),  @TruncLog = 'BACKUP LOG ' + db_name() + ' WITH TRUNCATE_ON *** '  DBCC SHRINKFILE (@LogicalFileName, @NewSize)  EXEC (@TruncLog)  -- Wrap the log if necessary.  WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE()) -- time has not expired  AND @OriginalSize = (SELECT size FROM sysfiles WHERE name = @LogicalFileName)   AND (@OriginalSize * 8 /1024) > @NewSize   BEGIN -- Outer loop.  SELECT @Counter = 0 WHILE ((@Counter < @OriginalSize / 16) AND (@Counter < 50000))  BEGIN -- update  INSERT DummyTrans VALUES ('Fill Log')   DELETE DummyTrans  SELECT @Counter = @Counter + 1  END   EXEC (@TruncLog)   END   SELECT 'Final Size of ' + db_name() + ' LOG is ' +  CONVERT(VARCHAR(30),size) + ' 8K pages or ' +   CONVERT(VARCHAR(30),(size*8/1024)) + 'MB'  FROM sysfiles   WHERE name = @LogicalFileName  DROP TABLE DummyTrans  SET NOCOUNT OFF  

以上的相关内容就是对SQL Server日志清除的2种方案的介绍,望你能有所收获。

扫描二维码推送至手机访问。

版权声明:本文由2345好导航站长资讯发布,如需转载请注明出处。

本文链接:http://www.2345hao.cn/blog/index.php/post/22154.html

分享给朋友:

“实现SQL Server日志清除的两个方案” 的相关文章

windows 7查看电脑近期使用情况确定有没有被他人使用

windows 7查看电脑近期使用情况确定有没有被他人使用

我一个朋友最近装装了Windows 7,他总感觉有人用了他的电脑,但是一直不确定,他想知道有没有人动用他的电脑,问我有没有办法 我说设置一下就行了: 启动Windows 7,在搜索栏中输入编辑组,马上就搜索到了编辑组策略,点击即可启动程序编辑组策略。依次展开组策略左侧树形列表的计算机配置/管理模...

各个都很实用:windows 7系统电脑日常小技巧

各个都很实用:windows 7系统电脑日常小技巧

在使用Windows 7的时候很多用户对于系统的很多功能并不是很了解,也正是因为这样的不了解导致很多用户在使用Win 之后并不能体验Windows 7的功能便携和强大功能,导致很多用户对于Windows 7的认识还是比较模糊,不过为了让更多的朋友了解Windows 7的特点和便携应用,今天就为大家汇...

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

windows 7系统开机提示Windows驱动器未就绪的故障原因及解决方法

 故障分析: 主要原因应该是不存在软盘驱动器或驱动器未安装,找到故障原因后,Windows 7 32位系统只要将软盘驱动器禁用就可以了。 解决措施: 1、右键点击计算机,选择管理,打开计算机管理窗口; 2、在计算机管理中,找到设备管理器,在右边的软盘控制器中右击,选择卸载即可。 以...

Ubuntu 14.10上安装新的字体图文教程

Ubuntu 14.10上安装新的字体图文教程

像Ubuntu这种开源系统,一般都自带有好多漂亮的字体,不过假如您想使用您熟悉的字体,可以通过在Ubuntu或其它Linux系统上安装字体,帮助用户在使用开源OS平台上更好的视图体验。 软件名称:Ubuntu 14.04 官方正式版软件大小:752MB更新时间:2014-05-07 Ubun...

windows 7怎么设置密码永不过期?

windows 7怎么设置密码永不过期?

下面小编以Windows 7 64位为例,介绍下密码是如何设置永不过期的。  1、在桌面上打开“开始”菜单,或者点击“Win+R”快捷键将“运行”对话框打开。  2、运行对话框打开后,在里面中输入“lusrmgr.msc”字符命令,就可以打开“本地用户和组程序”。...

windows 7任务栏快捷方式如何居中显示默认从左像右排列

windows 7任务栏快捷方式如何居中显示默认从左像右排列

使用Windows 7的朋友都知道,任务栏上的快捷方式图标都是靠近开始菜单按钮,从左像右排列,不过也有一些用户喜欢左右对称,想要把那些快捷方式居中显示,看起来这个任务好像无从下手,其实一点也不难,只要通过下面方法就能轻松搞定。 1、首先在电脑磁盘中任何一个地方新建一个文件夹。 2、右击任务栏-&...