[SQL上課筆記]維護資料庫_1

  • 4951
  • 0
  • SQL
  • 2012-08-15

[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等作業失敗