惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

D
DataBreaches.Net
罗磊的独立博客
雷峰网
雷峰网
量子位
V
Visual Studio Blog
Vercel News
Vercel News
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
The Cloudflare Blog
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
宝玉的分享
宝玉的分享
月光博客
月光博客
Martin Fowler
Martin Fowler
aimingoo的专栏
aimingoo的专栏
H
Hackread – Cybersecurity News, Data Breaches, AI and More
Microsoft Security Blog
Microsoft Security Blog
博客园 - 叶小钗
腾讯CDC
Engineering at Meta
Engineering at Meta
博客园 - Franky
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Y
Y Combinator Blog
Recent Announcements
Recent Announcements
Jina AI
Jina AI
A
About on SuperTechFans

博客园 - 祥子哥哥

纪念一下我的20年的博客园。 [转]OPC.Client for DA and UA 使用C#开发库UcAsp.OPC.Client使用案例 推荐一个.Net的轻型RPC服务UcAsp.RPC Lucene.Net Kmeans++算是DONet实现 tinymce上传文件插件。 C#中图片处理中定义显示区域[或者可以称为蒙板效果] C#生成的图片如何设置DPI Jpg保存图片确认质量 Flex在子控件操作父窗口函数 Flex 不同 application 之间传参数(转) - 祥子哥哥 刚刚写的一个加密算法 如何在DropDownList第一項加入新項目 2003服务器中出现"请求的资源在使用中"错误的解决方法 如何在.Net中访问MySQL数据库 Server Application Error Javascript检测Flash插件是否安装及版本号 最近ASP.NET WAP开发的一些情况! 数据库备份
MS SQL日志清理代码
祥子哥哥 · 2005-06-12 · via 博客园 - 祥子哥哥

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


USE     Hzren             -- 要操作的数据库名
SELECT  @LogicalFileName = 'Hzren_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 (8000not 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, @StartTimeGETDATE()) -- 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 / 16AND (@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