The CMDB is primarily a database used to store configuration item information for all of the systems in the environment. It's primarily used for tracking systems and the major components in those systems for operational purposes. System Management process such as Incident, Problem and Change Management are closely tied to the configuration items as a way to tightly control the operational effectiveness and uptime for the systems.
The CMDB can be extended to address some, but not all, of the unique requirements for an effected Software Asset Management program. SAM requires accurate discovery information, which can be provided through the CMDB and its discovery processes, but SAM also requires detailed financial information about software purchases, contract license rights, software product upgrade rights, support contracts, installation locations, on premise vs cloud usage rights and much more. Combining all of the SAM data requirements into a CMDB is a massive undertaking which will also require frequent changes and updates as time goes on.
Although the base inventory information can be shared between a CMDB and a SAM system, many large companies have discovered there are so many unique elements of Software Management that its most effective to managed them separately from the CMDB.
- Dan Sherwood