基本概念
-
主要數據文件(.mdf)
主要數據文件包含數據庫的啓動信息,並指向數據庫中的其他文件,用戶數據和對象可存儲在此文件中,一個數據庫只有一個主數據文件。
主要數據文件由主文件組中的初始數據文件組成。
文件組是經過命名的數據文件集合。包含所有數據庫系統表,以及沒有賦給自定義文件組的對象和數據。主要數據文件是數據庫的起始點,它指向數據庫中的其他文件。每一個數據庫都有一個主要數據文件和一個主文件組,主要數據文件的擴展名是.mdf 。 -
次要數據文件(.ndf)
次要數據文件可選,由用戶定義並存儲用戶數據,主要用與數據分散和保證數據庫持續增長。
次要數據文件,一些數據庫可能因爲太大而需要很多次要數據文件,也可能在多個獨立的磁盤驅動器上使用次要數據文件,以把數據分佈在多個磁盤上。次要數據文件可以放在主文件組中,也可以放在自定義文件組中。次要數據文件的擴展名是.ndf 。 -
事務日誌文件(.ldf)
保存用於恢復數據庫的日誌信息。每個數據庫至少有一個日誌文件。
事務日誌文件Transaction Log File,擴展名爲ldf,它是數據庫結構中非常重要卻又常被忽視的部分。它是用來記錄數據庫更新情況的文件,它可以記錄針對數據庫的任何操作,並將記錄的結果保存到獨立的文件中。對於每一次數據庫更新的過程,事務日誌文件都有非常全面的記錄。根據這些記錄可以恢復數據庫更新前的狀態。
出於性能上的考慮,SQL Server將用戶的改動存入緩存中,這些改變會立即寫入事務日誌,但不會立即寫入數據文件。事物日誌會通過一個標記點來確定某個事物是否已將緩存中的數據寫入數據文件。當SQL Server重啓後,它會查看日誌中最新的標記點,並將這個標記點後面的事物記錄抹去,因爲這些事物記錄並沒有真正的將緩存中的數據寫入數據文件。這可以防止那些中斷的交易修改數據文件。 -
文件組
SQL文件組就是文件的邏輯集合。它的目的是爲了方便數據的管理和分配。文件組可以把指定的文件組合在一起。
在首次創建數據庫,或者以後將更多文件添加到數據庫時,可以創建文件組。但是,一旦將文件添加到數據庫,就不可能再將這些文件移到其它文件組。
一個文件不能是多個文件組的成員。表格、索引以及 text、ntext 和 image 數據可以與特定的文件組相關聯。這意味着它們的所有頁都將從該文件組的文件中分配。
1. 主文件組(PRIMARY)
存放主數據文件和任何沒有明確指定文件組的其他文件。
2. 用戶定義文件組
是在創建或修改數據庫時用FILEGROUP關鍵字定義的文件組,存放輔數據文件。
文件組特性:
(1)一個文件只能屬於一個文件組。
(2)只有數據文件才能歸屬於某個文件組,日誌文件不屬於任何文件組。
(3)每個數據庫中都有一個默認的文件組在運行,可以指定默認文件組,沒有指定的話,則默認爲主文件組。
(4)若沒有用戶定義文件組,則所有的數據文件都存放在主文件組中。
使用SSMS工具創建
- 連接到數據庫
- 在“對象管理器”中右擊“數據庫”,然後選擇“新建數據庫”
- 在“新建數據庫”對話框中,選擇常規選項卡,在數據庫名稱中填入要創建的數據庫名稱,此時會自動創建一個主要數據文件和一個事務日誌文件。邏輯名稱可以自己修改
- 右擊“自動增長/最大大小”列中的“…”設置數據文件增長方式
- 右擊“路徑”列中的“…”設置文件保存路徑
- 完成後,點擊確定按鈕,服務器開始創建數據庫,並可以在“對象資源管理器”窗口中看到創建的數據庫。
- 如果沒有,請刷新數據庫。
使用SQL語言創建
- 在SSMS工具欄中單擊“新建查詢”,打開“SQL編輯器”窗口
- 輸入創建SQL代碼
USE master
IF (EXISTS(SELECT * FROM sysdatabases WHERE name ='schoolDB')) --檢查schoolDB是否存在
DROP DATABASE schoolDB --如果已經存在schoolDB數據庫,則刪除schoolDB
GO
CREATE DATABASE schoolDB --數據庫名爲schoolDB
ON PRIMARY
(
NAME = schoolDB, --主數據文件邏輯名稱
FILENAME = 'E:\school\schoolDB.mdf', --數據文件路徑及物理名稱(E:\school路徑需存在)
SIZE = 5MB, --初始大小
MAXSIZE = UNLIMITED, --最大尺寸
FILEGROWTH = 1MB --自動增長的增量
)
LOG ON
(
NAME = schoolDB_log, --日誌文件邏輯名稱
FILENAME = 'E:\school\schoolDB_log.ldf', --日誌文件路徑及物理名稱(E:\school路徑需存在)
SIZE = 2MB, --初始大小
MAXSIZE = 4MB, --最大尺寸
FILEGROWTH = 10% --自動增長的增量
)
- 點擊“分析”按鈕,或按住Ctrl+F5,對SQL代碼進行語法分析,確保SQL語句語法正確。
- 點擊“執行”按鈕,或按住F5,執行SQL代碼。
- 完成後,點擊確定按鈕,服務器開始創建數據庫,並可以在“對象資源管理器”窗口中看到創建的數據庫。
- 如果沒有,請刷新數據庫。