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