SQL Server 的时态表会继续存在吗?

Ore*_*n A 8 sql-server temporal-tables

我们正在考虑在应用程序中保存记录历史的不同方法。

部分负责人担心,这是SQL server比较新的特性,微软可能会停止支持。

这些担忧是否合理?
是否有此功能的路线图,说明 Microsoft 打算在未来使用此功能做什么?

Lea*_*min 15

我不认为这种担忧是合理的。此功能是在 SQL Server 2016 中引入的,并且非常清楚地提到它适用于 SQL Server 2016 及更高版本。更高版本意味着现在至少是 SQL Server 2019 已经发布

时态表

适用于:SQL Server 2016 (13.x) 及更高版本、Azure SQL 数据库、Azure SQL 托管实例 - Azure Synapse Analytics

SQL Server 2016 引入了对时态表(也称为系统版本化时态表)的支持作为一种数据库功能,该功能带来了内置支持,可在任何时间点提供有关存储在表中的数据的信息,而不仅仅是正确的数据在当前时刻。时态是 ANSI SQL 2011 中引入的数据库功能。

如果有的话,有可能删除任何功能或他们在 Microsoft 文档中提到的任何内容,例如“数据库镜像”。您可以阅读以下相同的详细信息

笔记

此功能处于维护模式,可能会在 Microsoft SQL Server 的未来版本中删除。避免在新的开发工作中使用此功能,并计划修改当前使用此功能的应用程序。请改用 Always On 可用性组。

我希望这能解决您的担忧。

注意:鉴于临时表是 ISO/ANSI SQL 标准的一部分,并且该功能极不可能从 SQL Server 中删除。

  • 鉴于临时表是 ISO/ANSI SQL 标准的一部分,我认为该功能极不可能从 SQL Server 中删除。我不记得曾经从产品中删除对 SQL 标准功能的支持。 (12认同)
  • @DavidBrowne-Microsoft 我认为更多的是担心此功能可能会遭受与许多其他功能类似的命运,并且除了 v1 之外没有太多关注或喜爱,只有错误/安全问题得到解决。这可能更像是一个路线图问题*耸耸肩* (3认同)
  • 很好的输入,在我的答案中添加了相同的内容。谢谢你。 (2认同)
  • 并且“每个版本的 SQL Server 都得到至少 10 年的支持”,因此即使该功能被删除(并且不会被删除),它也会在 2029 年得到支持。https://docs.microsoft.com /en-us/sql/sql-server/end-of-support/sql-server-end-of-life-overview?view=sql-server-ver15 (2认同)

Jos*_*ell 8

部分负责人担心,这是SQL server比较新的特性,微软可能会停止支持。

对此问题的一种解释与字面弃用和/或删除该功能有关。在现有的回答涵盖了非常好。

另一种解释是,尽管该功能继续存在,但在 SQL Server 的未来版本中,它可能会被“放弃”并且不会显着改进。

考虑 SQL Server 2012 中引入的列存储索引。此功能在初始版本中存在严重限制。但此后每个新版本的 SQL Server 都显着扩展了该功能——删除限制、添加新功能、新的监控 DMV 等。

另一方面,像 SQLCLR 这样的东西自从在 SQL Server 2005 中首次发布以来,几乎没有创新(或采用!)。

是否有此功能的路线图,说明 Microsoft 打算在未来使用此功能做什么?

不是明确的,但衡量一个功能是否没有被放弃的一种方法是查看它是否在后续版本中得到开发关注。在 2016 年以来的两个主要版本中,对时态表进行了一些改进:

考虑与新功能的互操作性也很重要。例如,时态表与 SQL Server 2017 中引入的新节点和边缘表兼容。因此,就被“放弃”而言,这是对时态表的一种打击。


这些担忧是否合理?

总而言之,我认为,它是非常不可能的这项功能将被删除或弃用。但是,如果您希望看到限制和限制列表缩小,那似乎不太可能——至少,不是基于自该功能的 V1 以来的两个主要版本。