【发布时间】:2013-09-05 18:16:29
【问题描述】:
我使用 SQL Server 2008 R2 以及 SSAS 和 SSIS。
我创建了一个阶段数据库,每天都从 OLTP 数据库中填充。
然后在数据清理和集成数据 (ETL) 之后,我最常将我的数据转移到 DataWarehouse。
现在我需要做的是如何更改我的 OLTP 数据库中的跟踪。
我知道解决方案Trigger(我可以在 OLTP 数据库中的所有表上触发触发器并记录数据插入/删除/更新自触发器内的已插入和已删除表)
但是我的 OLTP 数据库非常大(大约 80,000,000 条记录)并且创建触发器使我的业务变慢。
我从这个网站上找到了一些这样的查询:
SELECT
*
FROM
sys.fn_dblog(NULL,NULL)
显示来自LDF 文件的所有记录。
我找到了一些第三方软件,它可以读取 LDF 文件,然后提取命令(插入/更新/删除)命令,例如 ApexSQL
我在这个网站上发现了一个问题How to view transaction logs in SQL Server 2008
最后我认为如果第 3 方可以从 LDF 文件中提取此命令,为什么我们不能提取该命令?!?
另一方面,我需要在 OLTPs 数据库中找到像 Alter Table 和 Alter Field 这样的 DDL 命令来更改我的阶段数据库。
我发现This Link 可以从 LDF 文件中恢复已删除的行。
【问题讨论】:
-
我需要一个更窄且格式正确的问题。
-
根据您的编辑,您需要开始使用一些更改跟踪。为此解析日志文件不是解决方案。
标签: sql-server-2008 ssis ssas data-warehouse olap