[SQL上課筆記]維護資料庫_1
將上課筆記整理一下
Instant name
Default Instant
同電腦名稱(computer name)
Name Instant
安裝時輸入
格式:連線字串\Instant
SQL server架構
由內而外
object→schema→DB→SQL Server
資料庫架構
Storage Engine:存放資料
Relation Engine:語法、語意
BIDS(Business Intelligence Development Studio)
資料庫狀態
服務暫停(pause):禁止新的使用者登入
版本問題
Express:不能透過TCP/IP連線,要做額外設定,最多10G空間可使用
PORT
Sql server:1433
Browser Services:1434
別名(Alias)
少用;因為都記在登錄檔中,移機會有問題
Subtree Cost = CPU使用量 + Disk I/O
Hyper Threading
用於大量的OLTP,如果有大量運算,建議停用(例如DW/DSS/OLAP等狀況)
安裝32bit SQL Server
風險:不可以設定於cluster環境
記憶體
最佳狀況:記憶體大於硬碟(所有資料都可以載入到記憶體,省去Disk I/O時間)
測試工具
SQLIOSIM:完整性測試
SQLIO:Disk I/O測試
安裝規劃
程式跟磁碟規劃都要注意
作業系統使用64位元
Tempdb的分散式交易要勾選
安裝項目
只灌Database Engine Service就可以運行了
本機(開發機)可裝管理工具及SSIS
Service Account
最小權限原則(least privileges)
帳號:網域使用者(預設使用NT AUTHORITY\SYSTEM)或者本機使用帳號
安裝後新建帳號;重新加入群組
定序(Collate)
可以分成SQL Server、DB、column三種層級
在Server Level全企業要統一
升級
就地升級
異地升級(推薦)
資料庫檔案
至少一個data file及一個log file
多個data file常用於大系統
交易log(Transaction log)
用於復原(recovery),會增加Disk I/O
File STREAM(資料類別)
大資料使用(>2GB),無法使用圖形介面進行資料庫搬移。
效能調教
Data file及Log file不要在同一顆硬碟上
使用合適的RAID(1 or 1+0)
使用單一的Log file
把tempdb放在不同硬碟(tempdb要置於高轉速的裝置上)
根據核心數使用Multi thread
為每一個核心設定一個Data file
磁碟空間規劃
一開始給足夠的空間,越大越好
盡量不要自動成長(自動成長視為保護措施)
Data file與Log file大小約四比一
System Table
master:存放system level的物件,毀損的話SQL server無法啟動,記得定期備份
MSDB:自動化排程
model:存放範本
tempdb:建立temp table或者啟動trigger等情況會使用,server重啟時會清空內容,預設為8MB
ressource:公用程式,read only,可以做搬移動作
db屬性頁籤
Page Verify:頁面檢查,資料庫升級時要調整為CHECHSUM
AUTO CLOSE:在連線完畢後會將資料庫關閉
預設為false
當設為true時,會有下列缺點
A. Connection pooling失效
B. EvenLog寫入量增加
C. Log file會成長
優點:節省資源
AUTO Shrink:要設定為false,Shrink要於離峰時做 (並無壓縮功能)
檔案快速初始化
將Data file設大,log file設定小一點
DBCC SHRINKDATABASE
RATE = USED / (USED+FREE)
SERVER NAME
錯誤會導致SSIS等作業失敗