SQL Server DBA三十问 能回答出80%的200分

guanjm 2011-11-11 08:37:34
加精
很多开发人员都想成为一名数据库管理员,也有很多人一开始就把自己定位成为一名DBA,DBA究竟需要掌握些什么知识和技能呢?以下是我

做DBA工作和面试DBA时,整理的一些DBA方面的三十个问题,三十个大问题中还有许多小的问题,涵括了SQL Server 2008 R2培训比较多的技术知识点,与大家分享下,希望给有志做DBA的朋友们一些帮助:

1. char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储

过程和使用T-SQL查询数据有啥不一样;

2. 系统DB有哪些,都有什么作用,需不需要做备份,为什么;损坏了如何做还原(主要是master库);

3. 有哪些操作会使用到TempDB;如果TempDB异常变大,可能的原因是什么,该如何处理;

4. Index有哪些类型,它们的区别和实现原理是什么,索引有啥优点和缺点;如何为SQL语句创建合适的索引,索引创建时有哪些需要注意的项,如何查看你创建的索引是否被使用;如何维护索引;索引损坏如何检查,怎么修复;T-SQL有更好的索引存在,但是运行时并没有使用该索引,原因可能是什么;

5. 视图上我们能建索引吗,如果能建的话,会啥好处和坏处;视图上建索引和表上建索引有啥区别;

6. Job信息我们可以通过哪些表获取;系统正在运行的语句可以通过哪些视图获取;如何获取某个T-SQL语句的IO、Time等信息;

7. 在线系统,一个表有五千万记录,现在要你将其中的两千万条记录导入到另一台服务器的某个表中,导完后,需要将这两千万数据删除,你预备如何处理,优缺点是什么;

8. 数据库服务器报磁盘空间不足,你将如何应对,要求尽快恢复;

9. 临时表、表变量、CTE(公用表表达式)有啥区别和联系,保存位置有啥不一样,使用时如何决定选哪种;

10. SQLServer有哪些隔离级别,默认级别是哪个;数据库有哪些主要的锁类型;行版本控制是如何实现的;

11. 死锁如何跟踪;阻塞如何跟踪和查找;发现有问题的语句后,如何进行处理;用Profile做跟踪时,一般我们需要跟踪哪些事件;

12. Windows日志主要有哪几种,SQL Server培训日志一般保留几个,什么情况下会产生新的SQL日志;数据库日志恢复模式有哪几种,区别是什么;数据库日志突然变得很大,而且你无法收缩,可能的原因是什么,怎么查找原因,分别将如何处理;

13. 分区表和分区视图是什么概念,一般是在什么情况下使用,有啥好处;

14. 如何比较两个同结构的表数据的差异;如果表损坏了,如何修复;如何在备份文件有问题的情况下尽量还原数据;如何将一个表的Identity属性归零;

15. CheckPoint和LazyWriter区别;DDL Trigger 和 DML Trigger有啥用,区别是啥;

16. Mirroring 和Logshipping 的区别和使用场景;SQLServer的Mirroring与Oracle的哪像技术比较接近,它们的区别是啥;

17. Mirroring的搭建步骤,Mirroring三种模式区别,Mirroring 中同步和异步的原理和要求,搭建了Mirroring后,需要对数据库日志做什么处理;

18. Replication配置和使用场景;Replication有哪几种模式;PUSH和PULL有啥区别;搭建Replication后会产生一个什么库;报错时用什么来查看报错的具体语句,清理掉某个库的Replication使用什么语句,查看同步链信息主要通过哪些表;

19. Replication发布端的表能truncate吗,为什么;Replication Identity列如何处理、缺失字段错误如何处理、主键冲突错误如何处理、如何跳过指定的错误、订阅端表被删除了如何处理、大规模改动数据如何处理;某条同步链因为其中的某个表一次性改动数据很大造成同步链的严重延时,要求尽快恢复同步链,如何处理。

20. SSB(Service Broker)使用场景,如何创建,都会创建些什么对象,有啥优缺点,主要通过什么方式实现不同服务器之间的消息传递;可以通过哪些方式排错;

21. 跟踪数据库数据的变更有哪些方法,它们(CDC(Change Data Capture)、CT(Change Tracking)、Trigger等)使用上的优缺点;

22. SQL调优步骤,如何来判断SQL语句存在问题,怎么定位问题,如何解决这些问题;

23. 数据库故障排查步骤,如何处理紧急数据库问题;

24. 如何考虑和制定数据库备份计划;公司要求对一个非常大的数据库或者表做备份,而且要求数据量尽可能少丢失,你可能会采用什么方法;

25. 如果要你做数据库监控,你会关注那些指标(包括SQLServer和OCP培训),如何制定性能基线,你使用过哪些监控软件;

26. 数据库迁移步骤;重建一套比较大的测试系统(最少10个数据库实例),如果原来DB数据量都不大,但DB比较多,新搭建的系统数据都不需要,如何快速实现;

27. 创建Cluster 简要步骤,最少需要几个IP,需要安装些什么服务,需要哪些固定的磁盘,Raid如何设置,磁盘如何划分;SQLServerCluster与Mysql Cluster 和 Oracle RAC的区别等;

28. 如果遇到一个性能不理想、代码复杂的存储过程,很难通过数据库方面的调优来解决问题,你如何说服开发人员修改它(可能开发人员并不愿意修改);

29. 你有没有遇到过因为你的误操作造成系统故障发生的情况,你当时是如何处理的;如果没有,假定你误删了一个重要的表,你该如何处理;

30. 你准备成为一名什么样的DBA培训,为此你将如何准备(或者你有怎样的职业规划,准备怎样度过你的DBA生涯);如果你进入公司,你最想获得的是什么。
...全文
13676 236 打赏 收藏 转发到动态 举报
写回复
用AI写文章
236 条回复
切换为时间正序
请发表友善的回复…
发表回复
刘兄弟 2013-04-16
  • 打赏
  • 举报
回复
引用 309 楼 di74jun 的回复:
29.我还真有过类似的经历,就是把100多万的数据给弄没了,当时脸都绿了,幸亏是测试库,呵呵,时间点还原了。 先备份,再处理 理论上是这样 但是在实际工作中,那个表上竟然有出发器! 而且我还是在运行中做的(大量用户在线)! 只好凭业务熟悉,从其他表中“计算”回这批记录
嗯之前我们领导刚学会SQL很牛逼的 在业务系统里面修改,结果一部小心,,删除了30W的保费...哈哈哈 大家脸都绿了.当然后来恢复了.
---涛声依旧--- 2013-04-16
  • 打赏
  • 举报
回复
引用 303 楼 seusoftware 的回复:
早就有答案了,可参考: http://wenku.baidu.com/view/c91f497c168884868762d609.html
不是标准答案哦。期待楼主的标准答案
brucetong 2013-03-27
  • 打赏
  • 举报
回复
学习啦!谢谢!
dyf0130 2013-03-26
  • 打赏
  • 举报
回复
 29.我还真有过类似的经历,就是把100多万的数据给弄没了,当时脸都绿了,幸亏是测试库,呵呵,时间点还原了。 先备份,再处理 理论上是这样 但是在实际工作中,那个表上竟然有出发器! 而且我还是在运行中做的(大量用户在线)! 只好凭业务熟悉,从其他表中“计算”回这批记录
hyde100 2013-03-25
  • 打赏
  • 举报
回复
关注下,慢慢解。。。
  • 打赏
  • 举报
回复
引用 303 楼 seusoftware 的回复:
早就有答案了,可参考: http://wenku.baidu.com/view/c91f497c168884868762d609.html
多谢提醒, 我看了一下那个文档,其实也就是原帖中那位朋友回答的,除了几个没有回答的之外,错误的,答非所问的,或者答的比较不详细的占了多数。
menggang9801 2013-03-24
  • 打赏
  • 举报
回复
这个很难,估计没有一个人能做出来
hgwyl 2013-03-23
  • 打赏
  • 举报
回复
下面8个问题,每个问题可以回答一般。 严重不及格,收藏一下,以后回来看答案。 ------------------------------------ 1. char、varchar、nvarchar之间的区别(包括用途和空间占用);xml类型查找某个节点的数据有哪些方法,哪个效率高;使用存储 过程和使用T-SQL查询数据有啥不一样; 4. Index有哪些类型,它们的区别和实现原理是什么,索引有啥优点和缺点;如何为SQL语句创建合适的索引,索引创建时有哪些需要注意的项,如何查看你创建的索引是否被使用;如何维护索引;索引损坏如何检查,怎么修复;T-SQL有更好的索引存在,但是运行时并没有使用该索引,原因可能是什么; 5. 视图上我们能建索引吗,如果能建的话,会啥好处和坏处;视图上建索引和表上建索引有啥区别; 7. 在线系统,一个表有五千万记录,现在要你将其中的两千万条记录导入到另一台服务器的某个表中,导完后,需要将这两千万数据删除,你预备如何处理,优缺点是什么; 8. 数据库服务器报磁盘空间不足,你将如何应对,要求尽快恢复; 22. SQL调优步骤,如何来判断SQL语句存在问题,怎么定位问题,如何解决这些问题; 24. 如何考虑和制定数据库备份计划;公司要求对一个非常大的数据库或者表做备份,而且要求数据量尽可能少丢失,你可能会采用什么方法; 29. 你有没有遇到过因为你的误操作造成系统故障发生的情况,你当时是如何处理的;如果没有,假定你误删了一个重要的表,你该如何处理; -----------------------------------
KevinLiu 2013-03-23
  • 打赏
  • 举报
回复
呵呵 这些确实是基本理论,大牛都可以答得上来。
seusoftware 2013-03-23
  • 打赏
  • 举报
回复
早就有答案了,可参考: http://wenku.baidu.com/view/c91f497c168884868762d609.html
  • 打赏
  • 举报
回复
大家对这个贴子感兴趣不?我准备challenge上面的问题也
dance_lonely 2013-03-01
  • 打赏
  • 举报
回复
白卷 mark
sd722522 2013-03-01
  • 打赏
  • 举报
回复
要是这个面试题出出来 貌似就不是DBA了
xiaoxiangqing 2012-12-14
  • 打赏
  • 举报
回复
问题比较复杂
山城忙碌人 2012-12-14
  • 打赏
  • 举报
回复
非常不错,收藏到!!!!!!!!
sqlkxr 2012-12-14
  • 打赏
  • 举报
回复
靠,真是放到一大片。哥不会。这是培训机构在忽悠人把
ALLEN548 2012-12-14
  • 打赏
  • 举报
回复
刚上完一学期的SQL课程,没多少会的呢!路途漫漫啊……
-Tracy-McGrady- 2012-09-25
  • 打赏
  • 举报
回复
太生猛了实在是
newtee 2012-09-25
  • 打赏
  • 举报
回复
太坑爹了 刚学SQL Server
ggf101 2012-09-25
  • 打赏
  • 举报
回复
原文在这: http://www.sweiku.com/author/fygh
加载更多回复(216)

34,597

社区成员

发帖
与我相关
我的任务
社区描述
MS-SQL Server相关内容讨论专区
社区管理员
  • 基础类社区
  • 二月十六
  • 卖水果的net
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧