• 6295阅读
  • 10回复

有关SQL日志不再增大,不让别人下载走你数据库方法-->lingling转移 [复制链接]

上一主题 下一主题
离线aqyq1
 
发帖
66
祝福宝石
0
威望
418
玛雅之石
0
创造宝石
0
只看楼主 倒序阅读 使用道具 楼主  发表于: 2004-02-01
潜水好长时间了,针对这么久以来大家一直关心的问题,希望能对大家有帮助。

强烈要求置顶!

一:如何使Microsoft SQL Server的日志文件不会增大
如何缩小MSSQL的日志文件已经是一个经常性的问题了,不过这个问题在精华区已经有不少答案了,我这里也不再赘述。
现在我们讨论一下治本的问题,即如何使日志文件不再增大?

先介绍一个简单的方法。
就是把数据库的故障还原模型设置为“简单”(SQL2K)。这样它就会在Checkpoint的时候截断日志。
具体操作方法是:
1、在Enterprise Manager中右键点数据库,“属性|选项|故障还原”,选择“简单”就可以了,如果是SQL7,在“属性|选项”中有一个“trunc. log on chkpt. ”,选中就可以了。
2、如果不想用Enterprise Manager,在Query Analyser或者isql里面执行
EXEC sp_dboption 'your_dbname', 'trunc. log on chkpt.', 'TRUE'
就可以了
但是,要注意的是,这样做了之后,虽然日志不会增大,但是也意味着你一旦出现误操作,将不会有利用日志恢复的机会。(如何利用日志来恢复请参见精华区的FAQ)
所以,绝对不建议在生产数据库上截断日志,除非你有充足的理由和足够的把握,或者……
承担责任的不是你。

既然这种方法不安全,下面我将介绍一种安全的方法。
大家都知道,SQL Server 在完成事务日志备份时将自动截断事务日志中的不活动部分。这些不活动的部分包含已完成的事务,因此在恢复过程中不再使用。相反,事务日志的活动部分包含仍在运行但尚未完成的事务。SQL Server 将重新使用事务日志中这些截断的非活动空间,而不是任由事务日志继续增大并占用更多的空间。
所以,我们备份事务日志就可以使日志文件不再增大了。
但是呢,日志文件一直放着也不是个办法,删除呢,又会失去恢复的可能性。
我们可以结合完全备份来做。做过完全备份之前的事务日志就可以删除了。
比如说,一个备份计划,每天一次完全备份,保留7天内的,每15分钟一次事务日志备份,保留2天的。
用数据库维护计划向导可以很方便的建立备份计划,不过一定要记得设置保留多久的备份哦,否则硬盘空间被备份给占满了就坏事了。




二:防止你的数据库被下载
我们大家都知道,
一般对于个人网站来说都是用MDB做为数据库根源!

而这一个MDB一般服务器是没有控制不可下载的!
所以你只需要输入http://www.***.net/***.mdb就可以直接把数据库DOWN.

然后用access打开里面的资料一览无余!可以试想一下这样你的网站还有何安全可讲:)..
当然这只是最初级的菜鸟所犯的错罢了。稍为精通一点ASP的都会把MDB改为ASP或者asa文件来使用。这样就可以在浏览器禁止了恶意的下载,
但!你千万不要认为这样就万无一失!!因为数据库中没有<% %>这标志,所以虽然在浏览器中禁止了直接的下载!但你用蚂蚁或者快车都可直接下载回来:)..呵。后果可想而知了!
当然你会说。我把数据库文件改得没人知道在哪里。会有谁知道那个数据库文件啊!呵你这样想就错了。现在的黑软多的是。一款站内资源搜索器就足可以把你站点所有网站的目录、文件分得一清二楚。所以。。

由上所见。你的数据库可能被下载的机率几乎达到百分之XX。不过我所提供的解决之法也只有限!无非是第一、链接数据文件时多放几个路径。让想偷东西的人多走几个弯路,把数据库名尽量改成不能一眼就看出来的,然后放到一些有多好文件文件夹内。呵也许这样。他们会知难而退:)。当然人家要想搞定你,这点难度只是小小许罢了的:)。所以第二就是为你的数据库加上密码,然后在链接访问数据时加上密码验证代码,这样倒也稍为安全了点。即使万一被下载了。他同样也需要.....呵呵。无法说了。如果他是一个这方面的理手,这道防线也是没用。我只知道六位数的密码只需要尔尔半分钟。如果使用查看密码软件,几乎无需要等待时间,

呵。最后一招就是在数据库的表里加入一个<% %>的表!这样就安全了噢~~。





评价一下你浏览此帖子的感受

精彩

感动

搞笑

开心

愤怒

无聊

灌水
离线kf99
发帖
77
祝福宝石
0
威望
511
玛雅之石
0
创造宝石
0
只看该作者 沙发  发表于: 2004-02-01
不懂,还是顶一下!有很多人关心这个问题
离线54118
发帖
83
祝福宝石
0
威望
1225
玛雅之石
0
创造宝石
0
只看该作者 板凳  发表于: 2004-02-01
不错,顶
离线苍月の狼
发帖
208
祝福宝石
0
威望
878
玛雅之石
0
创造宝石
0
只看该作者 地板  发表于: 2004-02-01
顶~错。懂。看明。
离线eackl
发帖
319
祝福宝石
0
威望
2622
玛雅之石
0
创造宝石
0
只看该作者 4楼 发表于: 2004-02-01
tt
离线hitboy
发帖
111
祝福宝石
0
威望
280
玛雅之石
0
创造宝石
0
只看该作者 5楼 发表于: 2004-02-01
既然这种方法不安全,下面我将介绍一种安全的方法。
大家都知道,SQL Server 在完成事务日志备份时将自动截断事务日志中的不活动部分。这些不活动的部分包含已完成的事务,因此在恢复过程中不再使用。相反,事务日志的活动部分包含仍在运行但尚未完成的事务。SQL Server 将重新使用事务日志中这些截断的非活动空间,而不是任由事务日志继续增大并占用更多的空间。
所以,我们备份事务日志就可以使日志文件不再增大了。
但是呢,日志文件一直放着也不是个办法,删除呢,又会失去恢复的可能性。
我们可以结合完全备份来做。做过完全备份之前的事务日志就可以删除了。
比如说,一个备份计划,每天一次完全备份,保留7天内的,每15分钟一次事务日志备份,保留2天的。
用数据库维护计划向导可以很方便的建立备份计划,不过一定要记得设置保留多久的备份哦,否则硬盘空间被备份给占满了就坏事了。



自动备份日志我明白,前面的活动什么的怎么做》?

离线hiter
发帖
283
祝福宝石
0
威望
1054
玛雅之石
0
创造宝石
0
只看该作者 6楼 发表于: 2004-02-01
具体怎么做呢?
离线54321abc
发帖
1051
祝福宝石
0
威望
5933
玛雅之石
0
创造宝石
0
只看该作者 7楼 发表于: 2004-02-01
`
离线cyhxh
发帖
465
祝福宝石
0
威望
1351
玛雅之石
0
创造宝石
0
只看该作者 8楼 发表于: 2004-02-01
顶到看明白为止。。。关于SQL的。。。。
离线9995487
发帖
394
祝福宝石
0
威望
1940
玛雅之石
0
创造宝石
0
只看该作者 9楼 发表于: 2004-02-01
这个。。都有人盗?
离线楚天
发帖
347
祝福宝石
0
威望
837
玛雅之石
0
创造宝石
0
只看该作者 10楼 发表于: 2004-02-20
晕,看得头都大了(悔当初没学好电脑技术。。。)
楼主能不能讲得更接近菜鸟教程一点的?谢谢啦,我也是菜鸟哦
黑夜,是我独问的灵魂......
快速回复
限100 字节
如果您在写长篇帖子又不马上发表,建议存为草稿
 
上一个 下一个

      管理员联系信箱 [email protected] 所有内容均来之互联网,如侵犯您的隐私和权益,请和我们及时联系!