...
Lets take example of Golden Gate. In order to build any rule at least 1 or more signature in form of process name/argument/path will be required to identify a specific software.
No Formatcode |
---|
/* @RuleName = Golden Gate ==> Fill out as applicable @SoftwareName = Golden Gate ==> Fill out as applicable @RuleStatus = Not Verified ==> Fill out as applicable @RuleCategory = Oracle ==> Fill out as applicable @Vendor = Oracle ==> Fill out as applicable */ WITH SearchInProcessArguments AS ( SELECT '%oracle%gg%' AS Pattern, -- ==> Fill out as applicable '%oracle%gg%' AS Edition, -- ==> Process name you have confirmed or verified with customer NULL AS AntiPattern1, NULL AS AntiPattern2 ) SELECT t.[DatasetID], t.[DeviceInstanceID], t.[Version], t.[Edition] FROM ( SELECT 1 AS [Source], ROW_NUMBER() OVER( PARTITION BY di.[DatasetID], di.[DeviceInstanceID] ORDER BY lk_proc.[Name] ) AS [Qualifier], di.[DatasetID], di.[DeviceInstanceID], CONVERT(nvarchar(255), lk_arg.Name) AS [Version], t.Edition+'_Process' AS [Edition] FROM [hub].[AttributeDeviceInstanceProcess] a_dip WITH( NOLOCK ) JOIN [hub].[DeviceInstance] di WITH( NOLOCK ) ON di.[DeviceInstanceID] = a_dip.[DeviceInstanceID] JOIN [hub].[LookupProcess] lk_proc WITH( NOLOCK ) ON lk_proc.[LookupProcessID] = a_dip.[LookupProcessID] JOIN [hub].[LookupArgument] lk_arg WITH( NOLOCK ) on lk_arg.[LookupArgumentID] = a_dip.[LookupArgumentID] JOIN SearchInProcessArguments t ON 1=1 WHERE 1=1 AND lk_arg.[Name] LIKE N'%'+t.Pattern+'%' AND (t.AntiPattern1 IS NULL OR lk_arg.[Name] NOT LIKE N'%'+t.AntiPattern1+'%') AND (t.AntiPattern2 IS NULL OR lk_arg.[Name] NOT LIKE N'%'+t.AntiPattern2+'%') ) t WHERE t.[Qualifier] = 1 GO |
Info |
---|
Related articles
Filter by label (Content by label) | ||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
|
...