sql文件组
⑴ sql更改表所在的文件组有什么用
文件组的作用是存储路径,你说说的表的文件组那就是分区表要用到的,分区表设多个文件组的目的就是提高I/O的读写速度,对于一个数据库建多个文件组的目的也是为了分散存储。
⑵ SQL SERVER中怎么删除文件组和文件
文件与文件组的删除,如果因为以前的分区方案不合理,需要取消分区,或者按另外一种方式分区,就需要涉及到文件与文件组的删除操作,如果没有掌握正确步骤,有时候可能无法删除,会提示你“文件不为空,无法删除”或者“文件组不为空,不能删除”等等,如果不知道技巧,会很郁闷!本人就曾经经历过这样的郁闷!在网络也没找到正确答案。
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 表示文件组名。
⑶ SQL彻底删除文件与文件组
方法如下:
1、在“对象资源管理器”中,连接到 SQL Server 数据库引擎的实例,然后展开该实例。
2、展开“数据库”,右键单击要从其中删除文件的数据库,再单击“属性”。
3、选择“文件”页。
4、在“数据库文件”网格中,选择要删除的文件,单击“删除”,然后单击“确定”。
5、选择“文件组”页。
6、在“行”网格中,选择要删除的文件组,单击“删除”,然后单击“确定”。
⑷ SQL Server中的文件组是什么意思
文件组就是一堆文件的一个总称,就像黑种人,白种人,黄种人,是一堆人的总称,但以颜色来标识,这就是逻辑上的分类,文件组也是一样只是逻辑上的分组,一个数据库可以看成很多个文件构成一个逻辑空间,它的数据越存越多,加入新的文件就越来越多,这些文件就可以作为一个组来管理。
⑸ sql创建文件组的命令
不用括号试试:
alterdatabasesupermarket
addfilegroupmm
例如:
--【添加文件组】
ALTERDATABASEZHHADDFILEGROUP[201109]
--添加文件并把其指向指定文件组
ALTERDATABASEZHH
ADDFILE(
NAME=N'201109',
FILENAME='E:201109.NDF',
SIZE=3MB,...
⑹ SQL修改文件组名
alter database db1
modify filegroup tst1grp1 -- old filegroup name
name=db1grp1 -- new filegroup name
;
⑺ 怎样在SQL中一个数据库中创建两个文件组
楼上两位的意思都对,只是不够详细;
楼主可以使用 INSERT ... FROM 语句来实现你要功能,它的作用就是根据指定的查询条件返回的结果来创建一张新的表。
比如:
INSERT INTO 新表名 (字段1,字段2,字段3)
SELECT 字段1,字段2,字段3
FROM 要查询的表
WHERE (条件)
记住一点,新建表的字段数一定和要查询时的字段数相同。
请参考
⑻ t sql如何查看某个数据库所有文件和文件组的名字
select * from information_schema.tables where table_type='base table'
没太明白你说的文件组名是什么意思,你看下下面的
select SERVERPROPERTY('MachineName'),host_name(),current_user,system_user
select * from dbo.sysdatabases
⑼ 如何在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
)
(9)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
⑽ 数据库中,什么是文件组
SQLServer中文件组是将多个数据库文件集合起来形成一个整体,每个文件组有一个,与数据库文件一样,文件组也分为文件主文件组,和次文件组。一个文件只能存在一个文件组中,一个文件组也只能被一个数据库使用。