为内存优化对象定义持续性

适用于:SQL ServerAzure SQL 数据库Azure SQL 托管实例

有两个用于内存优化表的持续性选项:

SCHEMA_AND_DATA(默认值)
此选项提供架构和数据的持续性。 数据持续性的级别取决于提交事务时其作为完全持久还是延迟持续性。 完全持久事务对数据和架构提供相同的持续性保证,与基于磁盘的表类似。 延迟持续性将提高性能,但如果服务器崩溃或进行故障转移,则可能会丢失数据。 (有关延迟持续性的详细信息,请参阅 控制事务持续性。)

SCHEMA_ONLY
此选项可确保表架构的持续性。 当SQL Server重启或Azure SQL数据库中发生重新配置时,表架构将保留,但表中的数据会丢失。 (这与 tempdb 中的表不同;对于 tempdb 中的表,表及其数据都会在重新启动时丢失。)创建非持久表的典型情况是用于存储瞬时数据(如用于 ETL 进程的临时表)。 SCHEMA_ONLY持续性可避免事务日志记录,这可以显著减少 I/O 操作,但仍参与检查点操作以仅保留表架构。

使用默认SCHEMA_AND_DATA表时,SQL Server提供与基于磁盘的表相同的持续性保证:

事务持续性
提交对内存优化表作出(DDL 或 DML)更改的完全持久事务时,对持久内存优化表作出的更改为永久更改。

向内存优化表提交延迟的持久事务时,仅在将内存中事务日志保存到磁盘后,该事务才成为持久事务。 (有关延迟持续性的详细信息,请参阅 控制事务持续性。)

重新启动持续性
当SQL Server在崩溃或计划关闭后重启时,将重新验证内存优化持久表,以将其还原到关闭或崩溃前的状态。

介质故障持续性
如果失败或损坏的磁盘包含持久内存优化对象的一个或多个持久副本,则SQL Server备份和还原功能将还原新介质上的内存优化表。

另请参阅

创建和管理用于内存优化对象的存储