仓酷云

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

[学习教程] MSSQL教程之怎样扫除sql server日记

[复制链接]
跳转到指定楼层
楼主
发表于 2015-1-16 22:26:29 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式

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

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

x
这里我们讨论用binlog来实现闪回的方案。server办法1:
第一步:
backuplogdatabase_namewithno_log
大概backuplogdatabase_namewithtruncate_only--no_log和truncate_only是在这里是同义的,任意实行哪一句都能够
第二步:
1.压缩特定命据库的一切数据和日记文件,实行dbccshrinkdatabase(database_name,[,target_percent])--database_name是要压缩的数据库称号;target_percent是数据库压缩后的数据库文件中所要的残剩可用空间百分比
2.压缩一次一个特定命据库中的数据或日记文件,实行dbccshrinkfile(file_id,[,target_size])--file_id是要压缩的文件的标识(ID)号,若要取得文件ID,请利用FILE_ID函数或在以后数据库中搜刮sysfiles;target_size是用兆字节暗示的所要的文件巨细(用整数暗示)。假如没有指定,dbccshrinkfile将文件巨细削减到默许文件巨细
两个dbcc都能够带上参数notruncate或truncateonly,详细意义看匡助。

办法2(这个办法在sqlserver2000的情况下做一样平常能乐成,在sqlserver7及以下版本就纷歧定了):
第一步:
先备份全部数据库以备意外
第二步:
备份停止后,在QueryAnalyzer中实行以下的语句:
execsp_detach_dbyourDBName,true--卸除这个DB在MSSQL中的注册信息
第三步:
到日记的物理文件地点的目次中往删除该日记文件大概将该日记文件移出该目次
第四步:
在QueryAnalyzer中实行以下的语句:
execsp_attach_single_file_dbyourDBName,d:mssql7datayourDBName_data.mdf
--以单文件的体例注册该DB,假如乐成则MSSQL将主动为这个DB天生一个500K的日记文件。
以上办法在扫除log日记中均无效。
但,可否让sqlserver不发生log日记呢?以上办法仿佛均有效。
我这儿恰好有个case:
我客户的sqlserver天天城市发生4,500M的log日记,天天都扫除一下,十分方便。有无举措完成不发生log日记呢?
我剖析了一下客户发生log日记的缘故原由,而且做了响应测试。
客户是天天将数据库清空,从总体系中将数据导进到sqlserver里。我感决sqlserver在拔出时发生log不年夜,在delete全部库时发生log极年夜。
好比:
SELECT*intotest_2fromb_bgxx
共45000笔记录,发生十几Mlog,假如
deletefromtest_2
发生80多Mlog,这分明存在成绩。
固然能够换成:
truncatetabletest_2
但我仍是但愿能找到不发生log的办法。就如oracle不发生回档一样。
导致了一个使用几乎和mSQL一样的API接口的用于他们的数据库的新的SQL接口的产生,这样,这个API被设计成允许为用于mSQL而写的第三方代码更容易移植到MySQL。
第二个灵魂 该用户已被删除
沙发
发表于 2015-1-19 12:19:18 | 只看该作者
现在是在考虑:如果写到服务器端,我一下搞他个10个存储过程导过去,那久之服务器不就成垃圾箱了吗?即便优化了我的中间层.
蒙在股里 该用户已被删除
板凳
发表于 2015-1-25 22:47:26 | 只看该作者
如果处理少量数据,比如几百条记录的数据,我不知道这两种情况哪个效率更高,如果处理大量数据呢?比如有表中有20万条记录.
金色的骷髅 该用户已被删除
地板
发表于 2015-2-4 11:26:32 | 只看该作者
如果你是从“学习某一种数据库应用软件,从而获得应聘的资本和工作机会”的角度来问的话。
不帅 该用户已被删除
5#
发表于 2015-2-9 22:22:39 | 只看该作者
换言之,只有在不断的失败中尝试成功,而关于失败的总结却是很少的
海妖 该用户已被删除
6#
发表于 2015-2-28 00:51:27 | 只看该作者
在select语句中可以使用groupby子句将行划分成较小的组,然后,使用聚组函数返回每一个组的汇总信息,另外,可以使用having子句限制返回的结果集。
小妖女 该用户已被删除
7#
发表于 2015-3-9 18:03:38 | 只看该作者
备份方面可能还是一个老大难的问题。不能单独备份几个表总是感觉不爽。灵活备份的问题不知道什么时候才能解决。
分手快乐 该用户已被删除
8#
发表于 2015-3-17 00:34:30 | 只看该作者
个人感觉没有case直观。而且默认的第三字段(还可能更多)作为groupby字段很容易造成新手的错误。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

GMT+8, 2024-5-21 15:39

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

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