香蕉视频app

香蕉视频appKeep on going never give up.

Let's Go

SQL Server之數據庫存儲結構

SQL ServerLonely2019-05-04 23:28:58104次0條

數據庫的存儲結構分為邏輯存儲結構和物理存儲結構兩種。邏輯存儲結構是指數據庫中包含哪些對象,這些對象可以實現什么樣的功能。物理存儲結構是指數據庫文件是如何存儲在磁盤上的。

數據庫的邏輯存儲結構

香蕉视频app SQL Server的數據庫不僅僅是數據的存儲,所有與數據處理操作相關的信息都存儲在數據庫中。實際上,SQL Server的數據庫是由表、視圖、索引等各種不同的數據庫對象組成的,它們分別用來存儲特定信息并支持特定功能,構成數據庫的邏輯存儲結構。SQL Server中包含的對象以及對各對象的簡要說明如下表格所示。

數據庫對象 說明
由行和列構成的集合,用來存儲數據
數據類型 定義列或變量的數據類型,SQL Server提供了系統數據類型,并允許用戶自定義數據類型。
視圖 由表或其他視圖導出的虛擬表
索引 為數據快速檢索提供支持,且可以保證數據唯一地輔助數據結構。
約束 用于為表中的列定義完整性
默認值 為列提供的默認值
存儲過程 存放在服務器的一組預先編譯好的SQL語句
觸發器 特殊的存儲過程,當用戶表中的數據發生改變時,改存儲過程將自動執行

香蕉视频app 用戶經常需要在SQL中引用SQL Server對象對其進行操作,所引用的對象名就是邏輯名。


數據庫的存儲結構

香蕉视频app SQL Server中的物理存儲結構主要有文件、文件組、頁和盤區等,主要描述SQL Server如何為數據庫分配空間。在創建數據庫時了解SQL Server如何存儲數據也是非常重要的,有助于規劃和分配數據庫的磁盤容量。

香蕉视频app (1)文件

香蕉视频app SQL Server中的每個數據庫都由多個數據文件組成,數據庫的所有數據、對象和數據庫操作日志均存儲在這些操作系統文件中。根據這些文件的作用不同,可以將它們劃分為以下3種。

①、主數據文件:主數據文件簡稱主文件,該文件是數據庫的關鍵文件,包含了數據庫的啟動信息,并且存儲部分或全部數據。每個數據庫必須有且只能有一個主數據文件,其默認擴展名為.mdf。

②、 輔助數據文件:輔助數據文件簡稱輔助文件,用于存儲未包括在主文件內的其他數據。輔助文件的默認護展名為.ndf。香蕉视频app輔助文件是可選的,用戶根據具體情況,可以創建多個輔助文件,也可以不用輔助文件。一般當數據庫很大時,有可能需要創建多個輔助文件當數據庫較小時,只需要創建主文件,不需要創建輔助文件。

③、日志文件:日志文件用于保存恢復數據庫所需的事務日志信息。但在其中記錄的是數據庫的變化,也就是執行INSERT、UPDATE和DELETE等對數據庫進行修改的語句都會記錄在此文件中,而執行SELECT等對數據庫內容不發生更改的語句則不會記錄在該文件中。每個數據庫至少有一個日志文件,也可以有多個。日志文件的擴展名是.ldf,日志文件的大小至少是512KB。

SQL Server不強制使用.mdf、.ndf、和.ldf擴展名,但使用它們有助于標識文件的各種類型和用途。

創建一個數據庫后,該數據庫中至少包含上述主文件和日志文件。這些文件的名字是操作系統文件名,它們不是由用戶直接使用的,而是由系統使用的,用戶直接在SQL語句中使用的是數據庫的邏輯名。例如:Master數據庫,Master為其邏輯名,對應的物理文件名為Master.mdf,其日志文件名為Master.ldf。

香蕉视频app (2)文件組

文件組是為了管理和分配數據的目的而將文件組織在一起,通常可以為個磁盤驅動器創建一個文件組,然后將特定的表、索引等與該文件組相關聯,那么對于這些表的存儲查詢、修改等操作都在該文件組中。使用文件組可以提高表中數據的查詢功能,在SQL Server中有兩種類型的文件組

①、主文件組香蕉视频app:主文件組包含主數據文件和任何沒有明確分配給其他文件組的文件。系統表均分配在主文件組中。

②、用戶定義文件組:用戶定義文件組是通過在CREATE DATABASE或ALTER DATABASE語句中使用FILEGROUP關鍵字指定的任何文件組。

一個文件只能屬于一個文件組,表、索引和大型對象數據可以與指定的文件組相關聯。日志文件不包括在文件組內,日志空間與數據空間分開管理。

每個數據庫中均有一個文件組被指定為默認文件組。如果創建表或索引時未指定文件組,將假定所有頁都從默認文件組分配。注意,一次只能有一個文件組作為默認文件組,用戶可以將默認文件組從一個文件組切換到另一個。如果沒有指定默認文件組,則將主文件組作為默認文件組。

(3)、創建數據庫的參數

前面了解了數據庫文件的組成,接下來認識數據庫中各個參數的含義,以便在創建數據庫時能做出相應的選擇,數據庫參數如下表格所示。

參數名 說明 建議
主文件(主要數據文件)

默認文件名:數據庫名稱.mdf

香蕉视频app 默認路徑:安裝路徑\MSSQL\DATA

存放在非系統磁盤分區中
輔助文件(次要數據文件)

可選

默認文件名:數據庫名稱.ndf

默認路徑:安裝路徑\MSSQL\DATA

保存在與主文件不同的物理磁盤和文件組中
事務日志(日志文件) 默認文件名:數據庫名稱.ldf 有且只有一個,最好與數據文件存放在不同的物理磁盤
大小 指定每個數據文件和日志文件的大小,初始大小與Model數據庫中使用的值相同 啟用“自動增長”
最大值 指定文件可增長的最大值 建議根據硬盤配置和業務數據的具體情況指定最大值
排序規則 指定數據的排序規則 取默認值


小筆記

香蕉视频app 邏輯名:在SQL Server軟件界面中看到的對象名,稱為邏輯名。

物理名:數據庫物理文件的文件名。

香蕉视频app 修改數據庫物理名的方法:

香蕉视频app ①、停止數據庫服務器 -> 修改數據庫物理名 -> 啟動數據服務器 -> 原數據庫節點已失效,刪除 -> 重新附加修改后的數據庫文件,找不到數據文件時要重新定位。

香蕉视频app ②、(推薦此方法)分離數據庫 -> 修改數據庫物理名 -> 重新附加修改后的數據庫文件,找不到數據文件時要重新定位。

修改數據庫物理路徑的方法:(推薦) 分離數據庫 -> 修改數據庫物理路徑 -> 附加數據文件。

生成腳本方法:選擇目標數據庫節點 -> 右鍵選擇“任務”-> 生成腳本(注意腳本路徑保存位置)




暗錨,解決錨點偏移

文章評論

    嘿,來試試登錄吧!