SQLServer DBA 三十問
很多開發人員都想成為一名DBA,也有很多人一開始就把自己定位成為一名DBA,DBA究竟需要掌握些什麼知識和技能呢?以
下是我做DBA工作和麵試DBA時,整理的一些DBA方面的三十個問題,三十個大問題中還有許多小的問題,涵括了SQLServer
DBA比較多的技術知識點,與大家分享下,希望給有志做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日誌主要有哪幾種,SQLServer日誌一般保留幾個,什麼情況下會產生新的SQL日誌;資料庫日誌恢復模式有哪
幾種,區別是什麼;資料庫日誌突然變得很大,而且你無法收縮,可能的原因是什麼,怎麼查詢原因,分別將如何處理;
13.分割槽表和分割槽檢視是什麼概念,一般是在什麼情況下使用,有啥好處;
14.如何比較兩個同結構的表資料的差異;如果表損壞了,如何修復;如何在備份檔案有問題的情況下儘量還原資料;如何將一
個表的Identity屬性歸零;
15.CheckPoint、LazyWriter和Eager Write的區別和作用;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語句存在問題,怎麼定位問題,如何解決這些問題;Nested Join、Merge Join和Hash
Join的區別;
23.資料庫故障排查步驟,如何處理緊急資料庫問題;
24.如何考慮和制定資料庫備份計劃;公司要求對一個非常大的資料庫或者表做備份,而且要求資料量儘可能少丟失,你可能會
採用什麼方法;
25.如果要你做資料庫監控,你會關注那些指標(包括SQLServer和Windows),如何制定效能基線,你使用過哪些監控軟體;
26.資料庫遷移步驟;重建一套比較大的測試系統(最少10個資料庫例項),如果原來DB資料量都不大,但DB比較多,新搭建的
系統資料都不需要,如何快速實現;
27.建立Cluster簡要步驟,最少需要幾個IP,需要安裝些什麼服務,需要哪些固定的磁碟,Raid如何設定,磁碟如何劃分;
SQLServer Cluster與MySQL Cluster 和 Oracle RAC的區別等;
28.如果遇到一個效能不理想、程式碼複雜的儲存過程,很難透過資料庫方面的調優來解決問題,你如何說服開發人員修改它
(可能開發人員並不願意修改);
29.你有沒有遇到過因為你的誤操作造成系統故障發生的情況,你當時是如何處理的;如果沒有,假定你誤刪了一個重要的表,
你該如何處理;
30.你準備成為一名什麼樣的DBA,為此你將如何準備(或者你有怎樣的職業規劃,準備怎樣度過你的DBA生涯);如果你進入
公司,你最想獲得的是什麼。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22996654/viewspace-2727380/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- sqlserver dba常用的sql語句SQLServer
- dba和sysdba的區別(轉自“三十而立專欄”部落格)
- 面渣逆襲:Java集合連環三十問Java
- SQLServer常見問題SQLServer
- 外網訪問本地sqlserverSQLServer
- Sqlserver分析死鎖問題SQLServer
- 那些日子 三十
- Oracle DBA 問題記錄Oracle
- SQLServer記憶體問題分析SQLServer記憶體
- SQLServer IDENTITY_INSERT問題SQLServerIDE
- 向SQLServer插入單引號問題SQLServer
- 處理SQLServer errorlog滿問題SQLServerError
- sqlServer修復有問題的表SQLServer
- 前端自學三十天前端
- 面試Hadoop DBA的重要問題面試Hadoop
- Sqlserver表統計資訊丟失問題SQLServer
- SQLserver 程式被死鎖問題解決SQLServer
- 使用UDL測試SQLServer連線問題SQLServer
- 安裝sqlserver 2005小問題SQLServer
- sqlserver 賦予許可權的問題SQLServer
- Python學習之旅(三十)Python
- 十月三十日
- SQLServer2008 除錯問題SQLServer除錯
- 10g透明閘道器訪問sqlserverSQLServer
- 把TXT文字匯入SQLServer常見問題SQLServer
- IMP-00013: only a DBA can import a file exported by another DBA 問題及解決方案ImportExport
- 程式設計師的“三十而已”程式設計師
- 【emWin】例程三十:視窗物件——Multiedit物件
- 【DBA】如何通過dba_hist_active_sess_history分析資料庫歷史效能問題資料庫
- Holer實現外網訪問SQLServer資料庫SQLServer資料庫
- SqlServer資料庫中文亂碼問題解決SQLServer資料庫
- Oracle透明閘道器訪問SQLServer資料庫OracleSQLServer資料庫
- SQLServer控制使用者訪問許可權表SQLServer訪問許可權
- dba_segments/dba_extents/dba_tables區別
- lob索引在不同版本dba_objects存在問題索引Object
- 遊戲引擎變革的三十年遊戲引擎
- 三十分鐘拿Git幹活Git
- 三十分鐘 Docker 新手入門Docker