Sql server 数据仓库:计算sql server表中更改了哪些行以方便数据仓库
业务场景,寻求一种编程方法: 每天晚上,我都要从生产数据库更新数据仓库数据库中的表ABC。这个表有数百万行,所以我想高效地完成这项工作 该表没有任何类型的时间戳标记(LastUpdated\Time) 该数据库是由我们运行其软件的供应商创建的,他们使我们能够查看数据。我们可能没有太多的筹码来请求新的列来容纳诸如LastUpdate日期时间戳之类的信息 在没有这些信息的情况下,是否有一种方法能够识别那些已更改或添加的行 例如,是否存在与表记录关联的可查询物理行号这样的东西,可以帮助我们找到解决方案?如果可以查询,或者按顺序进行,那么可能有一种方法可以获取插入的行 更新的行,我不太确定 在这一点上,我只是想看看是否有一个有效的解决方案 理想情况下,解决方案将面向一个存储过程,我们可以每天晚上都运行这个存储过程 多谢各位 我看到了这一评论,但我不确定该解决方案是否有效:Sql server 数据仓库:计算sql server表中更改了哪些行以方便数据仓库,sql-server,tsql,row,data-warehouse,Sql Server,Tsql,Row,Data Warehouse,业务场景,寻求一种编程方法: 每天晚上,我都要从生产数据库更新数据仓库数据库中的表ABC。这个表有数百万行,所以我想高效地完成这项工作 该表没有任何类型的时间戳标记(LastUpdated\Time) 该数据库是由我们运行其软件的供应商创建的,他们使我们能够查看数据。我们可能没有太多的筹码来请求新的列来容纳诸如LastUpdate日期时间戳之类的信息 在没有这些信息的情况下,是否有一种方法能够识别那些已更改或添加的行 例如,是否存在与表记录关联的可查询物理行号这样的东西,可以帮助我们找到解决方案
请检查合并操作符,您可以创建一个SQL Server作业,该作业可以执行合并脚本来检查和更新更改(如果有)。您的第一个选择是尝试实施CDC(更改数据捕获),它将使用SQL Server引擎的功能来跟踪此类数据。请让我们知道CDC是否可用。Piotr:不熟悉,但如果您知道的话:变更数据事务信息是否总是存在,您必须点击它,或者必须启用它?如果它总是在那里,我认为供应商可以让我们访问数据表。源数据不由我们管理。谢谢您需要在源数据库上启用它,请阅读: