专业 DBA 卓越之道
1. 掌控目标与努力
你要记住,实现目标所投入的努力和精力完全由你自己掌控。所以,永远不要让别人来定义你的目标只是一场空想。总会有人对你能做成什么、做不成什么评头论足,这是人之常情。但幸运的是,他们无法左右你熬夜阅读博客文章、钻研在线文档,或是采取其他自我提升的行动。对自己坦诚相待,设定现实可行的目标,在追求目标的道路上,你就能始终保持动力和热情。只要你能接受这些要点,成为一名卓越的 DBA 就不会是难事。这些都是我们在实践中总结出来的经验,真希望有人能早点与我们分享。
2. 打造个人声誉
在提升 SQL Server 知识的同时,你要在所在组织中努力打造自己的声誉。你是想成为那个解决问题总需要别人帮忙、工作还总不能按时完成的 DBA,还是想成为那个能把工作搞定、解决难题的可靠之人呢?既然你在阅读相关内容,我们相信你会选择后者。以下是一些有助于你打造理想声誉的建议:
-
可靠可依
:你的客户、经理和团队成员都需要知道他们可以信赖你。从按时完成任务,到主动帮助团队成员解决工作问题(哪怕没人要求,哪怕需要牺牲周末时间),要让大家都清楚你是一个值得依靠的人。如果你承诺在某个时间做某事却忘记了,那可就有损你的形象了。要在工作环境中持续向管理层、团队和客户展示你是团队中可靠的一员。
-
勇于担责
:人非圣贤,孰能无过。但只要你总是勇于承认自己的错误,当出现问题且你说不是自己造成的时候,别人就更有可能相信你。有时候,对于一些你觉得不是自己造成但又无法证明是他人或其他因素导致的问题,你可能也得承担责任。人们总是习惯把问题归咎于数据库,作为 DBA,你自然就成了被指责的对象。我们知道大多数情况下数据库并非问题根源,但要证明这一点有时并不容易。所以你要学会选择合适的时机据理力争,没有证据时就先承担责任,不要互相推诿。
-
成为核心人物
:你要始终努力成为团队中的核心人物。当管理层、客户或其他团队成员开始依赖你帮助他们度过难关时,你就知道自己正在成为这样的人。
-
解决难题能手
:努力成为大家遇到难题时首先想到的解决者。如果你想在某个领域专精,比如性能优化,那就成为性能问题解决专家。但如果你想成为顶尖高手,就要努力在工作环境的各个领域都成为解决问题的行家。
-
挑战不可能
:我们都知道,有时项目的时间安排非常紧张,几乎不可能完成任务。你要努力成为那个被要求参与这种看似不可能完成项目的人。每个人都会尊重那些能完成不可能任务、帮助管理层或客户摆脱困境的人。在成为组织中顶尖 DBA 的道路上,你需要成功完成几个这样的项目。
声誉在决定晋升和加薪方面起着至关重要的作用,所以要努力打造一个让自己自豪的声誉。
3. 超越职责
要成为一名卓越的 DBA,你必须愿意超越自己的职责要求。这意味着你要愿意长时间工作,承担超出工作描述范围的任务或项目(比如你是 DBA II 级,也可以尝试做高级 DBA 的工作),并且在做每件事时都付出极大的努力。超越职责不是只做完成任务的最低限度工作,而是要为你创建的流程增添各种亮点,让它脱颖而出。同时,超越职责还意味着要主动出击。以下是一些你可以承担的项目类型,以此向管理层和队友表明你渴望做更多事情的决心:
-
接手新项目
:可能存在一些问题亟待解决,但由于你和队友都很忙,没人去处理或寻找解决方案。这时就轮到你发挥作用了。利用自己的时间接手这类项目,提出的解决方案不仅要能解决问题,还要凭借你对不同技术和概念的深入了解让大家眼前一亮。抓住那些被别人忽视但需要处理的项目机会。
-
挑战常规
:在大多数组织中,多年前制定的流程和程序仍在沿用。但随着技术的飞速发展,这些流程已经效率低下,需要重新编写。遗憾的是,大多数人即使知道这些流程需要改进,也不愿意改变那些“看似没坏”的流程。你要抓住机会,向团队和管理层展示这些流程应该如何优化。不要只是口头说服大家你的方法是最好的,要通过实际行动证明。找到一种方法对比旧流程和新流程,用数据说话。不过要注意,改变现有流程并非易事,很多人会对改变有抵触情绪。当遇到阻力时不要气馁,只要新流程的性能明显优于旧流程,就很难有人能拒绝。所以要收集两个流程的数据,向大家展示为什么你的方法是最佳选择,用结果来说服他们。
4. 有效沟通
有效沟通是让你从众多 DBA 中脱颖而出的另一个关键因素。很多 DBA 在与非技术人员沟通时存在困难,甚至与同行交流也不顺畅。大多数情况下,问题不在于缺乏沟通技巧,而在于无法以目标受众能够完全理解的方式解释问题。以下是一些有助于有效沟通的建议:
-
针对受众调整内容
:为避免使用过多技术细节,你要根据受众的技术水平进行交流。如果受众主要是非技术人员,比如电话会议中的终端用户、客户或各类人员的会议,在对话结束前要确保他们清楚你在讨论什么。对于可能没完全理解信息的小部分人,你可以后续再进行澄清。要考虑大多数人的期望,若受众主要是非技术人员,你应提供所讨论内容的高层次概述。大多数时候,非技术用户更关心结果,不太在意过程细节,他们付钱给你就是让你解决这些细节问题的。反之,如果是与一群 DBA 讨论问题,他们期望获得详细信息,你就不能只做概述性讨论。对于介于非技术人员和 DBA 之间的不同受众,你要相应调整内容。你的目标是具备足够的知识,能够根据不同受众的需求,以不同的技术细节程度呈现内容,同时有效传达核心观点。
-
察觉沟通障碍
:与目标受众交流时,你可能会高估他们对某个话题的技术理解水平,或者解释方式不够清晰,导致对方无法理解你的意思。无论原因是什么,你都要能判断出对方是否没听懂。你肯定熟悉那种表情——茫然的眼神、机械的点头、没有后续问题等。如果你想成为顶尖 DBA,就要识别这种情况,并且对话题有足够的了解,能够换一种方式解释。要主动询问对方是否有问题,并且乐于被打断。同时,要有耐心,让对方知道解释内容直到他们理解并不会让你厌烦。耐心非常重要,根据受众的不同,他们可能需要一些时间来理解你所说的内容。无论需要多久,都要花时间询问对方,确保他们真正理解了你所传达的信息,他们会感激你的付出。
-
把握沟通深度
:有时候,解释过于详细也会有问题。我们很多人对 SQL Server 充满热情,被问到问题时可能会提供过多信息。比如被问到在哪些列上添加索引时,我们可能会详细解释如何查看执行计划、检查现有索引、比较表的读写情况等,结果 30 分钟后把开发人员都讲烦了。其实有时候简单说一句“在 A 和 B 列上添加索引,并包含 C 列”就足够了。你的受众确实关心你说的话,但往往不需要和你一样深入的细节。要留意对方是否表现出不耐烦或无聊,学会适时总结。要知道什么时候简单说明某种数据库问题的处理方法会更好,什么时候需要详细解释原因。一个好的策略是先总结要点,同时准备好确凿的事实来支持你的观点。当你告诉开发人员需要包含某一列时,如果他们有兴趣询问原因,你要能够解释清楚。有些人会对详细细节很感兴趣,而有些人则完全不关心。关键是要学会判断特定受众的兴趣程度,并做出恰当的回应。
-
善于倾听
:成为一名优秀的沟通者的一个重要方面是具备良好的倾听能力。你必须关注别人说的话,才能准确有效地回答他们的问题和解决他们的担忧。说实话,有时候我们很难认真倾听别人说话,我们可能会打断对方、自以为知道对方的需求然后就开始说。很多时候,如果我们能认真倾听,就能解决更多问题、回答更多疑问。要成为一个好的倾听者,你必须在对话中积极参与,跟随对话节奏,提出问题并给予反馈。如果你对对话不感兴趣,也要想办法让自己投入其中。做笔记并总结听到的内容,确保你正确理解了问题。
以下是一个总结上述要点的表格:
|要点|具体内容|
| ---- | ---- |
|可靠可依|按时完成任务,主动帮助团队成员,树立可靠形象|
|勇于担责|承认错误,承担可能不属于自己的责任,不推诿|
|成为核心人物|成为团队中解决问题的关键人物|
|解决难题能手|在特定领域或多领域成为问题解决专家|
|挑战不可能|完成时间紧张的项目,帮助团队摆脱困境|
|接手新项目|利用业余时间解决被忽视的问题|
|挑战常规|优化现有流程,用数据证明新方法的优势|
|针对受众调整内容|根据受众技术水平调整沟通内容|
|察觉沟通障碍|识别对方是否理解,换方式解释|
|把握沟通深度|适时总结,根据受众兴趣提供细节|
|善于倾听|积极参与对话,关注对方需求|
下面是一个 mermaid 格式流程图,展示打造声誉的流程:
graph LR
A[开始] --> B[可靠可依]
A --> C[勇于担责]
A --> D[成为核心人物]
A --> E[解决难题能手]
A --> F[挑战不可能]
B --> G[打造良好声誉]
C --> G
D --> G
E --> G
F --> G
G --> H[获得晋升与加薪机会]
专业 DBA 卓越之道
5. 压力下保持冷静
作为一名 DBA,你可能已经意识到这份工作压力巨大。在职业生涯中,你会遇到各种问题,如流程崩溃、系统故障和严重的性能问题。要成为一名卓越的 DBA,你必须学会应对这些高压力情况。
5.1 应对压力的准备
提前为压力情况做好准备,这样在关键时刻你就不太可能惊慌失措。你需要从以下几个方面进行准备:
-
制定恢复策略
:制定并练习恢复策略,记录服务器出现故障时恢复所需的信息。
-
主动监控
:使用监控技术对服务器进行主动监控,尽可能预防系统出现性能问题。
-
应对意外情况
:要明白你不可能为所有情况做好准备,有时会遇到未曾经历过的问题。弥补经验不足的最佳方法是多阅读博客,参与 SQL Server 社区,这样可以减少遇到陌生问题的概率。
5.2 处理压力情况
不幸的是,灾难总会降临。管理层和其他人会记住你处理这些情况的方式,所以要抓住这个展示自己的机会。根据情况的紧急程度,你可能没有时间实施或练习我们提到的所有方法,但要牢记这些要点,并在合适的时候加以利用。
-
保持冷静
:在危机期间保持冷静至关重要。应用程序的重要性以及系统停机造成的损失将决定管理层在故障期间给你施加的压力大小。要对自己处理情况的能力保持信心,这有助于缓解管理层的紧张情绪。在危机中,你唯一能控制的就是自己。当周围的人都失去理智时,记住你已经做好了准备,你能行,不要让周围人的情绪影响你保持冷静的能力。
-
让管理层离开现场
:在危机中,你的老板可能会在你诊断和解决问题时在旁边徘徊。对很多人来说,这种情况就像在清晰的思维道路上设置了巨大的障碍。如果能巧妙地让老板离开房间,就这么做。向他们解释,给你一些独处的时间或让你和你选择的技术同事一起工作,会有助于你清晰地思考。如果你以冷静和巧妙的方式提出这个要求,很多经理会理解的。
-
明确问题
:在开始解决问题或提供系统恢复时间的估计之前,要确保你清楚地确定了问题所在。如果不自己研究问题,可能会只解决了部分问题,而不是全部问题,这会增加停机时间,让管理层不满。所以在提供解决方案之前,花点时间研究问题,不要因为没有提前研究而给出错误的估计。
-
确定解决方案
:确定所有问题后,在开始解决之前讨论你的解决方案。如果你和一组 DBA 或其他 IT 人员一起工作,讨论可能的解决方案,确保考虑到了所有方面。没有什么比以为问题解决了,却又引发了另一个问题更糟糕的了。和管理层讨论问题可能看起来没有在解决问题,但和同事讨论问题会带来更好、更安全的解决方案,所以不要跳过这一步。
-
制定备用计划
:根据问题的严重程度,为原计划制定一个备用计划。当然,你不可能为每一种可能的失败情况都做好计划,也不应该为此花费太多时间。但重要的是要确保有一个即时的备用计划,这样就不用再把大家召集起来讨论下一步行动了。
-
并行工作
:确定行动计划后,如果可能的话,分配工作。也就是说,将任务分配给多个 DBA,以更快地恢复系统。如果每个人都有可以做的任务,就没有必要让大家都围着一台电脑。
-
有人监督
:在危机中,错误的代价很高。不要做假设,要确保你的行动能成功实现商定的计划。执行错误的操作,如恢复错误的数据库文件,可能会使停机时间加倍,让管理层和客户非常不满。在执行重要流程时,让另一位 DBA 在旁边监督,确保你按照计划行事。这样,你们中的一个人很可能会在损失太多时间之前发现错误。
-
提供状态更新
:在整个灾难处理过程中,要向管理层提供更新。在你了解问题和解决方案之前,不要提供系统恢复的估计时间。总是高估恢复所需的时间。当解决方案出现意外问题时,要向管理层说明对系统恢复时间的影响。(希望你遵循了“应对压力的准备”部分的建议,有良好的统计信息来提供更准确的恢复时间估计。)
-
照顾好自己
:在危机期间,尤其是长时间的危机中,要照顾好自己。尽可能遵循正常的日常习惯。如果你通常会出去吃午饭,那就尽量抽出时间去吃。
以下是处理压力情况的步骤表格:
|步骤|描述|
| ---- | ---- |
|保持冷静|在危机中稳定情绪,增强信心|
|让管理层离开|避免干扰,利于清晰思考|
|明确问题|准确找出问题所在|
|确定解决方案|讨论并制定解决办法|
|制定备用计划|应对可能的失败情况|
|并行工作|分配任务,加快恢复速度|
|有人监督|确保行动按计划进行|
|提供状态更新|及时向管理层汇报情况|
|照顾好自己|保持良好的身体状态|
下面是一个 mermaid 格式流程图,展示处理压力情况的流程:
graph LR
A[危机发生] --> B[保持冷静]
B --> C[让管理层离开]
C --> D[明确问题]
D --> E[确定解决方案]
E --> F[制定备用计划]
F --> G[并行工作]
G --> H[有人监督]
H --> I[提供状态更新]
I --> J[照顾好自己]
J --> K[系统恢复]
成为一名卓越的 DBA 需要在多个方面不断努力,包括掌控目标、打造声誉、超越职责、有效沟通以及在压力下保持冷静。通过遵循这些建议并不断实践,你将在职业生涯中取得更大的成功。
超级会员免费看
63

被折叠的 条评论
为什么被折叠?



