sqlserver中檔案組Filegroup的使用

2021-07-09 12:05:18 字數 4691 閱讀 3698

**:

資料庫的操作:

1. 對資料檔案的操作(新增,刪除,修改檔案的初始大小,最大大小,步長)

2. 資料庫檔案的收縮

3. 資料庫的唯讀/讀寫 

read_only唯讀 

read_write可讀寫 

read_only表示唯讀  read_write表示可讀可寫

4. 資料庫的限制訪問(單使用者,多使用者,限制使用者模式)

5.資料庫離線/聯機 

offline  離線 alter database love set offline 

online 聯機 

alter database love set online

6. 資料庫附加/分離。  sp_attach_db  附加  sp_detach_db 分離  附加 sp_attach_db 分離 sp_detach_db 

offline 離線 online 聯機

檔案組:

檔案組:對資料檔案的管理單元,即檔案的集合、

檔案組的優勢。

1. 對檔案的管理,分類管理(將所有存放財務的資料放在乙個檔案組中,也可以所有關於人事的資料放在乙個檔案組).

2. 檔案組增加資料讀寫的速度。

特點:

1. 乙個資料庫至少乙個檔案組,當資料庫建立成功後,將自動建立檔案組(primary檔案組).

2. 檔案組只能存放資料檔案(mdf,ndf),ldf檔案不能放入到檔案組中.

3. 一旦檔案加入到檔案組,不能切換檔案組了。

檔案組的型別

1. 主檔案組--無法刪除。

1. primary 檔案組

2. 系統建立的.

3.  存放兩種型別的檔案

1. 資料庫mdf檔案.

2. 存放沒有單獨指定檔案組的檔案,在新增ndf檔案時,如果沒有指定檔案組,檔案預設存放的檔案組.---資料庫中檔案必須放在檔案組中。

因為:資料庫---檔案組--檔案。

2. 使用者自定義檔案組

1. 使用者建立的.

2. 存放:當新增ndf檔案時,明確指定檔案組的檔案.

3. 可以刪除。

檔案組是乙個或多個檔案的集合,是構成分配和資料管理的單個邏輯單元(是sqlserver中對多個物理資料檔案的管理單位)

sql伺服器包括主檔案組(系統自動建立的)和其他使用者自定義的檔案組

主檔案組包括系統表的主資料檔案(primary),他包括所有資料庫中的系統表,以及所有沒有在使用者自定義的檔案組中所指定的物件和資料, 乙個資料庫只有乙個主檔案組

使用者自定義檔案組包括出於分配和管理目的而分組的資料檔案(ndf)

事務日誌檔案不能存放在任意乙個檔案組中

重點

檔案組允許對檔案進行分組,以便於管理和資料的分配/放置。例如,可以分別在三個硬碟驅動器上建立三個檔案(data1.ndf、data2.ndf 和 data3.ndf),並將這三個檔案指派到檔案組 fgroup1 中。然後,可以明確地在檔案組 fgroup1 上建立乙個表。對錶中資料的查詢將分散到三個磁碟上,因而效能得以提高。

如果檔案組是由在不同物理磁碟中展開的多個檔案組成,而且每個磁碟都有自己的磁碟控制器,則對錶中資料的查詢將在這些磁碟中展開,從而提高查詢效能

問題:1. 如何檢視資料庫中所有的檔案組。

語法:sp_helpfilegroup

步驟:use 資料庫

sp_helpfilegroup

2. 如何找到檔案組和檔案的對應情況.

sp_helpdb love

建立檔案組。

語法: alter database 資料庫名 add filegroup 檔案組名

步驟: use 資料庫名

alter database  資料庫名  add filegroup 檔案組名

範例:use love

alter database love add filegroup 財務部

將檔案放入到檔案組中

語法: alter database 資料庫名 add file(name='***',filename='檔案的物理路徑',

size='初始大小',maxsize="最大大小',filegrowth=步長) 

--新增檔案,並且將檔案放入到預設檔案組(primary檔案組)

alter database love

add file

(name='love_n1',filename='c:\love_n1.ndf')

alter database 資料庫名 add file(name='***',filename='檔案的物理路徑',

size='初始大小',maxsize="最大大小',filegrowth=步長)  to filegroup 檔案組名

alter database love

add file

(name='love_n2',filename='c:\love_n2.ndf')

to filegroup 財務部

資料-->primary-->love檔案和love_n1

資料-->財務部-->love_n2

問題:資料如何放入到檔案組中。

資料庫中利用表儲存和處理資料

資料--表-->檔案組--資料檔案

指定表和檔案組的關係

語法: create table 表名(******) on 檔案組

步驟: use 資料庫

create table語法 on  表名

範例:create table renshi(id int not null,

name varchar(50) not null, salary money not null)

on 財務部

1。建立資料庫(nnn),如果存在,先刪除,再建立. 

2.  向資料庫nnn新增檔案組(f1)

3.  向資料庫nnn新增檔案,並且放在f1中。

4. 查詢檔案組f1中的檔案情況.

5. 建立表,並制定放置f1中。

6. 查詢表和檔案組的關係。

範例:create database nnn

use nnn

alter database nnn add filegroup f1

alter database nnn add file(name='kk',filename='d:\kk.ndf') to filegroup f1

sp_helpfilegroup f1

create table renshi(id int not null,

name varchar(50) not null, salary money not null) on f1

sp_help renshi

刪除檔案組。

語法: alter database 資料庫名  remove filegroup 檔案組名

注意: 1. 刪除所有放置在檔案組中的表

2. 刪除檔案組中檔案

sp_helpdb 資料庫名

3. 刪除檔案組

範例:drop table renshi

alter database love remove file love_n2

alter database love remove filegroup 財務部

在這裡我申明一下 對於檔案組來說: 對檔案組的使用方法一定要步驟來實施,不然到時候刪除回出錯的,步驟如下:首先建立乙個檔案組然後建立乙個輔助資料庫檔案

ndf 到檔案組當中 然後建立乙個表放到檔案組的裡面簡寫步驟就是: 檔案組 ----> 檔案(ndf)------表》

然後在刪除的時候與建立的時候恰好相反 簡寫步驟是: 表--》檔案---》檔案組 記住千萬不要搞錯了哈!!不然刪除的時候就會出現很多麻煩的啦!!!

問題:返回當前資料庫中所有的表和檔案組的對應關係。--查幫助文件。

建立表時,必須人工指定檔案組,否則,預設放在primary檔案組

假設,將所有建立的表都放置使用者自定義檔案組

問題:每次建立表時,必須人工指定,否則到primary檔案組,如果建立時,忘記設定,則必須刪除表,重新建立

資料庫的預設檔案組

預設檔案組:在建立表時,不指定檔案組,即表預設屬於的檔案組,預設情況下,primary檔案組為資料庫的預設檔案組.

修改資料庫的預設檔案組:

語法:alter database 資料庫名  modify filegroup 檔案組名  default

步驟: use 資料庫名

alter database語法:

注意:設定為預設檔案組的檔案組中必須包含至少乙個檔案。

範例:alter database love

add filegroup 人事部

alter database love

add file

(name='love_n2',filename='c:\love_n2.ndf')

to filegroup 人事部

use love

alter database love modify filegroup 人事部 default

create table renshi

(id int,name varchar(50))

sp_help renshi

SQL Server 檔案和檔案組

在sql server中,資料庫在硬碟上的儲存方式和普通檔案在windows中的儲存方式沒有什麼不同,僅僅是幾個檔案而已。sql server通過管理邏輯上的檔案組的方式來管理檔案。sql server通過檔案組對資料檔案進行管理。我們看到的邏輯資料庫由乙個或者多個檔案組構成。結構圖如下 檔案組管理...

SQL Server 檔案流檔案組

背景 檔案流通過在檔案系統上儲存blob資料檔案將資料庫引擎與ntfs檔案整合在一起,使用t sql和win32訪問資料。檔案流使用windows系統來快取資料,有助於在減少檔案流資料對sql server 效能可能產生的任何影響,檔案流沒有用sql server 的快取池,因此不會減少查詢程序的可...

SQL Server 檔案和檔案組

資料庫是資料的倉庫,用於儲存資料,而儲存資料需要媒介,現在的儲存媒介,最常用的是硬碟,土豪一點的伺服器使用固態硬碟 ssd 特殊用途的伺服器使用記憶體。資料庫最常用的儲存檔案是資料檔案和日誌檔案,資料檔案用於儲存資料,由乙個主資料檔案 mdf 和若干個輔助資料檔案 ndf 構成 日誌檔案用於儲存事物...