時(shí)間:2024-02-07 12:09作者:下載吧人氣:23
在SQL Server中,數(shù)據(jù)庫(kù)在硬盤(pán)上的存儲(chǔ)方式和普通文件在Windows中的存儲(chǔ)方式?jīng)]有什么不同,僅僅是幾個(gè)文件而已。SQL Server通過(guò)管理邏輯上的文件組的方式來(lái)管理文件。
SQL Server通過(guò)文件組對(duì)數(shù)據(jù)文件進(jìn)行管理。我們看到的邏輯數(shù)據(jù)庫(kù)由一個(gè)或者多個(gè)文件組構(gòu)成。
結(jié)構(gòu)圖如下:
文件組管理著磁盤(pán)上的文件,文件中存放的就是SQL Server的實(shí)際數(shù)據(jù)。
從用戶的角度來(lái)說(shuō),創(chuàng)建對(duì)象時(shí)需要指定存儲(chǔ)文件組的只有三種數(shù)據(jù)對(duì)象:表,索引和大對(duì)象(LOB)。
使用文件組可以隔離用戶對(duì)文件的依賴(lài),使得用戶僅僅針對(duì)文件組來(lái)建立表和索引,而不用關(guān)心實(shí)際磁盤(pán)中的文件的情況。當(dāng)文件移動(dòng)或修改時(shí),由于用戶建立的表和索引是建立在文件組上的,并不依賴(lài)具體文件,因此SQL Server可以放心的管理文件。
另外,使用文件組的方式來(lái)管理文件,可以使得同一文件組內(nèi)的文件分布在不同的硬盤(pán)中,能夠大大提供IO性能。
SQL Server根據(jù)每個(gè)文件設(shè)置的初始大小和增量值自動(dòng)分配新加入的空間,假設(shè)在同一文件A設(shè)置的大小為文件B的兩倍,新增一個(gè)數(shù)據(jù)占用3頁(yè),則按比例將2頁(yè)分配到文件A中,1頁(yè)分配到文件B中。
上面說(shuō)的集中文件名擴(kuò)展名可以任意修改,推薦使用默認(rèn)的擴(kuò)展名。在SQL Server之后,還新增了文件流數(shù)據(jù)文件和全文索引文件。
通過(guò)sys.database_files系統(tǒng)視圖可以查看SQL Server數(shù)據(jù)庫(kù)中文件的情況。
SELECT name,type_desc,physical_name,state_desc,size,growth
網(wǎng)友評(píng)論