文件與文件組的刪除,如果因為以前的分區方案不合理,需要取消分區,或者按另外一種方式分區,就需要涉及到文件與文件組的刪除操作,如果沒有掌握正確步驟,有時候可能無法刪除,會提示你「文件不為空,無法刪除」或者「文件組不為空,不能刪除」等等,如果不知道技巧,會很郁悶!本人就曾經經歷過這樣的郁悶!在網路也沒找到正確答案。
1、 文件的刪除:首先要先清空文件里的數據,刪除之前數據一定要記得先備份,可將數據復制到其他表,然後執行:
DBCC SHRINKFILE (FileName, EMPTYFILE);
文件中的內容刪除後,再執行刪除文件命令,DataBaseName表示數據名,FileName 表示文件名:
ALTER DATABASE [DataBaseName] REMOVE FILE FileName;
2、文件組的刪除:
當文件組的文件被刪除後,按正常理解,應該就可以直接刪除文件組,實際是不行的,你無法刪除文件組。
因為還有幾個東西依賴文件組,一是分區方案,二是使用該分區方案的分區表。
所以要刪除分區方案才能刪除文件組。但要刪除分區方案之前要先更改依賴它的分區表,使其不依賴它。
這個主要是更改分區表的分區列,使其不使用分區方案,如果實在不會更改,在表裡數據已經備份的前提下,可以直接刪除表來解決。
然後再刪除分區表方案,最後就可以直接刪除文件組了。
總結前面的刪除過程:
1、修改分區表,使其不依賴分區方案。
2、刪除分區方案(依賴要刪除的文件組)。
DROP PARTITION SCHEME [Part_func_scheme_Name]
3、直接刪除文件組。
ALTER DATABASE [DataBaseName] REMOVE FILEGROUP [FGName]
DataBaseName表示數據名,FGName 表示文件組名。
B. SQL文件組有什麼作用,有心作答的請看完提問內容再作答,謝謝
(name=spri2_dat,
filename='f:\database\spri2dt.ndf')
這里 spri2_dat 是文件組,是個概念的東西,抽象的
f:\database\spri2dt.ndf這個事文件,是實際的,實實在在存放在系統里的一個文件。
定義的作用就是,指定f:\database\spri2dt.ndf 給spri2_dat用,不好理解是吧
舉個例子,初中高中學校里有很多班級每個班級都有固定的教室是吧
比如高三2班,我們說你是高三二班的,其實高三二班是個概念,抽象的,我讓你去把高三二班給滅了,給炸了,你也不知道是該殺人還是放火或者怎麼樣,就算你這樣,高三二班還是存在的,
現在我們指定一個物理地址,比如教學樓二層201作為這個班的固定教室,這個地址是實實在在存在的,吧它滅了,他就真被滅了
這里班級名稱就像文件組,教室就像文件,
一個學校可以定義很多班級,也可以有很多教室,但是這個教室沒有定義給哪個班級使用前,這個班級是不能上課的,就像文件組是不能存數據的,一個學生入學了,我們不會直接把他扔到哪個教室,而是給他分班,然後根據班級找匹配的教室,就像數據並不直接跟文件對接,而是歸入文件組。
指定好後,教室也可以跟著班級名稱叫高三二班了,很容易混淆,而且教室今天給了高三2班,明年又可能給1班,
在資料庫里,文件畢竟不像建築那麼值錢,所以我們都是新建文件了,而且愛建多少建多少,想建多大建多大
C. SQL Server 創建表的時候如何指定文件組
Create Table [ DataBase_Name.[ Owner ]. | Owner. ] Table_Name
( { < Column_Definition > | < Table_Constraint > | Column_Name As Computed_Column_Expression } [ ,...n ] )
[ On { FileGroup | Default } ]
[ TextImage_On { FileGroup | Default } ]
< Column_Definition > :: = { Column_Name Data_Type }
[ [ Default Constant_Expression ] | [ Indentity [ ( Seed , Increment ) ] ] ]
[ < Column_Constraint > ] [ ,... ]
DataBase_Name:要在哪個資料庫中創建表的資料庫名稱。
Owner:創建數據表的所有者名,若空,則默認為新表的創建者在當前資料庫中的用戶名。
Table_Name:創建數據表的名稱。
Column_Name:是創建數據表中的欄位名。如果表名包含空格,需要將欄位名用方括弧括起來。
Computed_Column_Expression:定義計算欄位值的表達式。
[ On { FileGroup | Default } ]:指定存儲表所在的文件組。如果指定FileGroup,則數據表將存在指定的文件組中,如果指定Default或者不指定On參數,則數據表將存儲在默認文件組中。
[ TextImage_On { FileGroup | Default } ]:將數據表中的Text和Image類型的數據存儲到指定的文件組。
Data_Type:指定欄位的數據類型,可以使系統數據類型或者是用戶自定義數據類型。
Constant_Expression:是用作欄位默認值的常量、Null或者系統函數。
Indentity:指定該欄位為標識欄位。
Seed:定義標識欄位的起始值,起始值是裝入表的第一條記錄時所使用的值。
Increment:定義標識增量,標識增量是指該欄位值相對前一條記錄標識欄位的增量值。
Column_Constraint:定義與欄位相關的約束,如Null、Not Null和Primary等與約束有關的內容。
D. Sql Server資料庫屬性「文件組」有何作用如何使用
SQLServer中一個資料庫可以對應多個物理文件,其中有一個的主資料庫文件,擴展名為MDF,其他為次資料庫文件,擴展名為NDF。可以將不同的文件存放在不同的驅動器上,可以提高數據訪問速度。文件組是邏輯概念,主要目的是將文件分組管理。createdatabasedb3onprimary--主文件組(name='db3_dat1',--資料庫主文件filename='d:\db3_dat1.mdf',size=10mb,maxsize=100mb,filegrowth=10%),(name='db2_dat2',--主文件組,是次資料庫文件filename='d:\db2_dat2.ndf',size=10mb,maxsize=100mb,filegrowth=10%),filegroupdb3g1--第2個文件組(name='db3_dat3',--第2個文件組中的次資料庫filename='d:\db2_dat3.ndf',size=10mb,maxsize=30mb,filegrowth=5mb),(name='db3_dat4',--第2個文件組中的次資料庫filename='d:\db2_dat4.ndf',size=5mb,maxsize=30mb,filegrowth=5mb),filegroupdb3g2--第三個文件組(name='db3_dat5',----第三個文件組中的次資料庫filename='d:\db2_dat5.ndf',size=10mb,maxsize=50mb,filegrowth=20%)logon(name='db3_log',--日誌文件filename='d:\db3_log.ldf',size=20mb,maxsize=100mb,filegrowth=10mb)
E. 如何在sql server 中創建文件組
create database GSM1
on primary --主文件及主文件組
(
name = main1, --邏輯文件名
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian1.mdf', --物理文件名
size = 10MB, --初始大小
filegrowth = 1MB --增長速度
),
(
name = main2,
filename = 'c:program filesmicrosoft sql servermssql.2mssqldatamian2.ndf',
size = 10MB, filegrowth = 1MB
),
filegroup group1 --文件組group1
(
name = data, filename = 'F:資料庫GSMdata.ndf', size = 5MB, filegrowth = 1MB
),
filegroup group2 --文件組group2
(
name = indexInfo, filename = 'D:SQL2005indexGSMindexInfo.ndf', size = 5MB, filegrowth = 1MB
)
log on --日誌文件
(
name = 'GSM.log',
filename = 'c:program filesmicrosoft sql servermssql.2mssqldataGSMlog.ldf' ,
size = 2048KB , filegrowth = 1MB
)
(5)sql中的文件組擴展閱讀:
SQL SERVER中文件組的用途
1、在指定文件組里創建表
--在指定文件組中創建文件
create table Test
(
Tid int primary key identity,
Title01 nvarchar(100) default('標題01'),
Title02 nvarchar(100) default('標題02'),
Title03 nvarchar(100) default('標題03'),
DataStatus tinyint default(0) --0~255 size:1位元組
) on TestData
2、利用文件組創建資料庫
--創建資料庫
create database BigValues
on primary --資料庫文件,主文件組
(
name='BigValues_Data', --邏輯名
size=10mb, --初始大小
filegrowth=10%, --文件增長
maxsize=1024mb, --最大值
filename=N'E:\SQL\BigValues_Data.mdf'--存放路徑(包含文件後綴名)
),
(
name='BigValues_Data1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data1.mdf'
),
filegroup TestData --TestData文件組(表創建到不同的文件組裡面可以分擔壓力)
(
name='BigValues_Data_Num1',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'E:\SQL\BigValues_Data_Num1.ndf'
),
(
name='BigValues_Data_Num2',
size=10mb,
filegrowth=10%,
maxsize=1024mb,
filename=N'F:\Work\SQL\BigValues_Data_Num2.ndf'
)
log on --日記
(
name='BigValues_Log1',
size=5mb,
filegrowth=5%,
filename=N'E:\SQL\BigValues_log1.ldf'
),
(
name='BigValues_Log2',
size=5mb,
filegrowth=5%,
filename=N'F:\Work\SQL\BigValues_log2.ldf'
)
go
F. 使用SQL文件組有哪些優點
文件組可以把資料庫拆分成多個文件存儲,然後文件分別放在不同的盤裡面,這樣讀取數據的時候速度快,可並行讀取
另外,文件組可以使文件的組織更加有序,比如,你可以把碼表一類的數據放在一個文件組中,業務數據文件放在一個文件組中,日誌放在一個
這樣的組織就能讓數據的讀取更加有效率,而且便於管理
G. Sql Server資料庫屬性「文件組」有何作用
主要數據文件是資料庫的起點,指向資料庫中文件的其它部分。每個資料庫都有一個主要數據文件。主要數據文件的推薦文件擴展名是
.mdf。
主要數據文件包含資料庫的啟動信息,並指向資料庫中的其他文件。用戶數據和對象可存儲在此文件中,也可以存儲在次要數據文件中。每個資料庫有一個主要數據文件。主要數據文件的建議文件擴展名是
.mdf。
sql
server的每個資料庫是以兩個文件存放的,一個後綴名為mdf,是數據文件,另一個後綴名為ldf,為日誌文件。因此只要定期復制這兩個文件,就可以達到備份的效果。
H. MSsqlserver里的文件組是什麼意思MySQL有這個概念嗎
MSSQLserver中,每個資料庫有一個主要文件組。文件組中可以關聯至少一個數據文件,也可以把多個文件關聯到一個文件組,便於分配和管理。
mysql中沒有這個概念。但可以選擇引擎。
I. sql server 提供的三種文件組類型有哪些
sql server 提供的三種文件:
1.主文件(.ndf);
2.輔助文件(.mdf);
3.日誌文件(.ldf);
J. 資料庫中,什麼是文件組
SQLServer中文件組是將多個資料庫文件集合起來形成一個整體,每個文件組有一個,與資料庫文件一樣,文件組也分為文件主文件組,和次文件組。一個文件只能存在一個文件組中,一個文件組也只能被一個資料庫使用。