很多開發(fā)人員都想成為一名數(shù)據(jù)庫培訓(xùn),也有很多人一開始就把自己定位成為一名
DBA
,
DBA
究竟需要掌握些什么知識和技能呢
?
以下是我
? ?? ? 做
DBA
工作和面試
DBA
時,整理的一些
DBA
方面的三十個問題,三十個大問題中還有許多小的問題,涵括了
SQL Server 2008 R2
培訓(xùn)比較多的技術(shù)知識點(diǎn),與大家分享下,希望給有志做
DBA
的朋友們一些幫助:
1. char
、
varchar
、
nvarchar
之間的區(qū)別
(
包括用途和空間占用
);xml
類型查找某個節(jié)點(diǎn)的數(shù)據(jù)有哪些方法,哪個效率高
;
使用存儲
過程和使用
T-SQL
查詢數(shù)據(jù)有啥不一樣
;
2.?
系統(tǒng)
DB
有哪些,都有什么作用,需不需要做備份,為什么
;
損壞了如何做還原
(
主要是
master
庫
);
3.?
有哪些操作會使用到
TempDB;
如果
TempDB
異常變大,可能的原因是什么,該如何處理
;
4. Index
有哪些類型,它們的區(qū)別和實(shí)現(xiàn)原理是什么,索引有啥優(yōu)點(diǎn)和缺點(diǎn)
;
如何為
SQL
語句創(chuàng)建合適的索引,索引創(chuàng)建時有哪些需要注意的項,如何查看你創(chuàng)建的索引是否被使用
;
如何維護(hù)索引
;
索引損壞如何檢查,怎么修復(fù)
;T-SQL
有更好的索引存在,但是運(yùn)行時并沒有使用該索引,原因可能是什么
;
5.?
視圖上我們能建索引嗎,如果能建的話,會啥好處和壞處
;
視圖上建索引和表上建索引有啥區(qū)別
;
6. Job
信息我們可以通過哪些表獲取
;
系統(tǒng)正在運(yùn)行的語句可以通過哪些視圖獲取
;
如何獲取某個
T-SQL
語句的
IO
、
Time
等信息
;
7.?
在線系統(tǒng),一個表有五千萬記錄,現(xiàn)在要你將其中的兩千萬條記錄導(dǎo)入到另一臺服務(wù)器的某個表中,導(dǎo)完后,需要將這兩千萬數(shù)據(jù)刪除,你預(yù)備如何處理,優(yōu)缺點(diǎn)是什么
;
8.?
數(shù)據(jù)庫服務(wù)器報磁盤空間不足,你將如何應(yīng)對,要求盡快恢復(fù)
;
9.?
臨時表、表變量、
CTE(
公用表表達(dá)式
)
有啥區(qū)別和聯(lián)系,保存位置有啥不一樣,使用時如何決定選哪種
;
10. SQLServer
有哪些隔離級別,默認(rèn)級別是哪個
;
數(shù)據(jù)庫有哪些主要的鎖類型
;
行版本控制是如何實(shí)現(xiàn)的
;
11.?
死鎖如何跟蹤
;
阻塞如何跟蹤和查找
;
發(fā)現(xiàn)有問題的語句后,如何進(jìn)行處理
;
用
Profile
做跟蹤時,一般我們需要跟蹤哪些事件
;
12. Windows
日志主要有哪幾種,
SQL Server
培訓(xùn)日志一般保留幾個,什么情況下會產(chǎn)生新的
SQL
日志
;
數(shù)據(jù)庫日志恢復(fù)模式有哪幾種,區(qū)別是什么
;
數(shù)據(jù)庫日志突然變得很大,而且你無法收縮,可能的原因是什么,怎么查找原因,分別將如何處理
;
13.?
分區(qū)表和分區(qū)視圖是什么概念,一般是在什么情況下使用,有啥好處
;
14.?
如何比較兩個同結(jié)構(gòu)的表數(shù)據(jù)的差異
;
如果表損壞了,如何修復(fù)
;
如何在備份文件有問題的情況下盡量還原數(shù)據(jù)
;
如何將一個表的
Identity
屬性歸零
;
15. CheckPoint
和
LazyWriter
區(qū)別
;DDL Trigger?
和
?DML Trigger
有啥用,區(qū)別是啥
;
16. Mirroring?
和
Logshipping?
的區(qū)別和使用場景
;SQLServer
的
Mirroring
與
Oracle
的哪像技術(shù)比較接近,它們的區(qū)別是啥
;
17. Mirroring
的搭建步驟,
Mirroring
三種模式區(qū)別,
Mirroring?
中同步和異步的原理和要求,搭建了
Mirroring
后,需要對數(shù)據(jù)庫日志做什么處理
;
18. Replication
配置和使用場景
;Replication
有哪幾種模式
;PUSH
和
PULL
有啥區(qū)別
;
搭建
Replication
后會產(chǎn)生一個什么庫
;
報錯時用什么來查看報錯的具體語句,清理掉某個庫的
Replication
使用什么語句,查看同步鏈信息主要通過哪些表
;
19. Replication
發(fā)布端的表能
truncate
嗎,為什么
;Replication Identity
列如何處理、缺失字段錯誤如何處理、主鍵沖突錯誤如何處理、如何跳過指定的錯誤、訂閱端表被刪除了如何處理、大規(guī)模改動數(shù)據(jù)如何處理
;
某條同步鏈因為其中的某個表一次性改動數(shù)據(jù)很大造成同步鏈的嚴(yán)重延時,要求盡快恢復(fù)同步鏈,如何處理。
20. SSB(Service Broker)
使用場景,如何創(chuàng)建,都會創(chuàng)建些什么對象,有啥優(yōu)缺點(diǎn),主要通過什么方式實(shí)現(xiàn)不同服務(wù)器之間的消息傳遞
;
可以通過哪些方式排錯
;
21.?
跟蹤數(shù)據(jù)庫數(shù)據(jù)的變更有哪些方法,它們
(CDC(Change Data Capture)
、
CT(Change Tracking)
、
Trigger
等
)
使用上的優(yōu)缺點(diǎn)
;
22. SQL
調(diào)優(yōu)步驟,如何來判斷
SQL
語句存在問題,怎么定位問題,如何解決這些問題
;
23.?
數(shù)據(jù)庫故障排查步驟,如何處理緊急數(shù)據(jù)庫問題
;
24.?
如何考慮和制定數(shù)據(jù)庫備份計劃
;
公司要求對一個非常大的數(shù)據(jù)庫或者表做備份,而且要求數(shù)據(jù)量盡可能少丟失,你可能會采用什么方法
;
25.?
如果要你做數(shù)據(jù)庫監(jiān)控,你會關(guān)注那些指標(biāo)
(
包括
SQLServer
和
OCP
培訓(xùn)
)
,如何制定性能基線,你使用過哪些監(jiān)控軟件
;
26.?
數(shù)據(jù)庫遷移步驟
;
重建一套比較大的測試系統(tǒng)
(
最少
10
個數(shù)據(jù)庫實(shí)例
)
,如果原來
DB
數(shù)據(jù)量都不大,但
DB
比較多,新搭建的系統(tǒng)數(shù)據(jù)都不需要,如何快速實(shí)現(xiàn)
;
27.?
創(chuàng)建
Cluster?
簡要步驟,最少需要幾個
IP
,需要安裝些什么服務(wù)
,
需要哪些固定的磁盤,
Raid
如何設(shè)置,磁盤如何劃分
;SQLServerCluster
與
Mysql Cluster?
和
?Oracle RAC
的區(qū)別等
;
28.?
如果遇到一個性能不理想、代碼復(fù)雜的存儲過程,很難通過數(shù)據(jù)庫方面的調(diào)優(yōu)來解決問題,你如何說服開發(fā)人員修改它
(
可能開發(fā)人員并不愿意修改
);
29.?
你有沒有遇到過因為你的誤操作造成系統(tǒng)故障發(fā)生的情況,你當(dāng)時是如何處理的
;
如果沒有,假定你誤刪了一個重要的表,你該如何處理
;
30.?
你準(zhǔn)備成為一名什么樣的
DBA
培訓(xùn),為此你將如何準(zhǔn)備
(
或者你有怎樣的職業(yè)規(guī)劃,準(zhǔn)備怎樣度過你的
DBA
生涯
);
如果你進(jìn)入公司,你最想獲得的是什么。
|