
复制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              1.2.3.4.5.6.7.8.9.10.11.12.13.14.15.16.17.18.19.20.21.22.23.24.25.26.27.28.29.30.31.32.33.34.35.36.37.38.39.40.41.42.43.44.45.46.47.IT技术网