backup log dbName to disk='fileName'
backup log dbName with no_log
dump transaction dbName with no_log

解决方案 »

  1.   

    1.清空日志
    DUMP TRANSACTION 库名 WITH NO_LOG2.截断事务日志:
    BACKUP LOG 数据库名 WITH NO_LOG
      

  2.   

    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
      

  3.   

    做日志截断后备份backup log dbName with no_log
    backup database dbName to ... 
    dbcc shrinkdatabase dbName
      

  4.   

    DUMP命令是保持向后兼容性的 可以用BACKUP来替代 YUKON中也不再提供对DUMP的支持
    做日志备份就会截断日志吗?不同意 这又不是Exchange 何况截断日志并不立即释放空间