Tables [dbo].[ca_discovered_software]
Properties
PropertyValue
CollationSQL_Latin1_General_CP1_CI_AS
Row Count31548
Created11:08:10 AM Wednesday, March 07, 2007
Last Modified4:35:46 PM Wednesday, March 24, 2010
Columns
NameData TypeMax Length (Bytes)Allow NullsDefault
Foreign Keys $ca_di_r000002d000000000: [dbo].[ca_software_def].sw_def_uuidIndexes ca_disc_software_idx_05: auto_rep_version\sw_def_uuidIndexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuidIndexes ca_disc_software_idx_01: sw_def_uuidsw_def_uuidbinary(16)16
Yes
Cluster Primary Key XPKca_discovered_software: dis_sw_uuidIndexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuiddis_sw_uuidbinary(16)16
No
labelnvarchar(255)510
Yes
serial_numbernvarchar(64)128
Yes
creation_usernvarchar(255)510
Yes
Indexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuidcreation_dateint4
Yes
last_update_usernvarchar(255)510
Yes
product_guidnvarchar(64)128
Yes
version_numberint4
Yes
((0))
Indexes ca_disc_software_idx_04: last_update_datelast_update_dateint4
Yes
install_pathnvarchar(255)510
Yes
last_accessedint4
Yes
Foreign Keys $ca_di_r000002c700000000: [dbo].[ca_asset_source].asset_source_uuidIndexes ca_disc_software_idx_02: asset_source_uuidIndexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuidasset_source_uuidbinary(16)16
Yes
Foreign Keys $ca_di_r000002be00000000: [dbo].[ca_software_license].license_uuidIndexes ca_disc_software_idx_03: license_uuidlicense_uuidbinary(16)16
Yes
Indexes ca_disc_software_idx_05: auto_rep_version\sw_def_uuidauto_rep_versiontimestamp8
Yes
exclude_registrationint4
Yes
delete_timeint4
Yes
is_managed_by_servicetinyint1
Yes
is_ignored_by_vuln_impacttinyint1
Yes
trustlevelint4
Yes
((5))
originnvarchar(64)128
Yes
def_source_type_idint4
Yes
((0))
dis_source_type_idint4
Yes
((0))
Indexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuidlicense_idint4
Yes
((0))
Indexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuidlicense_instanceint4
Yes
Indexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuidlicense_block_idint4
Yes
Indexes ca_disc_software_idx_06: creation_date\covered_by_nf\license_block_id\license_instance\license_id\asset_source_uuid\dis_sw_uuid\sw_def_uuidcovered_by_nfsmallint2
Yes
Indexes Indexes
NameColumnsUnique
Cluster Primary Key XPKca_discovered_software: dis_sw_uuidXPKca_discovered_softwaredis_sw_uuid
Yes
ca_disc_software_idx_01sw_def_uuid
ca_disc_software_idx_02asset_source_uuid
ca_disc_software_idx_03license_uuid
ca_disc_software_idx_04last_update_date
ca_disc_software_idx_05auto_rep_version, sw_def_uuid
ca_disc_software_idx_06creation_date, covered_by_nf, license_block_id, license_instance, license_id, asset_source_uuid, dis_sw_uuid, sw_def_uuid
Triggers Triggers
NameANSI Nulls OnQuoted Identifier OnOn
al_c_discovered_software
Yes
No
After Insert
al_d_discovered_software
Yes
No
After Delete
r_upd_verno_dis_sw
Yes
Yes
After Update
Foreign Keys Foreign Keys
NameColumns
$ca_di_r000002be00000000license_uuid->[dbo].[ca_software_license].[license_uuid]
$ca_di_r000002c700000000asset_source_uuid->[dbo].[ca_asset_source].[asset_source_uuid]
$ca_di_r000002d000000000sw_def_uuid->[dbo].[ca_software_def].[sw_def_uuid]
Permissions
TypeActionOwning Principal
GrantInsertuapmbatch
GrantDeleteswcmadmin
GrantInsertswcmadmin
GrantInsertuapmadmin_group
GrantDeleteuapmbatch_group
GrantInsertuapmbatch_group
GrantDeleteuapmadmin
GrantInsertuapmadmin
GrantDeleteuapmbatch
GrantDeleteca_itrm_group
GrantInsertca_itrm_group
GrantDeleteuapmadmin_group
GrantSelectaiadmin
GrantSelectca_itrm_group
GrantUpdateca_itrm_group
GrantSelectregadmin
GrantSelectuapmadmin_group
GrantUpdateuapmadmin_group
GrantSelectuapmbatch_group
GrantUpdateuapmbatch_group
GrantSelectuapmreporting_group
GrantSelectupmuser_group
GrantSelectamsgroup
GrantSelectca_itrm_group_ams
GrantSelectuapmadmin
GrantUpdateuapmadmin
GrantSelectuapmbatch
GrantUpdateuapmbatch
GrantSelectuapmreporting
GrantSelectswcmadmin
GrantUpdateswcmadmin
GrantSelectams_group
SQL Script
CREATE TABLE [dbo].[ca_discovered_software]
(
[sw_def_uuid] [binary] (16) NULL,
[dis_sw_uuid] [binary] (16) NOT NULL,
[label] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[serial_number] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[creation_user] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[creation_date] [int] NULL,
[last_update_user] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[product_guid] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[version_number] [int] NULL CONSTRAINT [DF__ca_discov__versi__1F83A428] DEFAULT ((0)),
[last_update_date] [int] NULL,
[install_path] [nvarchar] (255) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[last_accessed] [int] NULL,
[asset_source_uuid] [binary] (16) NULL,
[license_uuid] [binary] (16) NULL,
[auto_rep_version] [timestamp] NULL,
[exclude_registration] [int] NULL,
[delete_time] [int] NULL,
[is_managed_by_service] [tinyint] NULL,
[is_ignored_by_vuln_impact] [tinyint] NULL,
[trustlevel] [int] NULL CONSTRAINT [ca_discovered_software_tl] DEFAULT ((5)),
[origin] [nvarchar] (64) COLLATE SQL_Latin1_General_CP1_CI_AS NULL,
[def_source_type_id] [int] NULL CONSTRAINT [ca_discovered_software_dsid] DEFAULT ((0)),
[dis_source_type_id] [int] NULL CONSTRAINT [ca_discovered_software_dstid] DEFAULT ((0)),
[license_id] [int] NULL CONSTRAINT [DF__ca_discov__licen__4C11C13D] DEFAULT ((0)),
[license_instance] [int] NULL,
[license_block_id] [int] NULL,
[covered_by_nf] [smallint] NULL
) ON [PRIMARY]
GO
SET QUOTED_IDENTIFIER OFF
GO

CREATE TRIGGER al_c_discovered_software ON ca_discovered_software
AFTER INSERT
AS
BEGIN
    if dbo.is_installed(2022) = 0
        return
        
    DECLARE @swdefuuid binary(16)
    DECLARE @productuuid binary(16)
    DECLARE @blockid int
    DECLARE @evaluate smallint
    DECLARE @processing smallint
    DECLARE @lastupdatedate int

    select @lastupdatedate = datediff(ss, '1/1/1970', getutcdate())    

    DECLARE mycur CURSOR FOR
    Select distinct b.product_uuid
        From inserted join ca_link_sw_def a
            on inserted.sw_def_uuid=a.secondary_sw_def_uuid
                And a.link_type_id=3
            join al_link_product_sw_def b on a.PRIMARY_sw_def_uuid = b.sw_def_uuid

    OPEN mycur
    FETCH NEXT FROM mycur INTO @productuuid
    WHILE @@FETCH_STATUS = 0
    BEGIN

        Select @blockid=b.block_id, @evaluate=b.evaluate, @processing=b.processing
            from al_link_product_block a join al_license_block b
            on a.block_id=b.block_id
            Where a.product_uuid=@productuuid And b.finite=1 AND b.evaluate<>-1

        Update al_link_product_block Set discovery_changed = 1
        Where block_id=@blockid And product_uuid=@productuuid And discovery_changed <> 1
        
        if @evaluate=0
            Update al_license_block Set evaluate=2, last_update_date=@lastupdatedate
            Where block_id=@blockid And evaluate <> 2
        else if @evaluate=2 and @processing=1
            Update al_license_block Set processing=2, last_update_date=@lastupdatedate
            Where block_id=@blockid And processing <> 2
    
        FETCH NEXT FROM mycur INTO @productuuid
    END

    CLOSE mycur
    DEALLOCATE mycur

END
GO

CREATE TRIGGER al_d_discovered_software ON ca_discovered_software
AFTER DELETE
AS
BEGIN
    if dbo.is_installed(2022) = 0
        return
        
    DECLARE @swdefuuid binary(16)
    DECLARE @productuuid binary(16)
    DECLARE @blockid int
    DECLARE @evaluate smallint
    DECLARE @processing smallint    
    DECLARE @lastupdatedate int

    select @lastupdatedate = datediff(ss, '1/1/1970', getutcdate())    

    DECLARE mycur CURSOR FOR
    Select distinct b.product_uuid
        From deleted join ca_link_sw_def a
            on deleted.sw_def_uuid=a.secondary_sw_def_uuid
                And a.link_type_id=3
            join al_link_product_sw_def b on a.PRIMARY_sw_def_uuid = b.sw_def_uuid

    OPEN mycur
    FETCH NEXT FROM mycur INTO @productuuid
    WHILE @@FETCH_STATUS = 0
    BEGIN

        Select @blockid=b.block_id, @evaluate=b.evaluate, @processing=b.processing
            from al_link_product_block a join al_license_block b
            on a.block_id=b.block_id
            Where a.product_uuid=@productuuid And b.finite=1 AND b.evaluate<>-1

        Update al_link_product_block Set discovery_changed = 1
        Where block_id=@blockid And product_uuid=@productuuid And discovery_changed <> 1
        
        if @evaluate=0
            Update al_license_block Set evaluate=2, last_update_date=@lastupdatedate
            Where block_id=@blockid And evaluate <> 2
        else if @evaluate=2 and @processing=1
            Update al_license_block Set processing=2, last_update_date=@lastupdatedate
            Where block_id=@blockid And processing <> 2
    
        FETCH NEXT FROM mycur INTO @productuuid
    END

    CLOSE mycur
    DEALLOCATE mycur

END
GO
SET QUOTED_IDENTIFIER ON
GO
/****** Object:  Trigger dbo.r_upd_verno_dis_sw    Script Date: 12/1/2005 11:51:28 PM ******/



/*
***********************************************
trigger on update on ca_discovered_software
*/

CREATE trigger r_upd_verno_dis_sw
        on ca_discovered_software
        after update        
        as
                declare @old_verno as int;
                declare @new_verno as int;
        begin
            if update (version_number)
            begin
                
                DECLARE mycur CURSOR
                    FOR select deleted.version_number, inserted.version_number from inserted, deleted

                OPEN mycur
                FETCH NEXT FROM mycur INTO @old_verno,@new_verno
                WHILE @@FETCH_STATUS = 0
                BEGIN

                    execute  p_integrity_version_number @old_verno ,  @new_verno ;
                    FETCH NEXT FROM mycur INTO @old_verno,@new_verno;

                END

                CLOSE mycur
                DEALLOCATE mycur

                
            end;
        end;
GO
ALTER TABLE [dbo].[ca_discovered_software] ADD CONSTRAINT [XPKca_discovered_software] PRIMARY KEY CLUSTERED ([dis_sw_uuid]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_disc_software_idx_02] ON [dbo].[ca_discovered_software] ([asset_source_uuid]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_disc_software_idx_05] ON [dbo].[ca_discovered_software] ([auto_rep_version], [sw_def_uuid]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_disc_software_idx_06] ON [dbo].[ca_discovered_software] ([sw_def_uuid]) INCLUDE ([asset_source_uuid], [covered_by_nf], [creation_date], [dis_sw_uuid], [license_block_id], [license_id], [license_instance]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_disc_software_idx_04] ON [dbo].[ca_discovered_software] ([last_update_date]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_disc_software_idx_03] ON [dbo].[ca_discovered_software] ([license_uuid]) ON [PRIMARY]
GO
CREATE NONCLUSTERED INDEX [ca_disc_software_idx_01] ON [dbo].[ca_discovered_software] ([sw_def_uuid]) ON [PRIMARY]
GO
ALTER TABLE [dbo].[ca_discovered_software] ADD CONSTRAINT [$ca_di_r000002be00000000] FOREIGN KEY ([license_uuid]) REFERENCES [dbo].[ca_software_license] ([license_uuid])
GO
ALTER TABLE [dbo].[ca_discovered_software] ADD CONSTRAINT [$ca_di_r000002c700000000] FOREIGN KEY ([asset_source_uuid]) REFERENCES [dbo].[ca_asset_source] ([asset_source_uuid])
GO
ALTER TABLE [dbo].[ca_discovered_software] ADD CONSTRAINT [$ca_di_r000002d000000000] FOREIGN KEY ([sw_def_uuid]) REFERENCES [dbo].[ca_software_def] ([sw_def_uuid])
GO
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [aiadmin]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [ams_group]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [amsgroup]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [ca_itrm_group]
GRANT INSERT ON  [dbo].[ca_discovered_software] TO [ca_itrm_group]
GRANT DELETE ON  [dbo].[ca_discovered_software] TO [ca_itrm_group]
GRANT UPDATE ON  [dbo].[ca_discovered_software] TO [ca_itrm_group]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [ca_itrm_group_ams]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [regadmin]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [swcmadmin]
GRANT INSERT ON  [dbo].[ca_discovered_software] TO [swcmadmin]
GRANT DELETE ON  [dbo].[ca_discovered_software] TO [swcmadmin]
GRANT UPDATE ON  [dbo].[ca_discovered_software] TO [swcmadmin]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [uapmadmin]
GRANT INSERT ON  [dbo].[ca_discovered_software] TO [uapmadmin]
GRANT DELETE ON  [dbo].[ca_discovered_software] TO [uapmadmin]
GRANT UPDATE ON  [dbo].[ca_discovered_software] TO [uapmadmin]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [uapmadmin_group]
GRANT INSERT ON  [dbo].[ca_discovered_software] TO [uapmadmin_group]
GRANT DELETE ON  [dbo].[ca_discovered_software] TO [uapmadmin_group]
GRANT UPDATE ON  [dbo].[ca_discovered_software] TO [uapmadmin_group]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [uapmbatch]
GRANT INSERT ON  [dbo].[ca_discovered_software] TO [uapmbatch]
GRANT DELETE ON  [dbo].[ca_discovered_software] TO [uapmbatch]
GRANT UPDATE ON  [dbo].[ca_discovered_software] TO [uapmbatch]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [uapmbatch_group]
GRANT INSERT ON  [dbo].[ca_discovered_software] TO [uapmbatch_group]
GRANT DELETE ON  [dbo].[ca_discovered_software] TO [uapmbatch_group]
GRANT UPDATE ON  [dbo].[ca_discovered_software] TO [uapmbatch_group]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [uapmreporting]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [uapmreporting_group]
GRANT SELECT ON  [dbo].[ca_discovered_software] TO [upmuser_group]
GO
Uses
Used By