适用于: 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
权限。