sp_db_selective_xml_index (Transact-SQL)

适用范围:SQL Server

在 SQL Server 数据库上启用和禁用选择性 XML 索引 (SXI) 功能。 如果未调用任何参数,则存储过程将 1 返回在特定数据库上启用 SXI 时。

注意

在 SQL Server 2014(12.x)及更高版本中,无法禁用 SXI 功能。 在 SQL Server的未来版本中将删除此功能。 请避免在新的开发工作中使用该功能,并着手修改当前还在使用该功能的应用程序。

Transact-SQL 语法约定

语法

sp_db_selective_xml_index
    [ [ @dbname = ] N'dbname' ]
    [ , [ @selective_xml_index = ] 'selective_xml_index' ]
[ ; ]

参数

[ @dbname = ] N'dbname'

要对其启用或禁用选择性 XML 索引的数据库的名称。 @dbname为 sysname,默认值为 NULL.

如果@dbnameNULL,则假定当前数据库。

[ @selective_xml_index = ] 'selective_xml_index'

确定是启用还是禁用该索引。 @selective_xml_index是 varchar(6),默认值NULL为,可以是以下值之一:ONOFF、或FALSETRUE 任何其他值都引发错误。

返回代码值

1 如果在特定数据库上启用了 SXI, 0 则为禁用。

示例

A. 启用选择性 XML 索引功能

以下示例对当前数据库启用 SXI。

EXEC sys.sp_db_selective_xml_index
    @dbname = NULL
  , @selective_xml_index = N'on';
GO

以下示例对 AdventureWorks2022 数据库启用 SXI。

EXECUTE sys.sp_db_selective_xml_index
    @dbname = N'AdventureWorks2022'
  , @selective_xml_index = N'true';
GO

B. 禁用选择性 XML 索引功能

以下示例对当前数据库禁用 SXI。

EXECUTE sys.sp_db_selective_xml_index
    @dbname = NULL
  , @selective_xml_index = N'off';
GO

以下示例对数据库禁用 SXI AdventureWorks2022

EXECUTE sys.sp_db_selective_xml_index
    @dbname = N'AdventureWorks2022'
  , @selective_xml_index = N'false';
GO

°C 检测是否启用了选择性 XML 索引

以下示例检测是否启用了 SXI,并返回 1 是否启用了 SXI。

EXECUTE sys.sp_db_selective_xml_index;
GO