數據庫引擎是由SQL Server提供的核心服務,允許用戶存儲、檢索、處理和保護數據安全。
數據庫引擎服務 使用戶能夠構建高性能的聯機事務處理應用系統和支持聯機分析處理。
存儲引擎 是SQL Server數據庫的“靈魂”,控制著數據在磁盤上的存儲方式和數據被應用程序訪問的方式。
數據庫引擎是一個不會與用戶直接交互的核心部件,它由一些至關重要的存儲和管理數據的部件組成。
存儲引擎管理著基于表和列數據類型定義的數據存儲。
為了便于查詢,使用索引。
使用分區,可以把大表和索引拆分到多個存儲結構中。
使用鎖定和事務管理功能仲裁數據的多用戶訪問,從而確保一致的數據訪問。
為了保護數據免受災難性的丟失,我們可以對數據庫進行完整備份或增量備份,以便通過備份來恢復被損壞的數據。
SQL Server 2008自帶幾個系統數據庫,用于管理數據庫引擎的各個方面:master、model、msdb、tempdb和distribution。
master數據庫包含一個實例中核心對象的信息。
創建一個新的數據庫時,model數據庫被SQL Server用作數據庫模板。
model數據庫的作用是使管理員在創建數據庫時自動創建那些需要加入新數據庫中的對象。
msdb數據庫的核心角色是存儲SQL Server代理執行的任務和調度計劃。
tempdb數據庫是SQL Server通用“擦除”區域。 永遠不要再tempdb里創建任何需要永久存儲的對象,因為實例重啟時,將丟失存儲在tempdb中的全部數據。
當啟用復制特性時,distribution數據庫將在分布設備上被創建。
在數據庫里創建的對象通常指的是數據庫的架構(Schema)。
用于定義數據庫、存儲組件的元素統稱為數據庫結構。
從物理角度看,SQL Server數據庫是操作系統上的一些文件;從邏輯角度看,則是用來對數據庫中的文件進行分組。
支持SQL Server數據庫最常用的文件類型是數據文件和事務日志文件。這些文件的擴展名,主要的文件.mdf、輔助的文件.ndf、事務日志文件.ldf。
數據文件和事務日志文件的幾個屬性:初始文件大小,最大大小,物理文件名,文件增長因子。
SQL Server使用8KB大小的稱為“頁”的存儲段初始化每個文件的內容。每個頁,有一個指定的結構供SQL Server存儲和接收數據。
8個頁組成一個擴展。 64KB的塊,稱為擴展。擴展定義SQL Server存儲引擎用來讀/寫數據的最大粒度I/O塊。
文件組(filegroup),除了擁有一個操作系統文件集的名稱外,沒有任何其他的東西。
可以創建三種類型的文件組:Data(數據)、Full-text(全文)、FILESTREAM(文件流)。
除非使用分區功能,否則表和索引保存的數據不能分散到文件組。
創建文件時,可以設置兩個可選屬性:PRIMARY和DEFAULT。 每個數據庫只能有一個PRIMARY或DEFAULT文件組。指定為PRIMARY的數據庫文件組包含數據庫相關的所有系統對象。
全文文件組,又稱全文目錄。
FILESTREAM文件組是為存儲FILESTREAM數據指定的文件組。
FILESTREAM和數據庫鏡像、數據庫快照不兼容。
創建數據庫的語法。
CREATE DATABASE database_name
[ ON
[PRIMARY]
[<filespec> [,...n] [,<filegroup>[,...n]] [LOG ON { <filespec> [,...n]}] ]
[COLLATE collation_name]
[WITH <external_access_option>]
]
[;]
成功實現的實例:
啟動SSMS,單擊工具欄上的“新建查詢”,輸入以下代碼:
CREATE DATABASE SQL2012SBS ON PRIMARY (NAME = N'SQL2012SBS', FILENAME = N'D:\SQL2012SBS.mdf', SIZE = 5MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10%), FILEGROUP FG1 DEFAULT ( NAME = N'SQL2012SBSFG1_Dat1', FILENAME = N'D:\SQL2012SBS_1.ndf', SIZE = 2MB, MAXSIZE = UNLIMITED, FILEGROWTH = 2MB), (NAME = N'SQL2012SBSFG1_Dat2', FILENAME = N'D:\SQL2012SBS_2.ndf', SIZE = 2MB, MAXSIZE = UNLIMITED, FILEGROWTH = 2MB) LOG ON (NAME = N'SQL2012SBS_Log', FILENAME = N'D:\SQL2012SBS.1df', SIZE = 2MB, MAXSIZE = UNLIMITED, FILEGROWTH = 10MB) GO
保存,執行。刷新對象資源管理器。在“數據庫”目錄下出現SQL2012SBS數據庫。
遷移數據庫:分離(從實例刪除數據庫項,關閉數據庫關聯的所有文件并釋放所有操作系統鎖),附加(在實例中創建一個新數據庫并打開數據庫關聯的所有文件)。
如果在相同服務器的不同目錄間移動文件,可以使用ALTER DATABASE命令。
不能分離數據庫的情況:
(1)數據庫正在參與復制
(2)數據庫正在參與數據庫鏡像
(3)針對數據庫的數據庫快照已經被創建
(4)數據庫處于可疑模式
(5)數據庫是一個系統數據庫
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。