...
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.
Code Blocknoformat |
---|
/*
@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,
'%oracle%gg%' AS Edition, 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
|
Related articles
Filter by label (Content by label) |
---|
showLabels | false |
---|
max | 5 |
---|
spaces | CSKB |
---|
showSpace | false |
---|
sort | modified |
---|
reverse | true |
---|
type | page |
---|
cql | label in ("derivedsoftwarerule","iqdatahub™") and type = "page" and space = "CSKB" |
---|
labels | iqdatahub™ DerivedSoftwareRule |
---|
|
...