一、實例
一個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 *”不從索引取數,是從表取數,因此會很慢。
新聞熱點
疑難解答