250 likes | 402 Views
第六章 : 建立資料庫. 章節概覽. 6.1 資料庫的組成 6.2 利用 Enterprise Manager 建立資料庫 6.3 以 SQL 指令建立資料庫 6.4 修改資料庫的選項與設定 6.5 刪除資料庫 6.6 卸離與附加資料庫. MDF. 檔. 資料庫. LDF. 檔. 6.1 資料庫的組成. SQL Server 2000 資料庫的構成架構. MDF : Main Data File LDF : Log Data File. 建立資料庫前的規劃. 規劃資料庫的容量
E N D
章節概覽 6.1 資料庫的組成 6.2 利用Enterprise Manager建立資料庫 6.3 以 SQL指令建立資料庫 6.4 修改資料庫的選項與設定 6.5 刪除資料庫 6.6 卸離與附加資料庫
MDF 檔 資料庫 LDF 檔 6.1 資料庫的組成 • SQL Server 2000資料庫的構成架構 MDF : Main Data File LDF : Log Data File
建立資料庫前的規劃 • 規劃資料庫的容量 • 設定使用者對於資料庫的使用權限(資料庫擁有者 dbo , Database Owner) • 定期備份資料庫的資料 • 了解資料庫建立的目的,以及建立資料庫的種類與如何使用資料庫的資料 Data Information Knowledge
6.2 利用Enterprise Manager 建立資料庫 6.2.1 系統資料庫 • master 資料庫(系統資料庫 ) • model資料庫(系統資料庫 ) • msdb資料庫(系統資料庫 ) • tempdb資料庫(系統資料庫 ) • Northwind資料庫(for user) • pubs資料庫(for user)
(1). master 資料庫 • 記錄了 SQL Server 系統的所有系統層級資訊 • 所有的登入帳戶與所有的系統組態設定,鎖定狀態 • 所有其他資料庫的存在狀態,以及包含使用者資料庫初始化資訊的主要檔案位置 • 注意:一定有最近的 master 備份
(2). model 資料庫 • 可作為建立於系統中的所有資料庫範本 • 當您提出 CREATE DATABASE 陳述式時,資料庫的第一部份將透過複製 model 資料庫的內容來建立,接著再將新資料庫的其他部分填入空白頁。
(3). msdb 資料庫 • 由「SQL Server 代理程式」用來排程警示與作業,並記錄運算子等用途。
(4). Tempdb資料庫 • 包含了所有的暫存資料表與暫存的預存程序。例如: SQL Server 所產生的工作資料表 • 連線至系統的所有使用者之暫存資料表與預存程序都儲存於此 • 每次 SQL Server 啟動時,tempdb 都會重新建立,以便讓系統從一個初始狀態的資料庫副本開始執行 • 依預設值,在 SQL Server 執行時,tempdb 會視需要自動成長。 但是它與其他資料庫不同,每次重新啟動資料庫引擎時,它都會重設回初始大小。 如果為 tempdb 定義的大小太小,每次重新 SQL Server 時,為了將 tempdb 自動成長到支援工作負載所需的大小,系統處理負載會被這些工作佔用。 使用 ALTER DATABASE 增加 tempdb 的大小,就可以避免這個附加性。
建立資料庫所需設定的屬性 • 檔案名稱 • 位置(MDF , LDF 可置於不同硬碟中) • 初始大小 • 檔案自動成長 • 限制檔案成長
6.3.3 利用CREATE DATABASE建立資料庫 6.3 以SQL指令建立資料庫 CREATE DATABASE discuss GO
CREATE DATABASE 完整語法: CREATE DATABASE database_name [ ON [ < filespec > [ ,...n ] ] [ , < filegroup > [ ,...n ] ] ] [ LOG ON { < filespec > [ ,...n ] } ] [ COLLATE collation_name ][ FOR LOAD | FOR ATTACH ] < filespec > ::= [ PRIMARY ]( [ NAME = logical_file_name , ] FILENAME = 'os_file_name' [ , SIZE = size ] [ , MAXSIZE = { max_size | UNLIMITED } ] [ , FILEGROWTH = growth_increment ] ) [ ,...n ] < filegroup > ::= FILEGROUP filegroup_name < filespec > [ ,...n ]
建立資料庫所需設定的屬性 • NAME • FILENAME • SIZE • MAXSIZE • FILEGROWTH
6.3.4 一個資料庫有多個資料檔(第2個為 .NDF) • 可以在SQL指令中再指定一個檔案 • 效能的瓶頸會降到最低 • 利用檔案群組指定資料存放的地點 • 參考:範例6.9 注意:D-DISK 目錄應先建立OK
6.3.5 設定資料庫的編碼排序方式 • Collation • Case Sensitive (CS) • Accent Sensitive (AS) • Kana Sensitive • Width Sensitive
6.3.6 設定資料庫的檔案群組 • 利用檔案群組指定某個資料表是儲存在哪一個檔案中
6.4 修改資料庫的選項與設定(Enterprise Manager) 6.4.1 利用EM • 限制存取 • 唯讀 • 模型 • 自動關閉
6.4.2 修改資料庫的選項與設定(Query Analyzer) exec sp_dboption pubs SELECT DATABASEPROPERTYEX('Northwind', 'Collation') EXEC sp_dboption 'pubs', 'read only', 'FALSE'
6.5 刪除資料庫 • 先確認資料庫有無連線 • 利用kill將連線清除 • DROP DATABASE 資料庫名稱 將資料庫刪除
6.6卸離資料庫(Detach)與附加資料庫(Attach) 卸離資料庫(Detach) • 將資料庫定義從master中移除 • 資料檔案還是存在
附加資料庫(Attach) • 將資料庫定義從master中加入 • 將資料檔案附加進來
本章學習成果 • 要新增資料到資料庫之前,必須先建立資料庫 • 資料庫設定,可以設定其初始資料 • 每個資料庫可以設定獨立的編碼排序方式 • 一個資料庫可以有多個資料檔,也可以有多個檔案群組 • 刪除資料庫與卸離資料庫的不同