葡京网投哪个正规 > 新葡亰-编程 > 清除日志,Server日志的两种方法葡京网投哪个正规:

原标题:清除日志,Server日志的两种方法葡京网投哪个正规:

浏览次数:127 时间:2020-03-25

主导提醒:诚如情形下,SQL数据库的减少并无法异常的大程度上减小数据库大小,其关键作用是缩短日志大小

消亡SQL Server日志的二种办法

   方法一

  日常情状下,SQL数据库的减弱并无法比比较大程度上减小数据库大小,其主要性职能是收缩日志大小,应当依期举办此操作避防数据库日志过大

  1、设置数据库方式为简易方式:展开SQL公司微电脑,在调控台根目录中依次点开Microsoft SQL Server-->SQL Server组-->双击张开你的服务器-->双击打开数据库目录-->选拔你的数据库名称(如论坛数据库Forum卡塔尔(قطر‎-->然后点击右键选择属性-->选拔选项-->在故障还原的形式中接纳“轻易”,然后按明确保存

  2、在现阶段数据库上点右键,看有着职责中的降低数据库,平日里面包车型地铁私下认可设置不用调节,直接点鲜明

  3、减弱数据库完结后,提出将你的数据库属性重置为行业内部方式,操作方法同第一点,因为日志在部分至极景况下一再是还原数据库的重要凭借

  方法二

  SET NOCOUNT ON DECLARE @LogicalFileName sysname,

  @MaxMinutes INT,

  @NewSize INT

  USE tablename -- 要操作的数目库名

  SELECT @LogicalFileName = ’tablename_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_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 * 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

Server日志的三种办法 方法一 平时景观下,SQL数据库的裁减并不可能比比较大程度上减小数据库大小,其重要性意义是减少日志大小,应当定...

SET NOCOUNT ON

前几日也碰着日志文件过大的标题,数据库实际尺寸为600M, 日志文件实际尺寸为33M, 但日志文件占用空间为2.8G!!!
试了三种措施,SHI安德拉NK DATABASE, TRUNCATE LOG FILE, 都不能将文件降低。无论怎么样,那应当算SQL SEWranglerVERubicon的四个BUG吧。

相近意况下,SQL数据库的收缩并不能够一点都不小程度上减小数据库大小,其重要功能是收缩日志大小,应当准时开展此操作避防数据库日志过大: 1、设置数据库方式为简便格局:张开SQL集团微型机,在支配台根目录中依次点开Microsoft SQL Server--SQL Server组--双击张开你的服务器--双击打开数据库目录--接收你的数据库名称--然后点击右键选拔属性--选拔选项--在故障还原的形式中选用轻便,然后按显著保存。

DECLARE @LogicalFileName sysname,

新生找到上边包车型地铁代码,就能够将日志文件缩短到温馨想要的大大小小了。把代码COPY到查询剖判器里,,然后改正个中的3个参数(数据库名,日志文件名,和对象日志文件的深浅卡塔尔,运转就能够(作者曾经用过频仍了卡塔尔(قطر‎

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

USE     Marias             -- 要操作的多寡库名
SELECT  @LogicalFileName = 'Marias_log',  -- 日志文件名
@MaxMinutes = 10,               -- Limit on time allowed to wrap log.
        @NewSize = 100                  -- 你想设定的日志文件的大大小小(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_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 * 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

2、在当前数据库上点右键,看有着职责中的降低数据库,平常里面包车型地铁私下认可设置不用调度,直接点显明。

@MaxMinutes INT,

3、减少数据库完毕后,提出将您的数据库属性重新安装为专门的职业格局,操作方法同第一点,因为日志在一些极度景况下往往是复苏数据库的首要依附。

@NewSize INT

方法二

 

SET NOCOUNT ONDECLARE @LogicalFileName sysname, @MaxMinutes INT, @NewSize INTUSE tablename -- 要操作的数据库名SELECT @LogicalFileName = tablename_log, -- 日志文件名@MaxMinutes = 10, -- Limit on time allowed to wrap log. @NewSize = 1 -- 你想设定的日记文件的大小(MState of Qatar-- Setup / initializeDECLARE @OriginalSize intSELECT @OriginalSize = size FROM sysfiles WHERE name = @LogicalFileNameSELECT 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 = @LogicalFileNameCREATE 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_ONLYDBCC 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 = @LogicalFileNameDROP TABLE DummyTransSET NOCOUNT OFF

 

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

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

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

@NewSize = 100 -- 你想设定的日志文件的抑扬顿挫(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_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 * 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

本文由葡京网投哪个正规发布于新葡亰-编程,转载请注明出处:清除日志,Server日志的两种方法葡京网投哪个正规:

关键词:

上一篇:Server各种日期计算方法,sql获取时间葡京网投哪个正规:

下一篇:excel的数据转换_数据库技巧,将Excel中的数据导入到MSSQLServer2000