仓酷云

标题: 公布两种办法扫除SQL Server日记 [打印本页]

作者: 爱飞    时间: 2015-1-16 20:09
标题: 公布两种办法扫除SQL Server日记
索引用来快速地寻找那些具有特定值的记录,所有MySQL索引都以B-树的形式保存。如果没有索引,执行查询时MySQL必须从第一个记录开始扫描整个表的所有记录,直至找到符合要求的记录。在利用SQLServer过程当中人人常常会碰着数据库日记十分年夜的情形,在碰到这类成绩的时分,我们给人人先容了两种处置办法来办理。

  办法一

  一样平常情形下,SQL数据库的压缩其实不能很年夜水平上减小数据库巨细,其次要感化是压缩日记巨细,应该按期举行此操纵以避免数据库日记过年夜

  1、设置数据库形式为复杂形式:翻开SQL企业办理器,在把持台根目次中顺次点开MicrosoftSQLServer-->SQLServer组-->双击翻开你的服务器-->双击翻开数据库目次-->选择你的数据库称号(如论坛数据库Forum)-->然后点击右键选择属性-->选择选项-->在妨碍复原的形式当选择“复杂”,然后按断定保留

  2、在以后数据库上点右键,看一切义务中的压缩数据库,一样平常内里的默许设置不必调剂,间接点断定

  3、压缩数据库完成后,倡议将您的数据库属性从头设置为尺度形式,操纵办法同第一点,由于日记在一些非常情形下常常是恢单数据库的主要根据
 办法二

  SETNOCOUNTON

  DECLARE@LogicalFileNamesysname,

  @MaxMinutesINT,

  @NewSizeINT

  USEtablename--要操纵的数据库名

  SELECT@LogicalFileName=tablename_log,--日记文件名

  @MaxMinutes=10,--Limitontimeallowedtowraplog.

  @NewSize=1--你想设定的日记文件的巨细(M)

  --Setup/initialize

  DECLARE@OriginalSizeint

  SELECT@OriginalSize=size

  FROMsysfiles

  WHEREname=@LogicalFileName

  SELECTOriginalSizeof+db_name()+LOGis+

  CONVERT(VARCHAR(30),@OriginalSize)+8Kpagesor+

  CONVERT(VARCHAR(30),(@OriginalSize*8/1024))+MB

  FROMsysfiles

  WHEREname=@LogicalFileName

  CREATETABLEDummyTrans

  (DummyColumnchar(8000)notnull)

  DECLARE@CounterINT,

  @StartTimeDATETIME,

  @TruncLogVARCHAR(255)

  SELECT@StartTime=GETDATE(),

  @TruncLog=BACKUPLOG+db_name()+WITHTRUNCATE_ONLY

  DBCCSHRINKFILE(@LogicalFileName,@NewSize)

  EXEC(@TruncLog)

  --Wrapthelogifnecessary.

  WHILE@MaxMinutes>DATEDIFF(mi,@StartTime,GETDATE())--timehasnotexpired

  AND@OriginalSize=(SELECTsizeFROMsysfilesWHEREname=@LogicalFileName)

  AND(@OriginalSize*8/1024)>@NewSize

  BEGIN--Outerloop.

  SELECT@Counter=0

  WHILE((@Counter<@OriginalSize/16)AND(@Counter<50000))

  BEGIN--update

  INSERTDummyTransVALUES(FillLog)

  DELETEDummyTrans

  SELECT@Counter=@Counter+1

  END

  EXEC(@TruncLog)

  END

  SELECTFinalSizeof+db_name()+LOGis+

  CONVERT(VARCHAR(30),size)+8Kpagesor+

  CONVERT(VARCHAR(30),(size*8/1024))+MB

  FROMsysfiles

  WHEREname=@LogicalFileName

  DROPTABLEDummyTrans

  SETNOCOUNTOFF
客户还是可以使用DBaaS系统所能提供的所有能力。数据库云服务消除了组织对专职人员、本地数据库存储设备的需要。他们不必安装、配置和维护任何软硬件。
作者: 金色的骷髅    时间: 2015-1-18 18:17
只能告诉你,学好数据库语言和原理,多见识几种数据库软件,比一棵树上吊死要好。
作者: 深爱那片海    时间: 2015-1-18 18:17
大家注意一点。如下面的例子:
作者: 变相怪杰    时间: 2015-1-25 18:10
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
作者: 冷月葬花魂    时间: 2015-2-3 12:47
一直以来个人感觉SQLServer的优化器要比Oracle的聪明。SQL2005的更是比2k聪明了不少。(有次作试验发现有的语句在200万级时还比50万级的相同语句要快show_text的一些提示没有找到解释。一直在奇怪。)
作者: 小魔女    时间: 2015-2-9 02:11
不过话说回来了,绝大多数的性能优化准则与对sqlserver存储的结构理解息息相关
作者: 小妖女    时间: 2015-2-26 18:24
理解了存储结构,再阅读下性能优化的章节基本上会对sqlserver有个清晰地认识
作者: 老尸    时间: 2015-3-8 16:33
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
作者: 兰色精灵    时间: 2015-3-16 07:41
XML字段类型更好的解决了XML数据的操作。XQuery确实不错,但是个人对其没好感。(CSDN的开发者应该是相当的熟了!)
作者: 分手快乐    时间: 2015-3-22 21:10
无法深入到数据库系统层面去了解和探究




欢迎光临 仓酷云 (http://ckuyun.com/) Powered by Discuz! X3.2