gpt4 book ai didi

sql-server - 什么是 TEXTIMAGE_ON [PRIMARY]?

转载 作者:行者123 更新时间:2023-12-01 16:47:58 49 4
gpt4 key购买 nike

我在很多 table 上工作过,所有 table 上都有这个东西:

CREATE TABLE Persons(
[id] [int] IDENTITY(1,1) NOT NULL,
[modified_on] [datetime] NULL,
[modified_by] [varchar](200) NULL,
)
ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

SQL Server/Transact-SQL 中的 TEXTIMAGE_ON [PRIMARY] 是什么?

最佳答案

鉴于格式为:

CREATE TABLE TableName(...) TEXTIMAGE_ON { filegroup | "default" }

TEXTIMAGE 指所有大/无限大小字段类型:text、ntext、image、xml、varchar(max)、nvarchar(max)、varbinary(max) 和 CLR 用户定义输入列(包括几何和地理)。

然后,您需要知道什么是文件和文件组。来自 MSDN 条目 Database Files and Filegroups :

File

At a minimum, every SQL Server database has two operating system files: a data file and a log file. Data files contain data and objects such as tables, indexes, stored procedures, and views. Log files contain the information that is required to recover all transactions in the database. Data files can be grouped together in filegroups for allocation and administration purposes.

Filegroups

Every database has a primary filegroup. This filegroup contains the primary data file and any secondary files that are not put into other filegroups. User-defined filegroups can be created to group data files together for administrative, data allocation, and placement purposes.

所以,

CREATE TABLE ... ON [PRIMARY] TEXTIMAGE_ON [PRIMARY]

似乎有点多余,因为它说提到的大文本值列应该存储在主文件组中,这实际上是默认操作。

假设存在一个名为 CUSTOM 的自定义文件组,您可能会编写如下内容:

CREATE TABLE ... ON [PRIMARY] TEXTIMAGE_ON [CUSTOM]

您将创建一个自定义文件组来存储大型二进制文件或文本,在这种情况下,“正常”字段信息将位于主文件组中的数据文件中,而关联的“大型”字段将存储在物理文件中不同的数据文件(在辅助自定义文件组中)。

您可以这样做,以便可以将核心关系数据模型(就磁盘空间而言可能相对较小)与大字段(这将需要相应更多的磁盘空间)分开 - 以便允许不同的归档或应用于每个文件组的复制策略。

关于sql-server - 什么是 TEXTIMAGE_ON [PRIMARY]?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25784410/

49 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com