我有一个审核数据库(由其他人创建)。
东西polulating它,与表大小的数据(这是有意义的,因为它是审计数据库)。
在SQL Server中有太多的工作。
我想知道什么是填充审计表。
有没有像sys.comments等什么? 能告诉我什么是填充表或做我必须检查每个作业中的代码?
问候
Manjot
我有一个审核数据库(由其他人创建)。
东西polulating它,与表大小的数据(这是有意义的,因为它是审计数据库)。
在SQL Server中有太多的工作。
我想知道什么是填充审计表。
有没有像sys.comments等什么? 能告诉我什么是填充表或做我必须检查每个作业中的代码?
问候
Manjot
尝试寻找在为目标表名称命令列msdb..sysjobsteps; 如果他们使用T-SQL来填充表这只会工作。 如果他们使用SSIS(或DTS)包,这是不行的。
你可以尝试运行是这样的:
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
最有可能它是由触发器onteh经审核表填充。
如果你知道是什么原因导致的数据进入审核表,你可以运行一个(非常)简短的探查对数据库会话,该表明确过滤,而触发的动作。 这会给你进一步的措施来反跟踪根行动。