问题标签 [temporal-tables]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
1541 浏览

sql - 如何在 Power BI 中使用 SQL 临时表

我正在构建一个使用一组 SQL 临时表作为源的 Power BI 报表。我想为用户提供从日期切片器中选择月份的机会,并根据该选择,报告将显示该日期的有效数据。

SQL 通过使用允许查询的系统版本表来实现这一点,例如

这将返回表中的所有有效值,就好像查询是在这些日期之间运行的一样。

我找不到任何有关如何在 Power BI 中使用临时表的文档。

在 Power BI 中执行此操作的最佳方法是什么?

0 投票
1 回答
2578 浏览

sql-server - 如何在一个查询中清除所有系统版本表?

我有一个查询,它允许我删除所有行并重置所有表的所有缩进列,而不会破坏任何外键引用。此查询适用于普通 SQL Server 表:

问题是,现在我使用的是系统版本的时态表,以前的查询不再起作用。我的版本化表都已命名tbl_Foo,每个历史表都采用tbl_Foo_history.

我尝试使用这样的东西:

但它给出了错误:

因为sp_MSForEachTable当试图从历史表中删除版本控制时,显然会变得非常混乱。

如果不为每个表单独指定查询,我应该如何做到这一点?

0 投票
1 回答
1036 浏览

sql-server - 为维度实现临时表以跟踪更改

我正在研究星型模式,我想跟踪某些维度,特别是某些列的数据历史记录。是否可以使用临时表作为另一种选择?如果是,如何将当前记录存储在时态表中?另外,我的维度的来源将是我的时间表的历史表是否符合逻辑?

0 投票
2 回答
1205 浏览

sql-server - SQL Server 中时态表之间的数据同步

我想在两个具有系统版本(临时)表的数据库之间同步数据。Azure 中的数据同步选项不支持时态表,我需要找到另一种在数据库之间进行同步的方法。

我想使用 Azure 数据工厂将数据从一个时态表复制到另一个数据库的另一个时态表中。Azure 数据工厂是否支持时态表之间的数据同步?

在具有相同时态表的两个数据库之间同步数据的最佳方式是什么?

0 投票
2 回答
3480 浏览

sql-server - 启用 SYSTEM_VERSIONING 错误 - 历史表中的重叠日期

我最近将我的 SQL 2019 数据库从 VM 迁移到 Azure SQL。我使用了 MS 数据迁移工具,但不幸的是,它不会从临时表迁移数据。

所以。我只是使用该工具创建表模式,然后使用 SSIS 移动数据。

由于我现有的历史表中有数据,我想保留 SysStartDate 和 SysEndDate 字段。为了做到这一点,我必须在我的 Azure SQL 数据库中禁用 SYSTEM_VERSIONING 并在表上删除 PERIOD。

数据迁移成功,所以我在表上重新创建了我的 PERIOD,但是当我尝试使用指定的历史表启用 SYSTEM_VERSIONING 时,我收到以下错误:

消息 13573,级别 16,状态 0,第 34
行将 SYSTEM_VERSIONING 设置为 ON 失败,因为历史表 'xxxxxHistory'
包含重叠记录。

我觉得这很奇怪,因为现有表最初是作为临时表加入的,所以我不明白为什么现在会发生冲突。

我希望得到一个成功的临时表。相反,我收到以下错误:

消息 13573,级别 16,状态 0,第 34
行将 SYSTEM_VERSIONING 设置为 ON 失败,因为历史表 'xxxxxHistory'
包含重叠记录。

我运行以下查询来识别重叠,但我没有得到任何:

0 投票
0 回答
31 浏览

sql-server - SQL Server 是否“正常”存储系统版本(临时)表的历史表?

我想知道 SQL Server 是否使用任何花哨的存储(例如,仅存储更改)来节省空间和/或促进搜索。

如果存储是“平面”的,就像在主表中一样,那么将系统版本控制的表在易失性和非易失性字段之间拆分可能不是有利的吗?例如,如果员工的姓名、SSN 和电子邮件很少更改,但他的 SickDaysThisYear 会更改(我并不是说这是一个好的模式),那么每次第四个更改时都重复前三个字段似乎很浪费。

0 投票
1 回答
513 浏览

sql - 在数据库中的现有表上启用系统版本控制

我正在尝试对数据库中的现有表启用系统版本控制。但是,我编写的代码不起作用。我正在使用 SQL Server 2016。

我得到的错误是

GENERATED(第 4 行)附近的语法不正确

另一个错误是

'SYSTEM_VERSIONING' 附近的语法不正确(第 9 行)

有人可以帮我解决我做错了什么吗?

0 投票
1 回答
129 浏览

c# - 如何将时态表添加到 EF Code-First DBContext?

我想在 DBContext 中的项目中添加 SQL 时态表,而不是在迁移文件中?如何实现?编辑:我已将它添加到种子功能,但它仍然无法正常工作

0 投票
1 回答
505 浏览

sql-server - DACPAC 抱怨带有 FOR SYSTEM_TIME 子句的视图

我们使用 SSDT DACPAC 来部署我们的数据库项目。我们在发布时收到此错误

错误 SQL72014:.Net SqlClient 数据提供程序:消息 13544,级别 16,状态 1,过程 sp_refreshsqlmodule_internal,第 85 行临时 FOR SYSTEM_TIME 子句只能用于系统版本控制的表。“reporting.dbo.VW_xxxxxxx”不是系统版本表。错误 SQL72045:脚本执行错误。

可以在 SSMS 中创建和更改视图而无需投诉。
我们在视图中封装了一些逻辑,因此我们仍然希望在视图中使用 FOR SYSTEM_TIME。如何让 DACPAC 使用这些对象和子句?

https://docs.microsoft.com/en-us/sql/relational-databases/tables/querying-data-in-a-system-versioned-temporal-table?view=sql-server-ver15 使用 FOR 显示视图SYSTEM_TIME 子句。

谢谢!

0 投票
1 回答
22 浏览

oracle12c - OracleDB 是否支持事务时间?

我知道 OracleDB 支持有效时间,但它是否也支持事务时间(系统时间,应用程序时间)?在 sql 中工作的属性示例: