知识大全 SQL Server日志清除的两种方法

Posted 数据库

篇首语:满堂花醉三千客,一剑霜寒十四州。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 SQL Server日志清除的两种方法相关的知识,希望对你有一定的参考价值。

SQL Server日志清除的两种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  方法一

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

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

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

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

  方法二

         SET NOCOUNT ON   DECLARE @LogicalFileName sysname

  @MaxMinutes INT

  @NewSize INT

  USE tablename 要操作的数据库名

  SELECT @LogicalFileName = tablename_log 日志文件名

  @MaxMinutes = Limit on time allowed to wrap log

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

   Setup / initialize

  DECLARE @OriginalSize int

  SELECT @OriginalSize = size

  FROM sysfiles

  WHERE name = @LogicalFileName

  SELECT Original Size of + db_name() + LOG is +

  CONVERT(VARCHAR( ) @OriginalSize) + K pages or +

  CONVERT(VARCHAR( ) (@OriginalSize* / )) + MB

  FROM sysfiles

  WHERE name = @LogicalFileName

  CREATE TABLE DummyTrans

  (DummyColumn char ( ) not null)

  DECLARE @Counter INT

  @StartTime DATETIME

  @TruncLog VARCHAR( )

  SELECT @StartTime = GETDATE()

  @TruncLog = BACKUP LOG + db_name() + WITH TRUNCATE_ONLY

  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 * / ) > @NewSize

  BEGIN Outer loop

  SELECT @Counter =

  WHILE ((@Counter < @OriginalSize / ) AND (@Counter < ))

  BEGIN update

  INSERT DummyTrans VALUES ( Fill Log )

  DELETE DummyTrans

  SELECT @Counter = @Counter +

  END

  EXEC (@TruncLog)

  END

  SELECT Final Size of + db_name() + LOG is +

  CONVERT(VARCHAR( ) size) + K pages or +

  CONVERT(VARCHAR( ) (size* / )) + MB

  FROM sysfiles

  WHERE name = @LogicalFileName

  DROP TABLE DummyTrans

cha138/Article/program/SQLServer/201311/22424

相关参考

知识大全 清理SQLServer数据库日志的两种方法

清理SQLServer数据库日志的两种方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  sql

知识大全 清理SQL Server 2008日志文件

清理SQLServer2008日志文件  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  SQL日志

知识大全 SQL Server日志文件总结及日志满的处理

SQLServer日志文件总结及日志满的处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  交易

知识大全 SQL Server 2000之日志传送功能 - 描述

SQLServer2000之日志传送功能-描述  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  当

知识大全 SQL Server 2000之日志传送功能-设定

SQLServer2000之日志传送功能-设定  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  日

知识大全 关于SQL Server事务日志的问题汇总

关于SQLServer事务日志的问题汇总  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  用BAC

知识大全 sql server通过日志恢复数据库

  创建测试数据库Test  createdatabaseTest  onprimary  (  name=’Test_datamdf’  filename=’d:Test_datamdf’  )  

知识大全 Microsoft SQL Server数据库日志截断

数据库相关:MicrosoftSQLServer数据库日志截断  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来

知识大全 SQL Server 2000之日志传送功能—问题解决

SQLServer2000之日志传送功能—问题解决  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 

知识大全 SQL Server 2008清空数据库日志方法

SQLServer2008清空数据库日志方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  使用