WEB开发网      婵犻潧鍊婚弲顐︽偟椤栨稓闄勯柦妯侯槸閻庤霉濠婂骸浜剧紒杈ㄥ笚閹峰懘鎮╅崹顐ゆ殸婵炴垶鎸撮崑鎾趁归悩鐑橆棄闁搞劌瀛╃粋宥夘敃閿濆柊锕傛煙鐎涙ê鐏f繝濠冨灴閹啴宕熼鍡╀紘婵炲濮惧Λ鍕叏閳哄懎绀夋繛鎴濈-楠炪垽鎮归崶褍妲婚柛銊ュ缁傚秹鏁撻敓锟� ---闂佹寧娲╅幏锟�
开发学院数据库MSSQL Server SQL Server日志清除两种方法 阅读

SQL Server日志清除两种方法

 2007-12-25 23:43:37 来源:WEB开发网 闂侀潧妫撮幏锟�闂佸憡鍨电换鎰版儍椤掑倵鍋撳☉娆嶄沪缂傚稄鎷�婵犫拃鍛粶闁靛洤娲ㄩ埀顒佺⊕閵囩偟绱為敓锟�闂侀潧妫撮幏锟�  闂佺ǹ绻楀▍鏇㈠极閻愬搫绾ч柕濠忕細閼割亜顪冪€n剙浠ф繛鍫熷灥椤曘儵顢欓悡搴ば�
核心提示:·sql server(WINDOWS平台上强大的数据库平台) 存储过程分页·列出 sql server(WINDOWS平台上强大的数据库平台) 数据库中所有的存储·sql server(WINDOWS平台上强大的数据库平台) SQL语句导入导出大全·sql server(WINDOWS平台上强大的数据库平台) SQL
    ·sql server(WINDOWS平台上强大的数据库平台) 存储过程分页
    ·列出 sql server(WINDOWS平台上强大的数据库平台) 数据库中所有的存储
    ·sql server(WINDOWS平台上强大的数据库平台) SQL语句导入导出大全
    ·sql server(WINDOWS平台上强大的数据库平台) SQL语句调优技巧
    ·sql server(WINDOWS平台上强大的数据库平台) 事务日志
    ·从sql server(WINDOWS平台上强大的数据库平台) 向Oracle(大型网站数据库平台) 8迁移的技术实
    ·sql server(WINDOWS平台上强大的数据库平台) 中死锁产生的原因及解决办
    ·重建索引提高sql server(WINDOWS平台上强大的数据库平台)性能
    ·[收藏]利用sql server(WINDOWS平台上强大的数据库平台) Reporting Serv
    ·sql server(WINDOWS平台上强大的数据库平台) 存储过程的分页方案比拼
方法一

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

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

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

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

方法二

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 -- 你想设定的日志文件的大小(M)-- Setup / initializeDECLARE @OriginalSize intSELECT @OriginalSize = sizeFROM sysfilesWHERE name = @LogicalFileNameSELECT ’Original Size of ’ + db_name() + ’ LOG is ’ +CONVERT(VARCHAR(30),@OriginalSize) + ’ 8K pages or ’ +CONVERT(VARCHAR(30),(@OriginalSize*8/1024)) + ’MB’FROM sysfilesWHERE 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_ONLY’DBCC SHRINKFILE (@LogicalFileName, @NewSize)EXEC (@TruncLog)-- Wrap the log if necessary.WHILE @MaxMinutes > DATEDIFF (mi, @StartTime, GETDATE())     -- time has not expiredAND @OriginalSize = (SELECT size FROM     sysfiles WHERE name = @LogicalFileName)AND (@OriginalSize * 8 /1024) > @NewSizeBEGIN -- Outer loop.SELECT @Counter = 0WHILE ((@Counter < @OriginalSize / 16) AND            (@Counter < 50000))BEGIN -- updateINSERT DummyTrans VALUES (’Fill Log’)DELETE DummyTransSELECT @Counter = @Counter + 1ENDEXEC (@TruncLog)ENDSELECT ’Final Size of ’ + db_name() + ’ LOG is ’ +CONVERT(VARCHAR(30),size) + ’ 8K pages or ’ +CONVERT(VARCHAR(30),(size*8/1024)) + ’MB’FROM sysfilesWHERE name = @LogicalFileNameDROP TABLE DummyTransSET NOCOUNT OFF


(完)

1 2 3 4 5 6  下一页

Tags:SQL Server 日志

编辑录入:coldstar [复制链接] [打 印]
赞助商链接