仓酷云

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

[学习教程] MSSQL网站制作之MS Sql Server 日记清算

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

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

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

x
这里我们讨论用binlog来实现闪回的方案。serverSETNOCOUNTON
DECLARE@LogicalFileNamesysname,@MaxMinutesINT,@NewSizeINT
USEgrades--要操纵的数据库名
SELECT@LogicalFileName=grades_log,--日记文件名
@MaxMinutes=10,--Limitontimeallowedtowraplog.
@NewSize=1--你想设定的日记文件的巨细(M)

--Setup/initialize
DECLARE@OriginalSizeint
SELECT@OriginalSize=sizeFROMsysfilesWHEREname=@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
mysql使用内部操作字符集gbk来进行操作,即执行"SELECT*FROMtestWHEREname=xxxor1=1/*LIMIT1";从而注入成功
只想知道 该用户已被删除
沙发
发表于 2015-1-19 10:03:37 | 只看该作者
多加的系统视图和实时系统信息这些东西对DBA挑优非常有帮助,但是感觉粒度还是不太细。
愤怒的大鸟 该用户已被删除
板凳
发表于 2015-1-25 22:10:28 来自手机 | 只看该作者
再开发调试阶段和OLAP环境中,外键是可以建立的。新版本中加入了SETNULL和SETDEFAULT属性,能够提供能好的级联设置。
透明 该用户已被删除
地板
发表于 2015-2-4 08:07:18 | 只看该作者
你可以简单地认为适合的就是好,不适合就是不好。
若相依 该用户已被删除
5#
发表于 2015-2-27 19:45:19 | 只看该作者
但换公司用MSSQL2K感觉自己好像根本就不了解MSSQL。什么DTS触发器以前根本没用过。
爱飞 该用户已被删除
6#
发表于 2015-3-9 11:25:43 | 只看该作者
财务软件要用SQL也只是后台的数据库而已,软件都是成品的,当然多学东西肯定是有好处的..
飘灵儿 该用户已被删除
7#
 楼主| 发表于 2015-3-16 22:08:36 | 只看该作者
SQLServer的异构移植功能个人感觉最好了。(如果对比过SQLServer的链接服务器和Oracle的透明网关的朋友会发现SQLServer的sp_addlinkedserver(openquery)异构数据库系列比Oracle真是强太多了。)
小妖女 该用户已被删除
8#
发表于 2015-3-23 05:22:29 | 只看该作者
入门没那么困难,精通没那么容易
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-6-3 15:32

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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