SQL Server DBA三十問

不少開發人員都想成爲一名數據庫管理員,也有不少人一開始就把本身定位成爲一名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生涯);若是你進入公司,你最想得到的是什麼。
相關文章
相關標籤/搜索