一般DBA的日常工作,说白了,就是把SQL Server给装上,调校一番,然后就天天盯着,确保一切正常运转。
在深入了解DBA这个行当前,得先认识几个跟SQL Server打交道比较多的角色:

  • SQL开发者:这帮哥们儿要是搞自家的SQL应用,就得用Transact-SQL来写程序,还得用各种语言来弄前端。他们可能编程挺溜,但对网络、服务器管理这些可能就两眼一抹黑了。DBA得给他们提供点干货,比如网络硬件、SQL Server的限制啥的。
  • 网络管理员:这帮人管服务器,也管网络应用。他们对文件和打印服务器可能了如指掌,但一碰到SQL Server这种专业服务器,可能就得DBA出马,一起搞定怎么把SQL Server和网络其他部分搭上线,让网络通信更顺畅。
  • 技术支持:大公司里总有这么一帮人,专门帮用户解决问题。DBA得教会他们怎么用SQL Server,这样他们才能帮别人。有时候,他们还能帮你发现SQL Server的潜在问题。
  • 最终用户:这些哥们儿天天跟软件打交道,但在培训时往往被忽略。DBA可能得保证用户培训的质量,并且收集他们的反馈,好改进SQL Server应用。

DBA得和这些人通力合作,小公司里可能还得一人身兼数职,这活儿可不轻松。
要当个高效的DBA,有点工程管理的底子挺有帮助的。比如,可能得负责整个公司的SQL Server部署,或者把旧的SQL Server升级到新版本。工程管理懂得越多,处理大项目就越得心应手。

DBA得是个多面手,需要的技能有一大堆:

  • NT Server得玩得转:SQL Server和NT Server关系密切,DBA得懂NT Server的运行和管理。比如,怎么管用户和用户组,怎么调权限,怎么改安全策略,怎么搞注册表,怎么维护服务,怎么用事件查看器,怎么建容错机制,怎么监控性能和网络等等。
  • SQL Server得深入理解:这是必须的,DBA得对SQL Server有深刻认识。
  • 数据备份与恢复得精通:SQL Server数据库里的数据都特别重要,DBA得保证数据随时都能用,不管怎么备份,都得熟悉各种备份工具,以便快速恢复崩溃的数据库
  • Transact-SQL得学:虽然DBA不必非得成为编程高手,但了解Transact-SQL的基础还是很有用的。
  • 业务流程得了解:每个SQL Server数据库都模拟了业务流程,DBA对这些流程理解得越深,对业务帮助越大。
  • 关系数据库设计得有基本概念:数据库设计复杂,DBA要想优化性能,就得了解设计原理。
  • 工作得细致:SQL数据库里的数据太重要了,DBA得非常小心,确保数据不丢失,数据库的维护时间也得尽可能短。
    DBA的日常工作,可以说是充满挑战:
  • 安装和升级SQL Server:新装或升级,DBA得亲力亲为。
  • 创建和管理数据库:搭建和管理数据库,DBA的份内事。
  • 用户和安全管理:随着人员变动,DBA得创建账号,设置权限。
  • 数据维护:防止数据丢失,DBA得执行常规维护。
  • 备份和恢复数据库:这是DBA的重要职责,得有灾难恢复计划。
  • 数据传输:DBA得在不同应用间传输数据。
  • 管理数据复制:根据业务需求,建立和管理数据复制。
  • 监控和优化SQL Server:DBA得保证数据库性能,这活儿没完没了。
  • 调度任务:DBA得用任务调度器自动执行任务,并跟踪执行情况。
  • 故障修复:问题总会来,DBA得有经验,能快速解决。
  • 团队合作:DBA不是孤军奋战,得和公司里的人合作,确保SQL Server满足业务需求。

总之,DBA这活儿,技术得硬,耐心得好,合作得密,责任心要强。不过,搞定了,那成就感也是满满的。