首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SQL Server为何如此依赖于事务日志

SQL Server为何如此依赖于事务日志
EN

Stack Overflow用户
提问于 2009-10-12 20:03:11
回答 5查看 960关注 0票数 4

好了,来了。我不是数据库专家或管理员。事实上,除了偶尔进行一些索引/查询调优之外,我不会经常在数据库中逗留。我经常回避的事情之一是Server事务日志。我知道它是用来做什么的,它包含什么以及它是如何工作的(至少在概念上是这样的),但是我想我不明白为什么SQL Server看起来如此依赖于事务日志。

这是的第一个问题。如果我错了,请纠正我,但在我看来,默认情况下,事务日志只包含数据库中所有更改的整个历史。有两个迹象表明情况确实如此。当我创建一个新数据库时,其日志的最大大小被设置为“无限制的增长”。第二个原因是,我经常处理具有巨大事务日志的小型数据库,不管我做了什么,这些日志都不能缩小。这似乎太奇怪了,我不敢相信这是真的。为什么我会想要默认的整个历史?我所关心的只是最新版本的数据处于一致的状态。好吧,我怀疑可能有一些合理的理由,但我认为这是一个额外的选择。

我的第二个问题是为什么处理转换日志如此复杂?是只有我吗,还是真的没有直接的办法去做?就在最近,我试图摆脱一个5MB数据库的100MB+日志,而我找到的最简单的方法就是分离数据库,删除日志并重新附加它(就连Serve也抱怨了一点)。我尝试了使用我能找到的所有可能的选项,但是我只能缩小到50%。数据库没有使用(没有活动连接),老实说,我根本不关心任何过去的转换。我注意到,可能还有其他一些“方法”来做到这一点;有些方法涉及备份和还原。

我努力地阅读MSDN文档,了解更多关于过渡的知识,但大约15分钟后,我就放弃了。我知道,对数据库管理员和专家来说,我的问题听起来很愚蠢。我很感谢你的反馈。

编辑:第一个答案之后,我意识到我可能不够清楚。我知道事务日志在事务期间是如何工作的,为什么它很重要,并且它可以用于备份目的。我想我想从开发人员的角度提出更多的要求。在大多数情况下,我处理的是暂存/测试临时数据库,这些数据库不需要任何备份,除了我之外没有人使用这些数据库,而且我经常发现自己需要传输它,在这种情况下,拥有一个巨大的过渡日志是不必要的不便。

EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1556565

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档