Oren A Asked: 2020-07-19 21:49:34 +0800 CST2020-07-19 21:49:34 +0800 CST 2020-07-19 21:49:34 +0800 CST SQL Server 的时态表会继续存在吗? 772 我们正在考虑在应用程序中保存记录历史的不同方法。 一些负责人担心,由于这是 SQL Server 的一个相对较新的功能,微软可能会停止支持它。 这些担忧是否合理? 是否有此功能的路线图说明 Microsoft 打算在未来使用此功能做什么? sql-server temporal-tables 2 个回答 Voted Best Answer Learning_DBAdmin 2020-07-19T22:31:19+08:002020-07-19T22:31:19+08:00 我认为这种担忧是不合理的。此功能在 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 中删除。 Josh Darnell 2020-07-21T07:56:04+08:002020-07-21T07:56:04+08:00 一些负责人担心,由于这是 SQL Server 的一个相对较新的功能,微软可能会停止支持它。 对此问题的一种解释与字面弃用和/或删除该功能有关。现有的答案很好地涵盖了这一点。 另一种解释是,尽管该功能继续存在,但它可能会被“放弃”并且在 SQL Server 的未来版本中没有显着改进。 考虑 SQL Server 2012 中引入的列存储索引。此功能在初始版本中存在严重限制。但从那时起,每个新版本的 SQL Server 都显着扩展了该功能——移除限制、添加新功能、新监控 DMV 等。 另一方面,像 SQLCLR 这样的东西自从它在 SQL Server 2005 中首次发布以来,几乎没有什么创新(或采用!)。 是否有此功能的路线图说明 Microsoft 打算在未来使用此功能做什么? 不明确,但衡量一个特性是否未被放弃的一种方法是查看它是否在后续版本中引起开发关注。在 2016 年以来的两个主要版本中,对时态表进行了一些改进: SQL 服务器 2017 引入了“保留策略”选项,它清理历史表中的旧行 删除了周围的限制ON DELETE CASCADE并在此处ON UPDATE CASCADE引用 SQL Server 2019 引入了将拉伸数据库功能与时间历史表一起使用的能力 考虑与新功能的互操作性也很重要。例如,时态表与 SQL Server 2017 中引入的新节点表和边缘表不兼容。因此,就“被遗弃”而言,这是对时态表的一种打击。 这些担忧是否合理? 总而言之,我同意这个功能不太可能被删除或弃用。但是,如果您希望看到限制和限制列表缩小,这似乎不太可能 - 至少,不是基于该功能 V1 以来的两个主要版本。
我认为这种担忧是不合理的。此功能在 SQL Server 2016 中引入,并且非常明确地提到它适用于 SQL Server 2016 及更高版本。更高版本的意思是现在至少已经发布了 SQL Server 2019 。
临时表
如果有的话,有可能删除任何功能或他们在 Microsoft 文档中提到的任何内容,例如“数据库镜像”。您可以阅读以下内容的详细信息:
我希望这能解决您的担忧。
注意:鉴于时态表是 ISO/ANSI SQL 标准的一部分,该功能极不可能从 SQL Server 中删除。
对此问题的一种解释与字面弃用和/或删除该功能有关。现有的答案很好地涵盖了这一点。
另一种解释是,尽管该功能继续存在,但它可能会被“放弃”并且在 SQL Server 的未来版本中没有显着改进。
考虑 SQL Server 2012 中引入的列存储索引。此功能在初始版本中存在严重限制。但从那时起,每个新版本的 SQL Server 都显着扩展了该功能——移除限制、添加新功能、新监控 DMV 等。
另一方面,像 SQLCLR 这样的东西自从它在 SQL Server 2005 中首次发布以来,几乎没有什么创新(或采用!)。
不明确,但衡量一个特性是否未被放弃的一种方法是查看它是否在后续版本中引起开发关注。在 2016 年以来的两个主要版本中,对时态表进行了一些改进:
ON DELETE CASCADE
并在此处ON UPDATE CASCADE
引用考虑与新功能的互操作性也很重要。例如,时态表与 SQL Server 2017 中引入的新节点表和边缘表不兼容。因此,就“被遗弃”而言,这是对时态表的一种打击。
总而言之,我同意这个功能不太可能被删除或弃用。但是,如果您希望看到限制和限制列表缩小,这似乎不太可能 - 至少,不是基于该功能 V1 以来的两个主要版本。