很多开发人员都想成为一名数据库培训,也有很多人一开始就把自己定位成为一名
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
生涯
);
如果你进入公司,你最想获得的是什么。
|