sys.dm_db_xtp_undeploy_status(Transact-SQL)

适用于: SQL Server 2025 (17.x) 预览版和更高版本

返回一行,反映从数据库中删除引擎时 In-Memory OLTP (XTP) 数据库引擎的状态。

XTP 引擎删除或取消部署是由语句启动 ALTER DATABASE ... REMOVE FILE 的一个多步骤过程,该进程从 内存优化文件组中删除最后剩余的内存优化容器。 该 sys.dm_db_xtp_undeploy_status 视图报告进程中的当前步骤。 它可用于监视和排查内存优化容器和文件组删除问题。

有关详细信息和查看分步过程,请参阅 内存优化容器和文件组删除

列名称 数据类型 DESCRIPTION
deployment_state int XTP 引擎的当前状态:

0 - 未部署 XTP 引擎。

XTP 引擎从未在此数据库中部署或已被删除。

1 - XTP 引擎已准备就绪(版本部署)。

版本部署意味着内存优化文件组和容器存在、内存优化表或其他 XTP 对象不存在,但可以创建,并且 XTP 检查点未运行。 ALTER DATABASE ... REMOVE FILE 可以执行该作以删除所有内存优化容器,包括最后一个剩余的容器。

2 - XTP 引擎已准备就绪(检查点部署)。

检查点部署意味着内存优化表或其他 XTP 对象存在(或过去存在),并且 XTP 检查点正在运行。 ALTER DATABASE ... REMOVE FILE 可以执行以开始删除最后剩余内存优化容器。

3 - 等待日志的开始时间超过取消部署 LSN。

正在进行 XTP 取消部署。 使用 CHECKPOINT 和备份 BACKUP DATABASE 的手动检查点, BACKUP LOG 并可以执行这些检查点,以提前 start_of_log_lsn 超过 undeploy_lsn 该值的值。

4 - 等待最终取消部署日志记录。

正在进行 XTP 取消部署。 在日志 LSN 启动超过取消部署 LSN(包括所有可用性组副本)之后,主副本将创建最终的取消部署日志记录。 应用最终日志记录后,后续检查点将取消部署 XTP 引擎。

5 - 等待 XTP 检查点完成 XTP 取消部署。

正在进行 XTP 取消部署。 最终的 XTP 检查点可以使用手动 CHECKPOINT启动,或者在事务日志超过特定阈值时自动发生。 有关详细信息,请参阅 内存优化表的检查点作

6 - 准备删除最后一个内存优化容器。

正在进行 XTP 取消部署。 如果在 ALTER DATABASE ... REMOVE FILE XTP 取消部署完成之前中止了最后一个内存优化容器的语句,则可以达到此状态。 可以再次执行该语句以删除最后一个容器并完成 XTP 取消部署。
undeploy_lsn numeric(25,0) 日志序列号(LSN),指示从数据库中删除 XTP 引擎的开始。

在首次执行语句以启动 XTP 引擎取消部署过程并发生 XTP 检查点之后ALTER DATABASE ... REMOVE FILE,记录具有此 LSN 的日志记录。 在检查点之前,报告的值为 0。
start_of_log_lsn numeric(25,0) 事务日志的活动部分的起始 LSN。
deployment_state_desc nvarchar(60) XTP 引擎的当前状态的说明。

权限

需要对数据库拥有 VIEW DATABASE PERFORMANCE STATE 权限。