配置参数标识要配置的数据库对象。其对应值用于标识在数据库中存储对象的方式。这些参数及其配置字符串将通过配置关键字组合在一起。
在存储于 Microsoft SQL Server 的地理数据库中,ArcGIS 使用配置参数及其相应的配置字符串来定义数据存储的方式。以下列出了不同参数可用的存储设置:
- 定义空间列的数据类型。
- 定义字符数据的存储方式。
- 使用户可以在 ArcGIS 界面中使用关键字。
- 提供描述配置关键字的注释。
旧版本:
配置关键字和参数主要是旧版功能。当数据库需要数据库管理员进行更多干预和修补工作以使其良好运行时,需要执行这些功能。在大多数情况下,您无需更改地理数据库中的配置参数。
创建企业级地理数据库时,将使用默认配置关键字和参数对其进行填充。在大多数情况下,默认的参数值就足够了。可能的例外情况如下:
- 您可能想要更改用于要素的空间类型。如果您希望大多数要素类使用不同于默认值的空间类型,请更改 DEFAULTS 关键字的 GEOMETRY_STORAGE 参数。如果只希望某些要素类使用不同的空间类型,请创建自定义关键字,其中包括设置为所需空间类型的 GEOMETRY_STORAGE 参数,并包括 UI_TEXT 参数,以使得您的自定义关键字可供用户使用。
- 如果不需要在属性字段中存储多字节字符,则可将 DEFAULTS 关键字的 UNICODE_STRING 参数设置为 FALSE。新文本字段会使用 varchar 数据类型而不是 nvarchar 数据类型,可为您的数据库节省一小部分存储空间。如果您组织中的数据创建人员需要创建一些表或要素类,每个表的单个字段中都存储大量单字节文本,则您可以创建自定义关键字,其中包括设置为 FALSE 的 UNICODE_STRING 参数,并包括 UI_TEXT 参数,以使得您的自定义关键字可供用户使用。
- 如果要将数据分组到不同的文件组中,以便为单个文件组创建备份,则可以为各个不同数据类型创建自定义关键字,并在每个关键字中设置参数,以便在特定文件组中存储该类型数据的所有表和索引。例如,您可能希望将所有经常编辑的数据都转到同一个文件组,以便更频繁地创建备份,这时您可以创建一个 EDITED_LAYERS 关键字,其中包含业务表、添加表和删除表参数,用于将这些图层所有的表和索引存储在同一个文件组中。
存在可以控制以下各项的其他参数,但使用这些参数的可能性不大。由于这些参数保留向后兼容性,因此保留在此页面中以在添加这些参数时帮助您了解其预期用途:
- 是否对索引进行聚集。
- 各个索引页的填充比例 (FILLFACTOR)
- 数据页行内应存储的二进制数据量 (OUT_OF_ROW)。
- 定义 XML 文档的存储方式。 ArcGIS 不直接使用 XML 文档,因此您不太可能需要设置这些参数。
下表按字母顺序列出了所有可在 SQL Server 中的地理数据库内使用的配置参数。如果适用,则将先列出默认值。下表之后的部分更详细深入地解释了各个参数(按相关功能进行了粗略分组)。
参数名称 | 说明 | 值 |
---|---|---|
A_CLUSTER_RASTER | 增加表(即 A 表)中栅格列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
A_CLUSTER_ROWID | 增加表(即 A 表)中 rowid 列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
A_CLUSTER_SHAPE | 增加表(即 A 表)中 shape 列的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
A_CLUSTER_STATEID | 增加表(即 A 表)中 stated 列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
A_CLUSTER_USER | 增加表(即 A 表)中任何用户定义索引的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
A_CLUSTER_XML | 增加表(即 A 表)中 xml doc 类型列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
A_INDEX_RASTER | 增加表(即 A 表)中栅格列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
A_INDEX_ROWID | 增加表(即 A 表)中对象 ID 列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
A_INDEX_SHAPE | 增加表(即 A 表)中空间列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
A_INDEX_STATEID | 增加表(即 A 表)中 sde_state_id 列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
A_INDEX_USER | 增加表(即 A 表)索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
A_INDEX_XML | 增加表(即 A 表)中 XML 列索引表的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
A_OUT_OF_ROW | 用于确定对于 A 表中的 varbinary(max) 列,将数据存储在行内还是行外 如果设置为 0,可以直接在表格的数据页存储多达 8000 个字节。如果设置为 1,数据将始终存储在行外。 | 0 或 1 |
A_STORAGE | 增加表(即 A 表)的存储方式定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
AUX_CLUSTER_COMPOSITE | 主键的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
AUX_INDEX_COMPOSITE | 栅格 AUX 表复合列索引的存储定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
AUX_STORAGE | 栅格 AUX 表的存储定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
B_CLUSTER_RASTER | 业务表中栅格列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
B_CLUSTER_ROWID | 业务表中 rowid 列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
B_CLUSTER_SHAPE | 业务表中 shape 列的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
B_CLUSTER_TO_DATE | 指定针对启用存档的表的历史记录表中 to_date、archive_rowid 列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
B_CLUSTER_USER | 业务表中任何用户定义索引的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
B_CLUSTER_XML | 业务表中 xml doc 类型列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
B_INDEX_RASTER | 业务表中栅格列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
B_INDEX_ROWID | 业务表中对象 ID 列索引和栅格 rowid 索引 R<N>_SDE_ROWID_UK 的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
B_INDEX_SHAPE | 业务表中空间列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
B_INDEX_TO_DATE | 用于创建索引 R<registration_id>_sde_todate 的存储参数信息,在存档操作期间更新历史记录表时使用该信息 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
B_INDEX_USER | 业务表用户索引的存储定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
B_INDEX_XML | 业务表中 XML 列索引表的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
B_OUT_OF_ROW | 用于确定对于业务表中的 varbinary(max) 列,将数据存储在行内还是行外 如果设置为 0,可以直接在表格的数据页存储多达 8000 个字节。如果设置为 1,数据将始终存储在行外。 | 0 或 1 |
B_STORAGE | 业务表和栅格属性表的存储定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
BLK_CLUSTER_COMPOSITE | 主键的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
BLK_INDEX_COMPOSITE | 栅格 BLK 表复合列索引的存储定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
BLK_OUT_OF_ROW | 用于确定对于栅格块表中的 varbinary(max) 列,将数据存储在行内还是行外 如果设置为 0,可以直接在表格的数据页存储多达 8000 个字节。如果设置为 1,数据将始终存储在行外。 | 0 或 1 |
BLK_STORAGE | 栅格 BLK 表的存储定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
BND_CLUSTER_COMPOSITE | 主键的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
BND_CLUSTER_ID | RASTER_ID 和 SEQUENCE_NBR 列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
BND_INDEX_COMPOSITE | 栅格 BND 表复合列索引的存储定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
BND_INDEX_ID | 栅格 BND 表 RID 列索引的存储定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
BND_STORAGE | 栅格 BND 表的存储定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
COLLATION_NAME | 用户定义文本列的排序规则 | 如果未指定其他排序规则,默认情况下将使用数据库排序规则 |
COMMENT | 用于添加注释的行 | 描述不能超过 2,048 个字符 |
D_CLUSTER_ALL | SDE_STATES_ID、SDE_DELETES_ROW_ID 和 DELETED_AT 列的索引类型 | 0 或 1;1 = 聚集,0 = 非聚集 |
D_CLUSTER_DELETED_AT | DELETED_AT 列的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
D_INDEX_ALL | SDE_STATES_ID、SDE_DELETES_ROW_ID 和 DELETED_AT 列中复合索引的 FILLFACTOR 和位置(文件组) | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
D_INDEX_DELETED_AT | 删除表(即 D 表中)DELETED_AT 列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
D_STORAGE | 删除表的存储方式定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
F_CLUSTER_FID | FID 列的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
F_INDEX_AREA | 要素表中面积列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 ArcGIS Pro 中未使用 |
F_INDEX_FID | 要素表中 FID 列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 ArcGIS Pro 中未使用 |
F_INDEX_LEN | 要素表中长度列索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 ArcGIS Pro 中未使用 |
F_OUT_OF_ROW | 用于确定对于要素 (f) 表中的 varbinary(max) 列,将数据存储在行内还是行外 如果设置为 0,可以直接在表格的数据页存储多达 8000 个字节。如果设置为 1,数据将始终存储在行外。 | 0 或 1 |
F_STORAGE | 要素表存储方式定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 ArcGIS Pro 中未使用 |
GEOMETRY_STORAGE | 指示空间列的存储类型 | GEOMETRY 或 GEOGRAPHY |
GEOM_SRID_CHECK | 向 SRID 值的几何列添加检查约束 | TRUE 或 FALSE |
I_STORAGE | 定义用于生成 ID 的 i 表的存储。 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
MVTABLES_MODIFIED_INDEX | Mvtables_modified 索引的存储定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
MVTABLES_MODIFIED_TABLE | Mvtables_modified 表的存储定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
NUM_DEFAULT_CURSORS | 控制 SQL Server 游标阈值 | -1 表示以同步方式生成所有键集 0 表示以异步方式生成所有游标键集 对于其他所有值,SQL Server 查询优化器会将游标集中的预期行数与游标阈值中设置的数值进行对比,如果超出阈值,则以异步方式构建键集。 |
PERMISSION_CACHE_THRESHOLD | 控制数据库查询 sysprotects 表所花费的时间(以毫秒为单位) 如果所用时间超过了 PERMISSION_CACHE_THRESHOLD 值,将创建一个临时表(缓存)来存储用户权限并在此后对该表加以使用。只要 PERMISSION_CACHE_THRESHOLD > 0,就会对权限进行缓存。如果 PERMISSION_CACHE_THRESHOLD = 0,则不缓存权限。 | 0-1,000 250为默认值 |
RAS_CLUSTER_ID | RAS 表主键的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
RAS_INDEX_ID | 栅格 RAS 表 RID 索引的存储定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
RAS_STORAGE | 栅格 RAS 表的存储定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
RASTER_STORAGE | 定义栅格数据的存储类型 | rasterblob 或二进制 |
S_CLUSTER_ALL | 主键(表的所有列)的索引类型 | 1 或 0;1 = 聚集,0 = 非聚集 |
S_CLUSTER_SP_FID | sp_fid 列索引的填充系数和位置(文件组) | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
S_INDEX_ALL | 使用二进制几何类型存储时,空间索引表第一个索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
S_INDEX_SP_FID | 空间索引表第二个索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
S_STORAGE | 表示空间索引表的存储方式定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
STATES_INDEX | 状态表的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
STATES_LINEAGES_INDEX | 控制 SDE_state_lineages 表的主键索引的存储方式 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
STATES_LINEAGES_TABLE | State_lineages 表的存储定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
STATES_TABLE | 状态表的存储方式定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
UI_NETWORK_TEXT | 用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包括网络配置的描述 | 描述不能超过 2,048 个字符 ArcGIS Pro 中未使用 |
UI_TERRAIN_TEXT | 用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包括 terrain 配置的描述 | 描述不能超过 2,048 个字符 |
UI_TEXT | 用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包含相关的非复合配置关键字的描述 | 描述不能超过 2,048 个字符 |
UI_TOPOLOGY_TEXT | 用户界面参数,用于指示将在 ArcGIS 用户界面中显示的相关配置关键字;包括拓扑配置的描述 | 描述不能超过 2,048 个字符 |
UNICODE_STRING | 确定是否使用 Unicode 文本类型 如果设置为 TRUE,则字符字段将以 UNICODE 兼容的数据类型进行存储。例如,如果 UNICODE_STRING 参数设置为 FALSE,则字符串数据类型将为 VARCHAR。如果 UNICODE_STRING 设置为 TRUE,则字段的数据类型将为 NVARCHAR。 | TRUE 或 FALSE |
VERSIONS_INDEX | 版本索引的存储方式定义 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
VERSIONS_TABLE | 版本表的存储方式定义 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_COLUMN_PATH_IDX | 确定是否创建 XML 路径索引 | 1 或 0 0 表示不创建路径索引,1 表示创建路径索引。 |
XML_COLUMN_PRIMARY_IDX | 确定是否创建 XML 主索引 | 1 或 0 0 表示不创建主索引,1 表示创建主索引 |
XML_COLUMN_PROPERTY_IDX | 确定是否创建 XML 属性索引 | 0 或 1 0 表示不创建属性索引,1 表示创建属性索引 |
XML_COLUMN_SCHEMA | 指定用于验证的 XML 模式 | XML 模式集合名称,至多 128 个字符 |
XML_COLUMN_TYPE | 指定列可以存储的 XML 文档类型 | CONTENT 或 DOCUMENT |
XML_COLUMN_VALUE_IDX | 确定是否创建 XML 值索引 | 1 或 0 0 表示不创建值索引,1 表示创建值索引。 |
XML_DOC_INDEX | sde_xml_doc<n> 表中 xmldoc<n>_pk 索引和 xml_doc<n>_ix 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_DOC_MODE | XML 文档的存储类型 | COMPRESSED 或 UNCOMPRESSED |
XML_DOC_OUT_OF_ROW | 确定将 XML 文档 BLOB 数据存储在行内还是行外;仅适用于 varbinary(max) 列 如果设置为 0,可以直接在表格的数据页存储多达 8000 个字节。如果设置为 1,数据将始终存储在行外。 | 0 或 1 |
XML_DOC_STORAGE | sde_xml_doc<n> 表的存储子句 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_DOC_UNCOMPRESSED_TYPE | XML_DOC_MODE 参数设置为 UNCOMPRESSED 后,XML_DOC_UNCOMPRESSED_TYPE 参数可确定 XML 文档的存储格式 | 因为 XML_DOC_MODE 默认设置为 COMPRESSED,因此默认情况下 XML_DOC_UNCOMPRESSED_TYPE 参数不存在。可能值:BINARY、TEXT、或 UNICODE |
XML_IDX_CLUSTER_DOUBLE | 指示是否对 sde_xml_idx<n> 表中 double_tag 列的 xmlix<n>_db 索引进行聚集的存储子句 | 0 或 1;1 = 聚集,0 = 非聚集 |
XML_IDX_CLUSTER_ID | 指示是否对 sde_xml_idx<n> 表中 id 列的 xmlix<n>_id 索引进行聚集的存储子句 | 0 或 1;1 = 聚集,0 = 非聚集 |
XML_IDX_CLUSTER_PK | 指示是否对 sde_xml_idx<n> 表中 xml_key_column 标识列的 xmlix<n>_pk 索引进行聚集的存储子句 | 1 或 0;1 = 聚集,0 = 非聚集 |
XML_IDX_CLUSTER_STRING | 指示是否对 sde_xml_idx<n> 表中 string_tag 列的 xmlix<n>_st 索引进行聚集的存储子句 | 0 或 1;1 = 聚集,0 = 非聚集 |
XML_IDX_CLUSTER_TAG | 指示是否对 sde_xml_idx<n> 表中 tag_id 列的 xmlix<n>_tg 索引进行聚集的存储子句 | 0 或 1;1 = 聚集,0 = 非聚集 |
XML_IDX_FULLTEXT_CAT | 全文目录的名称,在该全文目录中为 sde_xml_doc<n> 表中 xml_doc_val 列的内容和 sde_xml_idx<n> 表中 text_tag 列的内容建立索引。 | 创建全文目录时所命名的名称;默认为 SDE_DEFAULT_CAT。如果您对全文目录进行了重命名,则必须更改该参数的值以使其与更改后的名称相匹配。 |
XML_IDX_FULLTEXT_LANGUAGE | 对 sde_xml_doc<n> 表中 xml_doc_val 列的内容和 sde_xml_idx<n> 表中 text_tag 列的内容构建文本索引时,用于语言分析的语言 | 此参数没有默认值。有关有效的语言设置,请参阅 DBMS 文档。 |
XML_IDX_FULLTEXT_TIMESTAMP | 确定是否向 sde_xml_idx<n> 表中添加时间戳列 | 1 或 0 1 表示添加时间戳列,0 表示不添加时间戳列。 |
XML_IDX_FULLTEXT_UPDATE_METHOD | 指定如何将 sde_xml_doc<n> 表(XML 文档表)中 xml_doc_val 列的更改内容和 sde_xml_idx<n> 表(XML 列的索引表)中 text_tag 列的更改内容传递至全文索引 | CHANGE_TRACKING BACKGROUND 或 CHANGE_TRACKING MANUAL |
XML_IDX_INDEX_DOUBLE | sde_xml_idx<n> 表中 double_tag 列的 xmlix<n>_db 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_IDX_INDEX_ID | xml_idx<n> 表中 ID 列的 xmlix<n>_id 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_IDX_INDEX_PK | sde_xml_idx<n> 表中 xml_key_column 标识列的 xmlix<n>_pk 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_IDX_INDEX_STRING | sde_xml_idx<n> 表中 string_tag 列的 xmlix<n>_st 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_IDX_INDEX_TAG | sde_xml_idx<n> 表中 tag_id 列的 xmlix<n>_tg 索引的存储子句 | 有关 CREATE INDEX 参数的信息,请参阅 Microsoft SQL Server 文档。 |
XML_IDX_OUT_OF_ROW | 确定将 sde_xml_idx<n> 表(XML 列的索引表)中 text_tag 列的内容存储在行内还是行外;仅适用于 varbinary(max) 列 如果设置为 0,可以直接在表格的数据页存储多达 8000 个字节。如果设置为 1,数据将始终存储在行外。 | 0 或 1 |
XML_IDX_STORAGE | sde_xml_idx<n> 表(XML 列的索引表)的存储子句 | 有关 CREATE TABLE 参数的信息,请参阅 Microsoft SQL Server 文档。 |
对于 XML 参数,<n> 指与特定 XML 列关联的 xml_column_id。
对配置参数进行分类的方法有多种。通常,一个参数可归属于多个类别。例如,可将 B_CLUSTER_RASTER 参数归类为业务表参数、栅格参数或聚集索引参数。以下部分介绍了这些分类。
特定于要素类和栅格存储的参数
业务表参数
业务表是指要素类或非空间表的属性表。业务表参数以字母 B 开头,用于定义业务表及其索引的存储类型。参数如下:
参数 | 说明 |
---|---|
B_CLUSTER_ROWID | 业务表中行 ID(对象 ID)列的索引类型;0 表示非聚集索引,1 表示聚集索引 |
B_CLUSTER_SHAPE | 业务表中 shape 列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
B_CLUSTER_USER | 业务表中任何用户定义索引的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
B_CLUSTER_XML | 业务表中 XML 类型列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
B_CLUSTER_RASTER | 业务表中栅格列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
B_INDEX_ROWID | 为业务表中行 ID 列的索引定义填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: B_INDEX_ROWID "with fillfactor=99 ON IDXfg" |
B_INDEX_SHAPE | 为业务表中 shape 列的索引定义填充系数和位置(文件组)。要指定文件组,请使用 SQL ON 语句,例如: B_INDEX_SHAPE "with fillfactor=99 ON SHAPEfg" |
B_INDEX_USER | 为业务表中任何用户定义的索引定义填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: B_INDEX_USER "with fillfactor=99 ON IDXfg" |
B_INDEX_XML | 为业务表中的 XML 索引定义填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: B_INDEX_XML "with fillfactor=99 ON XMLfg" |
B_INDEX_RASTER | 为业务表中栅格列的索引定义填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: B_INDEX_RASTER "with fillfactor=99 ON RASfg" |
B_INDEX_TO_DATE | 用于创建索引 R<registration_id>_sde_todate 的存储信息,在执行存档操作期间更新历史记录表时使用该信息 注:此参数没有相应的增加表(即 A 表)参数。 |
B_OUT_OF_ROW | 值为 0 或 1 如果设置为 0,直接在表格的数据页存储多达 8000 个字节。 如果设置为 1,数据始终存储在行外。 |
B_STORAGE | 业务表的文件组位置 可使用 ON 来控制位置,例如: B_STORAGE "ON ADDS_FG" |
对于非空间业务表,请执行以下操作之一:
- 将 B_CLUSTER_ROWID 参数的 config_string 改为 1,将 B_CLUSTER_SHAPE 参数的 config_string 改为 0。通过此操作可为对象 ID 字段创建聚集索引。后续创建的所有用户定义索引都将为非聚集索引。
- 将 B_CLUSTER_USER 参数的 config_string 改为 1。ArcGIS 创建的第一个用户定义索引将为聚集索引。将 B_CLUSTER_SHAPE 改为 0。
- 创建数据并更改要进行聚集的索引(或复合索引)。
A 表参数
A 表用于存储使用传统版本化的地理数据库中要素类所插入和更新的编辑内容。A 表在结构上与业务表几乎相同,只是多了用于追踪状态 ID 的列。增加表(即 A 表)参数以字母 A 开头。A 表参数如下:
参数 | 说明 |
---|---|
A_CLUSTER_ROWID | A 表中行 ID 列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
A_CLUSTER_SHAPE | A 表中 shape 列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
A_CLUSTER_STATEID | A 表中 stated 列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 注:此参数没有相应的业务表参数。 |
A_CLUSTER_USER | A 表中任何用户定义索引的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
A_CLUSTER_XML | A 表中 XML 类型列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
A_CLUSTER_RASTER | A 表中栅格列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
A_INDEX_ROWID | 为 A 表中行 ID 列的索引指定填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: A_INDEX_ROWID "with fillfactor=99 ON IDXfg" |
A_INDEX_SHAPE | 为 A 表中 shape 列的索引指定填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: A_INDEX_SHAPE "with fillfactor=99 ON SHAPEfg" |
A_INDEX_STATEID | 为 A 表中状态 ID 列的索引指定填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: A_INDEX_STATEID "with fillfactor=99 ON STATEIDXfg" 注:此参数没有相应的业务表参数。 |
A_INDEX_USER | 为 A 表中任何用户定义的索引指定填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: A_INDEX_USER "with fillfactor=99 ON IDXfg" |
A_INDEX_XML | 为 A 表的 XML 索引指定填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: A_INDEX_XML "with fillfactor=99 ON XMLfg" |
A_INDEX_RASTER | 为 A 表中栅格列的索引指定填充系数和位置(文件组) 要指定文件组,请使用 SQL ON 语句,例如: A_INDEX_RASTER "with fillfactor=99 ON RASfg" |
A_OUT_OF_ROW | 值为 0 或 1 如果设置为 0,直接在表格的数据页存储多达 8000 个字节。 如果设置为 1,数据始终存储在行外。 |
A_STORAGE | 指定在数据集注册为版本后将在哪个文件组创建 A 表 可使用 ON 来控制位置,例如: A_STORAGE "ON ADDS_FG" |
非空间表没有 shape 列,因此应对其他某种类型的索引进行聚集。
D 表参数
可通过 D 表对使用传统版本化的表中更新和删除的内容进行追踪。D 表参数的工作原理与 A 表参数相同。所有 D 表参数都以字母 D 开头。如下:
参数 | 说明 |
---|---|
D_CLUSTER_ALL | SDE_STATES_ID、SDE_DELETES_ROW_ID 和 DELETED_AT 列中创建的索引的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
D_CLUSTER_DELETED_AT | DELETED_AT 列中索引的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
D_INDEX_ALL | 为 SDE_STATE_ID、SDE_DELETES_ROW_ID 和 DELETED_AT 列中的复合索引指定填充系数和位置(文件组),例如: D_INDEX_ALL "with fillfactor=99 ON Deletes_fg" |
D_INDEX_DELETED_AT | 为 deleted_at 列中的索引指定填充系数和位置(文件组),例如: D_INDEX_DELETED_AT "with fillfactor=80 ON Deletes_fg" |
D_STORAGE | 指定在数据集注册为版本后将在哪个文件组创建 D 表 可使用 ON 来控制位置,例如: D_STORAGE "ON Deletes_fg" |
栅格表参数
ArcGIS 中的二进制和 rasterblob 栅格(均为 BLOB 存储类型)存储为五个独立表:波段表 (SDE_bnd_#)、块表 (SDE_blk_#)、栅格表 (SDE_ras_#)、辅助表 (SDE_aux_#) 和业务表。
栅格可作为要素类中的嵌入式目录或列进行存储,也可以存储为独立的数据集。
栅格表参数以 AUX、BLK、BND 和 RAS 开头,与栅格表相对应。定义栅格业务表存储类型的参数由业务表参数进行定义。
在所有栅格表中,只有块表的大小会增加。
使用二进制栅格时,请务必将 BND_CLUSTER_COMPOSITE config_string 设置为 1 以确保为波段表生成聚集索引。
栅格表参数如下:
参数 | 说明 |
---|---|
AUX_CLUSTER_COMPOSITE | 辅助表主键的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
AUX_INDEX_COMPOSITE | 为辅助表的主键索引指定填充系数和文件组位置,例如: AUX_INDEX_COMPOSITE "WITH FILLFACTOR= 90 ON AUX_FG" |
AUX_STORAGE | 为辅助表指定文件组位置 可使用 ON 来指定位置,例如: AUX_STORAGE "ON AUX_FG" |
BLK_CLUSTER_COMPOSITE | 块表主键的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
BLK_INDEX_COMPOSITE | 为块表的复合索引指定文件组位置 可使用 ON 来指定位置,例如: BLK_INDEX_COMPOSITE "WITH FILLFACTOR = 95 ON BLK_FG" |
BLK_STORAGE | 为块表指定文件组位置 可使用 ON 来指定位置,例如: BLK_STORAGE "ON BLK_FG" |
BND_CLUSTER_COMPOSITE | 波段表主键索引的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
BND_CLUSTER_ID | 波段表中 raster_id 和 sequence_nbr 列的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
BND_INDEX_COMPOSITE | 为波段表的主键索引指定填充系数和文件组位置,例如: BND_INDEX_COMPOSITE "WITH FILLFACTOR =90 ON BND_FG" |
BND_INDEX_ID | 为波段表的 raster_id 列索引和 sequence_nbr 列索引指定填充系数和文件组位置,例如: BND_INDEX_ID "WITH FILLFACTOR = 90 ON BND_FG" |
BND_STORAGE | 波段表的文件组位置 可使用 ON 来控制位置,例如: BND_STORAGE " ON BND_FG" |
RAS_CLUSTER_ID | 栅格表主键的索引类型 如果设置为 0,将创建非聚集索引。如果设置为 1,将创建聚集索引。 |
RAS_INDEX_ID | 栅格表主键索引的填充系数和位置(文件组) 可使用 ON 来控制位置,例如: RAS_INDEX_ID "WITH FILLFACTOR = 85 ON RAS_FG" |
RAS_STORAGE | 栅格表的文件组位置 可使用 ON 来控制位置,例如: RAS_STORAGE " ON RAS_FG" |
RASTER_STORAGE | 定义要使用的栅格数据存储类型:
*ArcGIS 10.4.1 和较早版本的客户端以及 ArcGIS Pro 1.3 和较早版本的客户端无法创建或访问使用此存储类型的栅格数据集或镶嵌数据集。 |
B_STORAGE 参数用于定义栅格属性表的存储类型。此表(或这些表;可以存在多个此类表)存储栅格像元值的属性值。如果要将这些表存储在与要素类业务表不同的位置,请为栅格属性表创建一个可指定不同存储信息的栅格关键字。指示数据创建者在创建栅格数据集时使用此关键字。
特定于索引的参数
填充系数参数
此类参数的结构为 *_INDEX_*。用于指定索引的 FILLFACTOR 参数。FILLFACTOR 参数指定索引中每个叶级页面的填充程度。SQL Server 默认值为 0,这表示索引的叶级页面几乎都处于填满状态,但非叶级页面至少具有两行以上的填充空间。用户定义的填充系数可介于 1 到 100 之间。如果填充系数为 100,则所有页面都处于完全填满状态。填充系数为 75 时,表明各个聚集索引页的填充度为 75%。后续插入和更新到数据中的内容将增加到索引页。当页面容量达到 100% 时,表明已处于填满状态。此后,对数据执行任何插入或更新操作都将造成页拆分。可通过 FILLFACTOR 来保持饱和索引页与页拆分之间的平衡。对某个页面进行拆分时,SQL Server 将被拆分页面中约 50% 的数据转移至一个新页面中,此新页面通常是从其他范围中分配出来的。页拆分会产生表碎片并影响性能。FILLFACTOR 值设置过低会创建过多的数据页面和范围,导致无法在查询时进行遍历,因而也会对性能产生负面影响。以下内容为选择填充系数的判定条件:
- 您的数据是否为只读? 是否始终不会对其进行编辑? 如果回答是肯定的,则请将数据的所有填充系数设置为 100。
- 您会经常对数据进行更新吗? 使用默认值。
- 您是否只是偶尔更新数据? 根据您对表进行碎片整理的频率,选择一个介于 75% 至 95% 范围之间的参数值。
可使用 sys.dm_db_index_physical_stats 对产生碎片的表和页拆分进行检测监视。
聚集索引参数
注:
不能将聚集索引同它所对应的表分开;因此,对于先前部分中描述的表参数,要确保为其指定的存储位置与表所关联的聚集索引的位置相同。
此类参数的结构为 *_CLUSTER_*,用于指示是否将某个特定索引创建为聚集索引(1 表示创建为聚集索引,0 表示创建为非聚集索引)。聚集索引在其叶结点处存储表格数据。聚集索引叶级处的数据页根据聚集索引键值得出其排序顺序。对于配置参数,必须遵循一条重要原则:不能将表同它所对应的聚集索引分开。例如,要素表应存储在 Feat 文件组中,您却指定在 FeatIdx 文件组中创建要素表的要素 ID (FID) 索引。FID 索引将被创建为聚集索引。配置设置可能如下所示:
keyword | parameter_name | config_string |
---|---|---|
DEFAULTS | F_INDEX_FID | WITH FILLFACTOR=90 ON FEATIDX |
DEFAULTS | F_STORAGE | ON FEAT |
上述示例中,要素表和要素表的索引都将位于 FeatIdx 文件组中。首先创建要素表,然后对 FID 列应用主键约束。主键约束通过以下语句在 FID 列上创建聚集索引并引用 FEATIDX 文件组:
ALTER TABLE features.dbo.f4
ADD CONSTRAINT f4_pk PRIMARY KEY CLUSTERED (fid)
WITH FILLFACTOR=75
ON FEATIDX
因此,ON FEAT 配置字符串是冗余的,因为索引是在创建表之后进行创建,而 F_INDEX_FID 配置字符串会覆盖 F_STORAGE 字符串。在接下来的示例中,为要素表而非要素表的索引指定文件组。
keyword | parameter_name | config_string |
---|---|---|
DEFAULTS | F_INDEX_FID | WITH FILLFACTOR=90 |
DEFAULTS | F_STORAGE | ON FEAT |
在此示例中,要素表和 FID 列的聚集索引都将位于 Feat 文件组中。出现此种情况的原因是:首先对表进行创建,而在之后应用 ALTER TABLE 语句时,由于之前的 config_string 列中未列出类似 ON 语句的字符串,因此不会追加任何 ON 语句。
ALTER TABLE features.dbo.f5
ADD CONSTRAINT f5_pk PRIMARY KEY CLUSTERED (fid)
WITH FILLFACTOR=75
用于存储文本的参数
文本列存储参数
影响文本数据在数据库中存储方式的参数有两种:UNICODE_STRING 和 COLLATION_NAME。UNICODE_STRING 参数用于确定文本列是否使用 Unicode 编码。默认情况下,此参数设置为 TRUE,表示使用 DEFAULTS 配置关键字创建的所有文本数据都将以 Unicode 格式 (UTF-8) 进行存储。如果参数设置为 FALSE,将通过为数据库设置的编码来存储文本。如果 UNICODE_STRING 设置为 TRUE,则可使用 COLLATION_NAME 参数为用户定义的文本列指定一个不同于数据库排序规则的排序规则。默认情况下,所有字符数据列使用默认的数据库排序规则。创建新的数据集(例如表或要素类)后,通过 COLLATION_NAME 指定的排序规则将应用于所有字符数据列。如果 COLLATION_NAME 为空,则将使用数据库排序规则。如果 UNICODE_STRING 参数设置为 FALSE,将忽略 COLLATION_NAME 参数。
要了解 COLLATION_NAME 参数的值,请选择区分大小写的数据库排序规则版本。这通常意味着将排序规则名称中的 CI 更改为 CS。如果您不确定,请参阅 SQL Server 文档或执行以下查询以获取排序规则名称列表:SELECT * FROM ::fn_helpcollations()
影响空间存储的参数
在特定于索引的参数一节中已对空间索引参数进行了论述。影响空间数据存储的其他参数包括 GEOMETRY_STORAGE 和 GEOM_SRID_CHECK。
GEOMETRY_STORAGE
SQL Server 中的地理数据库可使用以下所述空间数据存储格式。GEOMETRY_STORAGE 参数指定用于新要素类的几何存储方法。
- Microsoft SQL Server 几何类型 - Microsoft 的一种空间类型,用于管理在任意平面上由坐标定义的空间数据(无需考虑地球曲率)。这是 SQL Server 中地理数据库的默认空间存储方法。如果您要以这种格式来存储空间数据,请将 GEOMETRY_STORAGE 参数设置为 GEOMETRY。如果未设置 GEOMETRY_STORAGE 参数,则假定为 GEOMETRY 类型。
- Microsoft SQL Server Geography 类型 - Microsoft 的一种空间类型,用于管理由经度/纬度坐标定义的空间数据。如果您的要素跨越较大区域且需要考虑地球曲率,请使用此类型。如果您要将此格式设置为地理数据库的默认存储类型,请在 DEFAULTS 配置关键字参数列表下方将 GEOMETRY_STORAGE 参数设置为 GEOGRAPHY。如果仅希望将其用于某些数据集,请创建一个自定义关键字,其中包含设置为 GEOGRAPHY 的 GEOMETRY_STORAGE 参数,并包含 UI_TEXT 参数,以便数据创建人员可以在 ArcGIS 客户端应用程序中使用该关键字。
如果数据库中的所有要素类使用同一种几何存储方法,则在 DEFAULTS 配置关键字中对 GEOMETRY_STORAGE 参数设置一次即可。
GEOM_SRID_CHECK
如果您在 ArcGIS 中创建使用 SQL Server 几何存储类型的要素类,或者使用 SQL 创建具有 SQL Server 几何列的空间表并将该表注册到地理数据库中,则该表中的所有记录必须使用相同的空间参考 ID (SRID)。
数据库管理系统并不强制表中的所有记录共有一个 SRID。因此,如果您计划使用 SQL 来编辑具有 SQL Server 几何列且已注册到地理数据库中的表,建议您将 GEOM_SRID_CHECK 参数设置为 TRUE。将该参数设置为 TRUE 后,ArcGIS 将在 SRID 值的几何列中添加检查约束。此方法可确保在 ArcGIS 外部执行编辑操作的用户不会向同一表中添加多个 SRID。
警告:
将此参数设置为 TRUE 会对性能产生影响。考虑到这个原因,在没有用户使用 SQL(或者第三方软件)对注册到地理数据库的空间表进行编辑的情况下,请不要将参数设置为 TRUE。
用于 XML 文档存储的参数
注:
如果您在地理数据库中不使用 XML 列和 XML 文档,则无需对这些参数进行配置。由于不再有 ArcGIS 客户端直接使用 XML 文档,因此您不太可能需要更改这些参数。
如果您的表使用原生 SQL Server XML 列 (DB_XML),可以设置以下参数:
XML_COLUMN_SCHEMA XML_COLUMN_TYPE XML_COLUMN_PRIMARY_IDX XML_COLUMN_PATH_IDX XML_COLUMN_PROPERTY_IDX XML_COLUMN_VALUE_IDX
XML_COLUMN_SCHEMA 用于指定添加或更改 XML 数据时所使用的模式集合。XML 模式集合对 XML 数据强制执行模式约束。
与 XML 模式集合关联的 XML 数据被称为类型化 XML。XML_COLUMN_TYPE 参数用于指定 XML 列存储的 XML 文档类型;CONTENT 或 DOCUMENT。默认值为 CONTENT。仅当 XML 数据只具有一个顶级元素时,才使用 DOCUMENT。
XML_COLUMN_PRIMARY_IDX、XML_COLUMN_PATH_IDX、XML_COLUMN_PROPERTY_IDX 和 XML_COLUMN_VALUE_IDX 用于确定是否在 XML 列中创建主索引、路径索引、属性索引或值索引。
如果搜索操作通常对整个 XML 文档内容进行检查以查看其中是否包含特定字,或者如果您根本不对 XML 文档进行搜索,则对 XML 文档表的使用将更加频繁。XML 文档表具有三种参数:
XML_DOC_INDEX XML_DOC_STORAGE XML_DOC_OUT_OF_ROW
XML_DOC_STORAGE 为表的创建语句提供存储字符串。XML_DOC_INDEX 指定索引填充系数和存储参数,而 XML_DOC_OUT_OF_ROW 用于确定将 BLOB 数据存储于行内还是行外。有关详细信息,请参阅本主题的“行内文本参数”一节。
如果对各个元素频繁搜索,则 XML 文档索引表将是 XML 表中受访问最为频繁的部分。XML 文档索引表具有更多配置参数;这些参数均以 XML_IDX_ 开头。
XML_IDX_CLUSTER_DOUBLE XML_IDX_CLUSTER_ID XML_IDX_CLUSTER_PK XML_IDX_CLUSTER_TAG XML_IDX_INDEX_DOUBLE XML_IDX_INDEX_ID XML_IDX_INDEX_PK XML_IDX_INDEX_TAG XML_IDX_STORAGE XML_IDX_OUT_OF_ROW
XML_IDX_CLUSTER_* 参数用于指定应对 XML 文档索引表中的哪个索引进行聚集。默认情况下,对主键索引(xml_key_column 中)进行聚集。
以下参数对 XML 列的 XML 文档表和 XML 文档索引表均有影响。它们用于控制对文档内容建立索引的方式和时间。
XML_IDX_FULLTEXT_CAT XML_IDX_FULLTEXT_LANGUAGE XML_IDX_FULLTEXT_TIMESTAMP XML_IDX_FULLTEXT_UPDATE_METHOD
XML_IDX_FULLTEXT_CAT 包含您所创建的全文目录的名称。默认为 SDE_DEFAULT_CAT。如果您要对全文目录的默认名称 SDE_DEFAULT_CAT 进行重命名,必须对此参数的配置字符串进行更新。
XML_IDX_FULLTEXT_LANGUAGE 表示对 XML 文档内容构建文本索引时进行语言分析的语言。未提供默认值;因此,可使用在 SQL Server 默认全文语言设置中定义的语言。如果提供了值,则将使用其进行语言分析。
XML_IDX_FULLTEXT_TIMESTAMP 和 XML_IDX_FULLTEXT_UPDATE_METHOD 用于控制全文索引维护。update_method 参数指示如何将文档表的更改内容传递至全文索引。默认情况下(默认值为 1),时间戳参数将向 SDE_xml_idx<xml_column_id> 表中添加时间戳列。如果设置为 0,则不添加时间戳列。
如果 update_method 和时间戳参数都设置为 0,则不执行索引维护,并且每当指示 ArcGIS 对全文索引进行更新时(通过 SE_xmlindex_update_text_index),索引将被填满。
如果 update_method 设置为 0 而时间戳参数设置为 1,则不执行索引维护,并且 ArcGIS 将对最近一次增量更新后的更改内容执行增量索引填充。
如果 update_method 设置为 CHANGE_TRACKING MANUAL,那么数据库将会列出发生更改的行,但不更新索引。
如果 update_method 设置为 CHANGE_TRACKING BACKGROUND,数据库将对更改内容进行追踪并自动更新索引。
建议您使用地理数据库中提供的默认设置。如果服务器无法完成其工作量并且您只能更改索引建立方式,则请将更改追踪功能设置为手动 (CHANGE_TRACKING MANUAL)。
接下来的参数 XML_IDX_INDEX_* 用于控制 SDE_xml_idx<xml_column_id> 表索引的填充系数和存储方法。XML_IDX_TEXT_IN_ROW 用于控制一行中可填充的 XML 文档 BLOB 数据量。同大多数行内文本设置一样,建议您不要对默认设置进行更改。
影响日志文件表和索引的参数
ArcGIS 通过日志文件表对临时性和永久性的所选记录集进行维护。
将始终在 SQL Server 中的地理数据库中的 tempdb 中创建会话日志文件表。即便这些地理数据库中已经存在日志文件表参数,系统也会将其忽略。
其他配置参数
有些参数无法进行准确归类。本部分将介绍这些参数。
NUM_DEFAULT_CURSORS 参数
NUM_DEFAULT_CURSORS 参数用于控制游标阈值。此参数指定了将异步生成游标键集的游标集中的行数。默认值为 -1,表示所有键集将同步生成,这种设置适合较小的游标集。如果将参数设置为 0,则所有游标键集将异步生成。如果将参数设置为 0 和 -1 之外的其他值,则无论日志文件参数设置为何值,查询优化器都会将游标集中的预期行数与游标阈值中设置的数值进行对比,如果超出阈值,那么以异步方式构建键集。异步填充表示在填充游标期间您可以对游标中已存在的行进行访问。而对于同步填充,只有所有行都填充至游标后,才可以进行访问。
警告:
建议您不要对默认值进行更改;更改此值会对整个服务器造成影响。更改默认值后,将很难确定平均游标键集的大小。除非您确定更改该值将有助于提高性能,否则请不要进行更改。
PERMISSION_CACHE_THRESHOLD
尽管此参数仍存在于地理数据库中,但已不会对连接性能产生影响。
添加此参数后,确定数据库中对象权限的方法需要查询数据库系统表并构建一个连接用户可以访问的数据集列表。如果数据库中包含大量对象,则可能减缓连接速度。SQL Server 随后改进了访问此信息的方式,致使该参数不再使用。
如果对象权限信息的初始查询值超出为参数设置的阈值(以毫秒为单位),则 PERMISSION_CACHE_THRESHOLD 将构建临时表。默认阈值为 250 毫秒,最大值为 1000 毫秒。
PERMISSION_CACHE_THRESHOLD 仅在 DEFAULTS 参数组中使用。临时表只在连接期间存在,因此如果在会话期间连接用户的权限发生更改,那么用户只有断开连接并重新连接至数据库,才能查看到更改内容。
用户界面参数
用户界面参数以 UI 开头,用于指示其关联配置关键字在 ArcGIS 用户界面和 ArcObjects 中是否可用。 UI_TEXT 用于非复合配置关键字。 UI_TOPOLOGY_TEXT 用于拓扑关键字。 UI_NETWORK_TEXT 用于网络关键字。 需要 UI 参数的默认配置关键字已具备 UI 参数。 仅在创建您自己的自定义关键字时才需要添加这些参数的其中之一。