1.3 文件组

1.3  文件组


1.3.1  文件组

  SQL Server 的实际数据储存在数据文件中,为了隔离表和索引对物理文件的依赖,SQL Server 使用文件组的概念。用户只需要将表和索引建立在某个(或某些)文件组上,而不需要关心磁盘上的实际物理文件。

  每个文件组可以包含一个或多个数据文件。

wKioL1XQmTjjuN9GAAFNOsJ5zIE710.jpg


  SQL Server 2008 引入了 FILESTREAM 文件组,用于将非结构化的数据(如文档和图像)存储在 Windows 的 NTFS 文件系统中。在插入、更新、查询、备份 FILESTREAM 数据时,可以通过 Win32 文件系统接口以“流”的方式使用,而且使用 Windows 的系统缓存来缓存文件数据,不影响数据库引擎的性能。

  SQL Server 2014 引入了内存优化表,因此新增了一种文件组专门用于内存优化数据,借助 FILESTREAM 储存数据文件。


提示:

  SQL Server 的事务日志独立储存,与数据文件分开。事务日志文件不适用于文件组。



1.3.2  新建文件组

  在数据库的属性窗口,选择“文件组”选项卡,在“行”区域单击“添加文件组”,即可为行数据添加一个文件组。

wKiom1XWlwGhjncpAAJKgGedOx4518.jpg


  使用脚本如下:

USE [master]

GO

ALTER DATABASE [SQLDB01] ADD FILEGROUP [FG2012]

GO

ALTER DATABASE [SQLDB01] ADD FILEGROUP [FG2013]

GO

ALTER DATABASE [SQLDB01] ADD FILEGROUP [FG2014]

GO


  默认情况下,第一个文件组的名称为 PRIMARY,而且是默认的文件组。



1.3.3  使用文件组

  在创建表和索引时,可以使用 ON 子句指定文件组。如果不指定文件组,则表和索引将创建在默认的文件组上。

  下例的语句将创建一个 SalesTerritory表,并且指定将该表建立在 PRIMARY 文件组上。

CREATE TABLE [SalesTerritory] (

[TerritoryNum] [int] NOT NULL,

[TerritoryName] [nvarchar](20) NOT NULL,

[TerritoryDesc] [nvarchar](100) NULL,

[Comment] [nvarchar](200) NULL

) ON [PRIMARY]


  打开该表的属性窗口,选择“存储”选项卡,在右侧的列表中查看“文件组”属性,确认该表已经创建在指定的文件组上。

wKiom1Xf26zCbK9SAAIEVpnodKk566.jpg



本文出自 “SQL Server 管理员指南” 博客,谢绝转载!

你可能感兴趣的:(sql,管理)