SQL SERVER基礎知識,掌握超過15項,可以算是基礎比較好的了,月薪能過萬了。
1.tempdb和master資料庫無法刪除或者關閉
2.tempdb無法被還原,master資料庫必須以單使用者模式啟動整個伺服器才能還原
3.元資料包括資訊架構檢視、系統函式、動態管理檢視、複製檢視、系統檢視、系統儲存過程、目錄檢視,相容性檢視
4.應用程式和資料庫引擎進行通訊的協議有Shared Memory、Named Pipes、TCP/IP和Virtual Interface Adapter(VIA)
5.協議層公開的API使用Microsoft定義的TDS(表格格式資料流)包格式進行通訊
6.查詢處理器包括命令解析器和查詢優化器
7.查詢優化器基於記憶體需求、CPU使用率和IO數量來選擇代價最小的執行計劃
8.查詢優化器根據請求語句型別,表中資料量,索引,資料值統計來優化
9.對於複雜請求,優化器不會窮舉所有執行計劃(那將過於耗時),只找比較合適的,肯定比簡單執行效能要好
10.儲存引擎包括訪問API,事務管理,鎖管理和其他特殊操作(比如DBCC,全文索引填充,備份和還原等)
11.事務的隔離級別:未提交讀,已提交讀,可重複讀和序列化,SQL SERVER 2008增加了快照隔離級別
12.事務用來解決併發問題(有點廢話),如何避免更新丟失,髒讀,不可重複讀和幻讀需要了解隔離級別
13.預設的隔離級別是已提交讀
14.預設隔離級別,事務如果在開始的SELECT語句中,為指定鎖型別,則系統預設給共享鎖,語句執行完,鎖釋放
15.預設隔離級別(已提交讀),不能避免不可重複讀和幻讀,所以如果有必要,在SELECT語句中指定獨佔鎖(XLOCK),這樣能保證到事務提交後,才釋放鎖
16.指定可重複讀隔離級別,共享鎖也會持續到事務提交,不會在語句執行之後就釋放
17.鎖模式包括共享鎖(S),更新鎖(U),獨佔鎖(X),意向鎖(I),特殊模式(架構穩定鎖,架構修改鎖,大容量更新鎖等),轉換鎖,鍵鎖。
18.如果在一個有主鍵的表上,更新一條資料,會有3個鎖,表級別的共享鎖、頁級別的共享鎖、該條資料主鍵的獨佔鎖而不是行級別的鎖(查詢sys.dm_tran_locks可見)
19.鎖粒度,可在表,頁,行,鍵等級別鎖定使用者資料,系統資源使用閂鎖
20.資料量增加,表需要增加容量時,會用到擴充套件鎖。