目标:
让我们想到一个大型企业,我们拥有异构数据存储,例如SQL服务器,No-SQL存储,大数据存储,如ADL,ADF ......等,分布在不同的业务组中。
我们的目标是在企业级别构建一个沿袭服务,这将提供有关企业内不同数据存储实例之间的数据沿袭的见解。这将有助于我们深入了解企业内的数据扩散。
为此,作为第1阶段,我们想要使用SQL服务器,并希望在SQL服务器和它的数据库之间和之间构建谱系。
我们是否可以通过利用实例内部或跨实例的SQL分析或事务日志,从SQL服务器构建/提取(如果可用)数据沿袭(表和列级别)。
我查看了Determining Impact and Data Lineage,看起来SQL服务器应该启用Dependency Services。
作为企业级服务,我可能有权访问SQL Server,并且在启用任何服务时可能无法控制sql server实例。
任何人都可以分享有关在SQL Server内部或跨SQL Server构建或提取数据沿袭的任何见解或经验。
提前致谢!
Mydeen
答案 0 :(得分:0)
您可以将数据库结构导出到包含CREATE TABLE / CREATE VIEW /的SQL文件中 CREATE PROCEDURE和其他SQL语句。然后使用SQL解析器分析这些脚本,以从这些SQL脚本中获取元数据,并建立表/列的数据沿袭。
以该SQL为例:
create view deptsal (dept_no, dept_name, salary)
as
SELECT d.deptno,
d.dname,
SUM(e.sal + Nvl(e.comm, 0)) AS sal
FROM dept d
left join (SELECT *
FROM emp
WHERE hiredate > DATE '1980-01-01') e
ON e.deptno = d.deptno
GROUP BY d.deptno,
d.dname;
您将获得如下数据流:deptsal.salary取决于emp.sal,emp.com