仓酷云

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

[学习教程] MSSQL教程之『保藏』压缩日记文件的SQL剧本

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

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

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

x
Cluster/NDB高冗余的存储引擎,用多台数据机器联合提供服务以提高整体性能和安全性。适合数据量大,安全和性能要求高的应用剧本
/*本文由微软旧事组摘录上去的。一段十分有效的剧本。*/

头几天也碰着日记文件过年夜的成绩,数据库实践巨细为600M,日记文件实践巨细为33M,但日记文件占用空间为2.8G!!!试了多种体例,SHIRNKDATABASE,TRUNCATELOGFILE,都没举措将文件减少。不管怎样,这应当算SQLSERVER的一个BUG吧。

厥后找到上面的代码,就能够将日记文件减少到本人想要的巨细了。把代码COPY到查询剖析器里,,然后修正个中的3个参数(数据库名,日记文件名,和方针日记文件的巨细),运转便可(我已用过量次了)-----SETNOCOUNTONDECLARE@LogicalFileNamesysname,@MaxMinutesINT,@NewSizeINT

USEMarias--要操纵的数据库名SELECT@LogicalFileName=Marias_log,--日记文件名@MaxMinutes=10,--Limitontimeallowedtowraplog.@NewSize=100--你想设定的日记文件的巨细(M)

--Setup/initializeDECLARE@OriginalSizeintSELECT@OriginalSize=sizeFROMsysfilesWHEREname=@LogicalFileNameSELECTOriginalSizeof+db_name()+LOGis+CONVERT(VARCHAR(30),@OriginalSize)+8Kpagesor+CONVERT(VARCHAR(30),(@OriginalSize*8/1024))+MBFROMsysfilesWHEREname=@LogicalFileNameCREATETABLEDummyTrans(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())--timehasnotexpiredAND@OriginalSize=(SELECTsizeFROMsysfilesWHEREname=@LogicalFileName)AND(@OriginalSize*8/1024)>@NewSizeBEGIN--Outerloop.SELECT@Counter=0WHILE((@Counter<@OriginalSize/16)AND(@Counter<50000))BEGIN--updateINSERTDummyTransVALUES(FillLog)DELETEDummyTransSELECT@Counter=@Counter+1ENDEXEC(@TruncLog)ENDSELECTFinalSizeof+db_name()+LOGis+CONVERT(VARCHAR(30),size)+8Kpagesor+CONVERT(VARCHAR(30),(size*8/1024))+MBFROMsysfilesWHEREname=@LogicalFileNameDROPTABLEDummyTransSETNOCOUNTOFF


提供TCP/IP、ODBC和JDBC等多种数据库连接路径。
变相怪杰 该用户已被删除
沙发
发表于 2015-1-19 15:49:50 | 只看该作者
记得在最开始使用2k的时候就要用到这个功能,可惜2k没有,现在有了作解决方案的朋友会很高兴吧。
爱飞 该用户已被删除
板凳
发表于 2015-1-25 16:41:51 | 只看该作者
学习SQL语言的话如果要学会去做网站就不是很难!但是要做数据库管理的话就有难度了!
地板
发表于 2015-2-3 11:01:17 | 只看该作者
groupby子句可以将查询结果分组,并返回行的汇总信息Oracle按照groupby子句中指定的表达式的值分组查询结果。
冷月葬花魂 该用户已被删除
5#
发表于 2015-2-8 20:24:17 | 只看该作者
SP4包括用于以下SQLServer2000组件的程序包:Database组件(下载文件:SQL2000-KB884525-SP4-x86.EXE)更新SQLServer2000的32位Database组件,包括数据库引擎、复制、客户端连接组件及工具。有关其他信息,请参阅ReadmeSql2k32Sp4.htm。AnalysisServices组件(下载文件:SQL2000.AS-KB884525-SP4-x86.EXE)更新SQLServer2000的32位AnalysisServices。
因胸联盟 该用户已被删除
6#
发表于 2015-2-26 04:42:00 | 只看该作者
SQL语言是学习所有数据库产品的基础,无论你是做数据库管理还是做数据库开发都是这样。不过具体学习的侧重点要看你将来做哪一块,如果是做数据库管理(DBA),侧重点应该放在SQLServer的系统管理上.
不帅 该用户已被删除
7#
发表于 2015-3-8 12:05:10 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
蒙在股里 该用户已被删除
8#
发表于 2015-3-15 22:42:09 | 只看该作者
发几份SQL课件,以飨阅者
活着的死人 该用户已被删除
9#
发表于 2015-3-22 17:28:32 | 只看该作者
总感觉自己还是不会SQL
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-12-22 23:19

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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