SQL Server表人口来源(SQL server table population source

2019-10-17 19:43发布

我有一个审核数据库(由其他人创建)。

东西polulating它,与表大小的数据(这是有意义的,因为它是审计数据库)。

在SQL Server中有太多的工作。

我想知道什么是填充审计表。

有没有像sys.comments等什么? 能告诉我什么是填充表或做我必须检查每个作业中的代码?

问候

Manjot

Answer 1:

尝试寻找在为目标表名称命令列msdb..sysjobsteps; 如果他们使用T-SQL来填充表这只会工作。 如果他们使用SSIS(或DTS)包,这是不行的。



Answer 2:

你可以尝试运行是这样的:

SELECT DISTINCT
    o.name,o.type_desc
    FROM sys.sql_modules        m 
        INNER JOIN sys.objects  o ON m.object_id=o.object_id
    WHERE m.definition Like '%YourTableName%'
    ORDER BY 2,1

编辑 OP提到的SQL Server 2000后

这应该SQL Server 2000上运行:

--remove comments to see the actual text too
SELECT DISTINCT
    o.name --,c1.colid,c1.text
    FROM sysobjects                  o
        INNER JOIN syscomments      c1 ON o.id = c1.id
        --join to next section of code in case search value is split over two rows
        LEFT OUTER JOIN syscomments c2 ON o.id = c2.id AND c2.colid=c1.colid+1
    WHERE c1.text Like '%YourTableName%'
        OR RIGHT(c1.text,100)+LEFT(c2.text,100) Like '%YourTableName%'
    ORDER BY 1--,2


Answer 3:

最有可能它是由触发器onteh经审核表填充。



Answer 4:

如果你知道是什么原因导致的数据进入审核表,你可以运行一个(非常)简短的探查对数据库会话,该表明确过滤,而触发的动作。 这会给你进一步的措施来反跟踪根行动。



文章来源: SQL server table population source