標籤:style blog http color 使用 io 檔案 資料
一、執行個體
一個SQL的服務引擎就是一個SQL執行個體,每裝一次SQL就會產生一次執行個體。
執行個體分為具名執行個體和預設執行個體,一台Windows伺服器可以有多個SQL執行個體,但是只能有一個預設執行個體。
不同的執行個體之間相互不存在幹擾,作業系統出現問題才會影響SQL執行個體。
一台伺服器最多可以擁有50個執行個體。
二、資料庫
資料庫分為系統資料庫和使用者資料庫
系統資料庫有六個,分別為master、msdb、model、tempdb、resource、distribution
resource、distribution一般不顯示,只有特定需要時才會出現
master
是用來存放執行個體級對象:登入名稱、端點、連結的伺服器、執行個體配置
存放資料庫引導資訊,記錄所有資料庫檔案的路徑
一旦損壞,相應的引擎也就起不來了
msdb
是用來存放作業、警報、維護計劃、資料庫郵件的配置和記錄
master和msdb需要定期備份
model
該執行個體建立新資料庫的模板,包含資料庫大小、定序、復原模式、資料庫物件等
用於許可權的控制
tempdb
存放臨時對象或中間結果集
每次重啟服務時自動重建
要求所在磁碟空間足夠、效能良好,可以移動路徑
在建資料庫的時候,最少需要預計三年的資料量,把需要的大小分配給tempdb,這樣可以減少片段,如果有固態硬碟盡量存放在固態硬盤上
tempdb的資料檔案個數最好與CPU的個數相同(微軟建議)
resource
每個執行個體唯一的、唯讀資料庫
存放所有系統對象(sys架構下)
無法使用SQL備份與還原,它是二進位檔案,可以直接複製
distribution
用於複製中的散發者角色中的散發資料庫
例如超市,採用的就是散發資料庫,公司總部有一個資料庫,各個門店有各自的資料庫,在某一個時段或某幾個時段,資料庫之間進行上傳和下載資料
三、架構
架構把對象進行了分組,一個架構是一組資料庫物件的集合。
架構是唯一的,不能重複。
四、SQL Server的資料檔案限制
資料庫檔案儲存的最小單位是頁,一頁有8K,但是每頁只有8060B用於存放資料
8個連續的頁成為一個區,區是用來分配空間的。(建議格式化磁碟時使用64KB/塊)
行不跨頁:一行記錄不允許跨兩頁存放
行不跨頁的例外--大容量的資料類型:
text/ntext/image
varchar(max)/nvarchar(max)/varbinary(max)
xml
SQL2012取消了text/ntext/image這三個欄位類型,因此在建立表的時候需要注意
使用查詢語句時,盡量不要使用“select *”,因為“select *”不從索引取數,是從表取數,因此會很慢。