3

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

我确信我需要确保正在执行备份并且正在完成备份。那是一件容易的事。我还应该在一致的基础上做什么?

4

3 回答 3

5

我去过那儿。我曾经有一份工作,我编写代码,做所有的基础设施工作,戴上 DBA 的帽子,做用户支持,修理卡住的电动订书机,以及其他可能与 IT 远程相关的事情。太好了!我对一切都了解了一点。

至于您的数据库盒的护理和喂养,我建议您执行以下操作:

  • 执行定期完整备份。

  • 执行定期事务日志备份。

  • 监控您的备份作业。市场上有许多相对便宜的实用程序可以为您自动执行此操作。在一家小商店里,你经常太忙而忘记每天检查它们。

  • 测试您的备份。做一个练习。还原最重要数据库的旧副本。向自己证明您的备份正在工作并且您知道如何正确恢复它们。你会惊讶于有多少人只是在他们第一次真正的灾难时才想到这一点。

  • 异地存储备份。如今,所有在线备份提供商都在那里,没有太多理由不进行异地备份。

  • 限制 sa 访问您的盒子。

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

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

于 2008-08-29T22:01:58.670 回答
5

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

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

我会建议:

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

但是,第一个建议是尽可能限制其他用户的权力,这将大大减少事情被严重搞砸的机会。将每个人都作为 sa 的服务器往往比被锁定的服务器更快地搞砸。

于 2008-08-29T21:44:16.653 回答