我是开发人员.好日子的建筑师.不知怎的,我发现自己也是小公司的DBA.我的背景在数据库艺术方面是公平的,但我从未成为一名成熟的DBA.我的问题是我需要做些什么来确保一个可靠且功能合理的数据库环境,尽可能少的实际工作量?
我确信我需要确保正在执行备份并且正在执行备份.这很简单.我应该在一致的基础上做什么?
我去过那儿.我以前有一份工作,我编写代码,完成所有基础设施工作,戴DBA帽子,做用户支持,修理电子订书机,以及其他任何可能与IT远程关联的问题.太棒了!我对一切都了解了一点.
至于数据库盒的保养和喂养,我建议您执行以下操作:
执行定期完整备份.
执行常规事务日志备份.
监控备份作业.市场上出现了大量相对便宜的实用工具,可以为您实现自动化.在一家小商店里,你经常忙着忘记每天检查它们.
测试备份.钻一次.还原最重要数据库的旧副本.向您自己证明您的备份正在运行,并且您知道如何正确还原它们.你会惊讶的是,在第一次真正的灾难中,有多少人只会想到这一点.
异地存储备份.今天有所有在线备份提供商,没有太多借口没有异地备份.
限制访问您的盒子.
如果您的数据库平台支持它,请仅使用基于角色的安全性.抵制一次性用户特定安全性的诱惑.
这里的基本想法是,如果您限制谁有权访问该框,您将遇到的问题更少.其次,如果您的备份是可靠的,那么很少有您无法有效处理的事情.
还有谁参与数据库?您是唯一进行架构更改的人(创建新对象,发布新存储过程,允许新用户)吗?
确保执行可能影响性能的任何用户的数量减少到尽可能接近零,最好包括您.
确保您正在测试备份 - 理想情况下运行一个定期重新创建生产环境的DEV盒,1.DEV盒子是个好主意,2.备份只有在您可以从中恢复时才有用.
为连接到数据库的各种应用程序创建组,因此当新用户出现时,您不会猜测他们需要什么权限,只需将它们添加到组中,同时将数据库对象的权限仅限于需要它们的组
使用索引,主键,外键,约束,统计信息以及数据库支持的任何其他工具.规范化.
针对您的盒子优化最常见的代码 - 错误的存储过程/数据访问代码会杀死您.