了解一下SQL Server

2021-09-22 19:16:36 字數 2124 閱讀 8706

說實話,我在大學的時候用了下sql server,自從工作以來一直沒有接觸過sql sever,越是不接觸越是排斥,也是不了解越是排斥,所以花點時間了解下自己不熟悉的技術,可能也會有一番收穫。

sqlserver的版本

它最初是由microsoft、sybase和ashton-tate三家公司共同開發的,2023年推出了第乙個os/2版本。2023年,microsoft 推出了sql server 6.5版本;2023年,sql server 7.0版本和使用者見面;sql server 2000是microsoft公司於2023年推出,目前最新版本sql server 2016。

oracle的版本也開始按照這種套路了,9i,10g,11g,12c,下來就是18,因為自2023年起,oracle資料庫的版本號將直接跳公升到18

甘特魔力象限

如果說oracle是最強大的商業資料庫,估計反對的聲音會很少,這些年來oracle一直在這種強大的光環下,但是從近些年的發展來看,sql server的變化也很大,直到去年一看garnter魔力象限,竟然飆到了第一名。

這個象限是通過多個維度來做的乙個結論,所以是綜合的優勢。

db engines的排名

我從db engines拿到了最新的資料庫流行度的排行版,前三甲依舊是oracle,mysql,sql server,從我的片面認識來看,sql server似乎沒有他地位該有的熱度。

而進一步了解一下資料庫產品競爭圖和客戶流向示意圖,就會發現,很多資料庫都在收縮。在我的印象中,sql server在南韓,台灣用的相對比較多。

中間粗粗的一條線就是oracle到mysql。下面這個圖有一點需要補充,那麼就是oracle到sql server,微軟已經推出了linux平台的資料庫版本服務,這對於azure的發展可謂是如虎添翼,而且微軟算是投入了大量的人力財力來稀釋oracle的市場占有率。他們推出了sql server遷移到oracle免費的策略,除了免費的sql server許可外,微軟還提供了免費的sql server技術培訓以及用於抵消遷移部署成本的補償金。當然這個政策有一定的時效性。

mvp

微軟在社群方面也花了很大的精力,他們的社群專家是被稱為mvp,是通過評選獲得的,整個的參選標準和oracle的ace有點像,得到榮譽之後也會傳送獎盃之類的。

安裝型別

sql server的安裝型別比較多,有企業版,標準版,個人版,開發版,企業評估版等。估計還有些沒有整理細緻,從版本的**來看,比oracle略低,版本間有一定的梯度**。

oracle的版本相對要少一些,企業版,標準版,還有個中間版本,版本的不同就是元件的差別了。比如adg,rac,partition這些都是企業版的。

mysql在這方面的差別更明顯,商業版,社群版,分支(mariadb,percona,drizzle...),除了商業版有個基本的費用外,其他都免費,還開源,當然這麼比就不公平了,畢竟是商業資料庫和開源資料庫。

體系結構

學習乙個資料庫,看看它的體系結構設計尤其重要。這是我找到的乙個體繫結構圖。

整體來看,資料庫引擎是分為了下面四個部分。

隔離級別

sql server有下面的5種事務隔離級別,比平常我們所說的多了一種:快照。

備份恢復

這方面的工作,如果手工去做,通過圖形介面就能夠完成,這一點上很多資料庫都達不到sql server這種易用性和使用者體驗。當然大批量的環境應該得用指令碼實現。

看了下sql server create database的語句,和oracle很想,有些資料字典也會很類似。比如裡面也有information_schema,還有sys等。

了解了解一下SQLSERVER裡的鬼影記錄

鬼影記錄也叫 幻影記錄 虛影記錄 英文名叫 ghost record 關於 truncate table有沒有使用鬼影記錄的 會出現鬼影記錄的兩種情況 1 聚集索引表 2 使用了快照隔離級別的堆表 為什麼在聚集索引的表裡會出現鬼影記錄,大家知道有聚集索引的表,裡面資料頁會用雙向鍊錶連線起來,如果馬上...

了解一下NTLM

ntlm 在客戶機與伺服器之間提供身份認證的安全包。ntlm 身份驗證協議 是 質詢 應答身份驗證協議,是windows nt 4.0 及其早期版本中用於網路身份驗證的預設協議。windows 2000 中仍然支援該協議,但它不再是預設的。ntlm身份驗證過程 ntlm 是用於 windows nt...

了解一下 display flex

一 display flex flex 是flexuble box的縮寫,意為 彈性盒子 用來為盒狀模型提供最大的靈活性.任何乙個容器都可以指定為flex布局.box 行內元素也可以使用flex布局.box webkit核心的瀏覽器,必須加上 webkit box 注意為父級設計flex布局以後,子...