仓酷云

 找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 772|回复: 7
打印 上一主题 下一主题

[学习教程] MYSQL教程之教你怎样减少SQL SERVER日记文件

[复制链接]
萌萌妈妈 该用户已被删除
跳转到指定楼层
楼主
发表于 2015-1-16 22:14:16 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
DBaaS系统本身并不提供面对面访问或个人客户关系或持续不断的支持MySQL学习教程。这些就是需要解决方案提供商的原因。他们帮助客户选择正确的解决方案、规划集成和迁移战略,然后协助实施。  头几天也碰着日记文件过年夜的成绩,数据库实践巨细为600M,日记文件实践巨细为33M,但日记文件占用空间为2.8G!!!
  试了多种体例,SHIRNKDATABASE,TRUNCATELOGFILE,都没举措将文件减少。不管怎样,这应当算SQLSERVER的一个BUG吧。
  厥后找到上面的代码,就能够将日记文件减少到本人想要的巨细了。把代码COPY到查询剖析器里,,然后修正个中的3个参数(数据库名,日记文件名,和方针日记文件的巨细),运转便可(我已用过量次了)
  -----
  SETNOCOUNTON
  DECLARE@LogicalFileNamesysname,
  @MaxMinutesINT,
  @NewSizeINT
  USEMarias--要操纵的数据库名
  SELECT@LogicalFileName=Marias_log,--日记文件名
  @MaxMinutes=10,--Limitontimeallowedtowraplog.
  @NewSize=100--你想设定的日记文件的巨细(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
<Pstyle="TEXT-INDENT:2em">
“通过有能力的DBA的一个简单计划,MySQL可以达到令人难以想像的运行速度,”一位资深DBA如此表示。MySQL中没有多余的功能来拖累CPU或占用内存。
小妖女 该用户已被删除
沙发
发表于 2015-1-19 05:52:12 来自手机 | 只看该作者
习惯敲命令行的朋友可能会爽一些。但是功能有限。适合机器跑不动SQLServerManagementStudio的朋友使用。
若相依 该用户已被删除
板凳
发表于 2015-1-24 11:27:17 | 只看该作者
我是新手,正在学习数据库和操作系统,深感理论的泛广,唯有一步一步来,但是又感觉时间不够,收集了很多资料却总是没能认真的看完,希望有一个讨论板块,大家共同解决,共同分享,共同努力
冷月葬花魂 该用户已被删除
地板
发表于 2015-2-1 09:26:12 | 只看该作者
语句级快照和事务级快照终于为SQLServer的并发性能带来了突破。个人感觉语句级快照大家应该应用。事务级快照,如果是高并发系统还要慎用。如果一个用户总是被提示修改不成功要求重试时,会杀人的!
灵魂腐蚀 该用户已被删除
5#
发表于 2015-2-7 02:15:20 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
老尸 该用户已被删除
6#
发表于 2015-2-19 19:51:21 | 只看该作者
原来的计算字段其实和虚拟字段很像。只是管理方面好了而已,性能方面提高不多。但是SQL2005提供了计算字段的持久化,这就提高了查询的性能,但是会加重insert和update的负担。OLTP慎用。OLAP可以大规模使用。
萌萌妈妈 该用户已被删除
7#
 楼主| 发表于 2015-3-6 15:35:20 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
透明 该用户已被删除
8#
发表于 2015-3-20 11:43:30 | 只看该作者
可以动态传入参数,省却了动态SQL的拼写。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|仓酷云 鄂ICP备14007578号-2

GMT+8, 2024-12-24 00:51

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表