简约的数据库管理

时间:2008-08-29 21:36:27

标签: database administration task

我是开发人员。好日子的建筑师。不知怎的,我发现自己也是小公司的DBA。我的背景在数据库艺术方面是公平的,但我从未成为一名成熟的DBA。我的问题是我需要做些什么才能确保一个可靠且功能合理的数据库环境,尽可能少的实际工作量?

我确信我需要确保正在执行备份并且正在执行备份。这很简单。我应该在一致的基础上做什么?

3 个答案:

答案 0 :(得分:5)

我去过那儿。我以前有一份工作,我编写代码,完成所有基础设施工作,戴DBA帽子,做用户支持,修理电子订书机,以及其他任何可能与IT远程关联的问题。太棒了!我对一切都学到了一点。

就数据库的保养和喂食而言,我建议您执行以下操作:

  • 执行定期完整备份。

  • 执行常规事务日志备份。

  • 监控备份作业。市场上出现了大量相对便宜的实用工具,可以为您实现自动化。在一家小商店,你经常太忙 记得每天检查一下。

  • 测试备份。钻一次。还原最重要数据库的旧副本。向您自己证明您的备份正在运行,并且您知道如何正确还原它们。你会惊讶的是,在第一次真正的灾难中,有多少人只会想到这一点。

  • 将备份存储在异地。今天有所有在线备份提供商,没有太多借口没有异地备份。

  • 限制对您的盒子的访问权限。

  • 如果您的数据库平台支持它,请仅使用基于角色的安全性。抵制一次性用户特定安全性的诱惑。

这里的基本想法是,如果您限制谁有权访问该框,您将遇到的问题更少。其次,如果你的备份是可靠的,那么很少有你无法有效处理的事情。

答案 1 :(得分:5)

还有谁参与数据库?您是唯一进行架构更改的人(创建新对象,发布新存储过程,允许新用户)吗?

  • 确保执行任何可能影响性能的用户数量减少到尽可能接近零,最好包括您。
  • 确保您正在测试备份 - 理想情况下运行一个定期重新创建生产环境的DEV盒,1。DEV盒子是个好主意,2。备份只有在您可以从中恢复时才有用。
  • 为连接到您的数据库的各种应用程序创建组,因此当新用户出现时您不会猜测他们需要什么权限,只需将它们添加到组中,同时将数据库对象的权限仅限于需要的组他们
  • 使用索引,主键,外键,约束,统计信息以及数据库支持的任何其他工具。规范化。
  • 针对您的盒子优化最常见的代码 - 错误的存储过程/数据访问代码会杀死您。

答案 2 :(得分:3)

我建议:

  • 一个快速恢复数据库最新备份的脚本,以防它被破坏
  • 你在做什么样的备份?每天完整备份,或每小时增量等?
  • 创建新用户并授予他们基本访问权限的一些脚本。

然而,第一个建议是尽可能地限制其他用户拥有的权力,这将大大减少事情变得严重混乱的可能性。将每个人都视为sa的服务器往往比被锁定的服务器更快地搞砸了。