I think I will tell you something that's probably you heard before:
do yourself a favour and upgrade from sql server 2000 to a newer version.
this solution below assumes you did the upgrade:
I found this good script and explanation, plus a detailed addition and pros and cons and you can find it here.
I have this query to show me when the database was last accessed.
As per the explanation above it is not perfect.
Also Be aware sys.dm_db_index_usage_stats does not return information about memory-optimized indexes. For information about memory-optimized index use, see sys.dm_db_xtp_index_stats
The result of this query should be saved to a table ACCORDINGLY, so that when you restart the server, or the sql server services, you don't lose track of where you are.
--==============================================================================
-- The last time a database was accessed
-- marcelo miorelli
-- 30-Apr-2020
--==============================================================================
SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED
select @@SERVERNAME AS [Server],
sd.[name] AS [Database Name],
sd.create_date as [Created On],
last_access_dt = MAX(coalesce(DDIUS.last_user_seek,
DDIUS.last_user_scan,
DDIUS.last_user_lookup,
'1/1/1970')),
[LAST ACCESS] =CASE WHEN MAX(coalesce(DDIUS.last_user_seek,
DDIUS.last_user_scan,
DDIUS.last_user_lookup,
'1/1/1970'))
= '1970-01-01 00:00:00.000'
THEN 'No Access since ' +
CONVERT (VARCHAR(50),
(SELECT create_date
FROM sys.databases
WHERE database_id = 2),109)
ELSE 'Last Access ' +
CONVERT (VARCHAR(50),
MAX(coalesce(DDIUS.last_user_seek,
DDIUS.last_user_scan,
DDIUS.last_user_lookup,
'1/1/1970')),109)
END,
the_time_now = SYSDATETIME(),
number_of_days= DATEDIFF(day,MAX(coalesce(DDIUS.last_user_seek,
DDIUS.last_user_scan,
DDIUS.last_user_lookup,
'1/1/1970')),SYSDATETIME())
from sys.databases SD
LEFT OUTER JOIN sys.dm_db_index_usage_stats DDIUS
ON DDIUS.database_id = SD.database_id
WHERE SD.database_id > 4
AND SD.database_id <> 32767
GROUP BY sd.[name],sd.create_date
ORDER BY 4 DESC
See the last access takes into consideration the last time the sql server service started.
example of the outcome: