简约的数据库管理
时间:2020-03-05 18:45:15 来源:igfitidea点击:
我是开发人员。美好时光的建筑师。不知何故,我也成为了小公司的DBA。我在DB艺术领域的背景是公平的,但是我从来不是一个成熟的DBA。我的问题是我该怎么做才能确保以尽可能少的实际努力实现一个可实现且合理运行的数据库环境?
我确定我需要确保正在执行备份并且正在执行备份。这很容易。我还应该做什么呢?
解决方案
回答
我会建议:
- 一个脚本,用于快速恢复数据库的最新备份(以防万一损坏)
- 我们正在执行哪种备份?每天是完整备份,还是每小时都有增量备份?
- 一些脚本可以创建新用户并向他们授予基本访问权限。
但是,第一个建议是尽可能限制其他用户拥有的功能,这将大大减少东西被严重弄乱的机会。与众不同的服务器往往比被锁定的服务器更容易被搞砸。
回答
我去过那儿。我曾经从事一份工作,编写代码,完成所有基础设施工作,戴上DBA帽子,提供用户支持,在卡钉器被卡住时修复它,以及其他可能与IT远程关联的问题。太好了!我学到了一些东西。
至于数据库框的维护和提供,我建议我们执行以下操作:
- 执行常规的完整备份。
- 执行常规的事务日志备份。
- 监视备份作业。市场上有很多相对便宜的实用程序,可以为我们自动化。在一家小商店里,我们常常太忙了,以至于每天都记着检查它们。
- 测试备份。做个练习。还原最重要的数据库的旧副本。向自己证明备份正在运行,并且知道如何正确还原它们。我们会感到惊讶的是,有多少人在他们第一次真正的灾难中才想到这一点。
- 异地存储备份。如今,所有在线备份提供商都在这里,没有异地备份没有太多借口。
- 限制对我们盒子的访问。
- 如果数据库平台支持它,则仅使用基于角色的安全性。抵制诱惑以拥有一次性的特定于用户的安全性。
这里的基本思想是,如果我们限制谁可以访问该框,那么我们遇到的问题就会更少。其次,如果备份是可靠的,则几乎没有什么事情是我们将无法有效处理的。
回答
数据库中还涉及谁?我们是唯一进行架构更改(创建新对象,发布新存储过程,许可新用户)的人吗?
- 确保将可能影响性能的所有操作的用户数量减少到尽可能接近零,理想情况下包括我们在内。
- 确保我们正在测试备份-理想情况下,运行定期重新创建生产环境的DEV框。1. DEV框是个好主意; 2.备份仅在可以从中还原时才有用。
- 为连接到数据库的各种应用程序创建组,因此,当新用户出现时,我们不必猜测他们需要什么权限,只需将它们添加到组中,同时将数据库对象仅授予需要它们的组权限
- 使用索引,主键,外键,约束,统计信息以及数据库支持的任何其他工具。归一化。
- 针对设备优化最常用的代码-错误的存储过程/数据访问代码将使我们丧命。