我在很多桌子上工作过,所有桌子上都有这个东西:
CREATE TABLE Persons(
[id] [int] IDENTITY(1,1) NOT NULL,
[modified_on] [datetime] NULL,
[modified_by] [varchar](200) NULL,
)
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
What is TEXTIMAGE_ON [PRIMARY]
在 SQL Server/Transact-SQL 中?
鉴于格式为:
CREATE TABLE TableName(...) TEXTIMAGE_ON { filegroup | "default" }
TEXTIMAGE
指所有大/无限大小字段类型:text、ntext、image、xml、varchar(max)、nvarchar(max)、varbinary(max) 和 CLR 用户定义类型列(包括几何和地理)。
然后,您需要知道什么是文件和文件组。从 MSDN 条目开始数据库文件和文件组 https://msdn.microsoft.com/en-us/library/ms189563.aspx:
File
每个 SQL Server 数据库至少有两个操作系统文件:数据文件和日志文件。数据文件包含数据和对象,例如表、索引、存储过程和视图。日志文件包含恢复数据库中所有事务所需的信息。出于分配和管理目的,可以将数据文件分组到文件组中。
文件组
每个数据库都有一个主文件组。该文件组包含主数据文件和未放入其他文件组的任何辅助文件。可以创建用户定义的文件组,将数据文件分组在一起,以用于管理、数据分配和放置目的。
So,
CREATE TABLE ... ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]
看起来有点多余,因为它说提到的大文本值列应该存储在主文件组中,这实际上是默认操作。
假设存在一个名为 CUSTOM 的自定义文件组,您可能会编写如下内容:
CREATE TABLE ... ON [PRIMARY] TEXTIMAGE_ON [CUSTOM]
您将创建一个自定义文件组来存储大型二进制文件或文本,在这种情况下,“正常”字段信息将位于主文件组中的数据文件中,而关联的“大型”字段将存储在物理上不同的数据文件中(在辅助自定义文件组中)。
您可以这样做,以便可以将核心关系数据模型(就磁盘空间而言可能相对较小)与大字段(这将需要相应更多的磁盘空间)分开 - 以便允许不同的归档或复制策略应用于每个文件组。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)