2010-10-13 21 views
6

Ho una casella SQL Server 2000 che contiene diversi database, alcuni dei quali probabilmente non sono più in uso. Mi piacerebbe ripulire le cose prima di metterle offline, e poi rimuoverle tutte insieme. Il problema è che non so come dire quali di questi sono ancora utilizzati attivamente (fonti esterne possono o non possono collegarsi a loro, usarli, ecc.)Come determinare quali database vengono utilizzati su SQL Server 2000

C'è un modo per dire l'ora dell'ultima attività su ciascun database? So che SQL Server conserva record di alcune cose nelle tabelle sys, ma non sono sicuro di cosa sia esattamente memorizzato lì. Se ciò di cui ho bisogno non può essere trovato lì, c'è qualcosa che posso impostare per tracciare l'utilizzo da questo punto in poi? Idealmente, mi piacerebbe poter vedere l'uso "fino a questo punto nel tempo", ma "da questo punto in avanti" sarebbe meglio di niente. Grazie.

+1

Correlati: http://www.eggheadcafe.com/software/aspnet/31922893/how-to-get-details-of-when-database-was-last-used.aspx –

+0

Mi sono imbattuto nei seguenti due siti : http://www.kodyaz.com/articles/sql-server-last-database-access-using-processes-or-database-audit-specifications.aspx e http://technet.microsoft.com/en-us /library/dd277388.aspx Sentiti libero di offrire un feedback anche su questi ... rientrano entrambi nella categoria "da questo punto in avanti" ma sembrano potenzialmente utili. –

risposta

2

Provare ad attivare il controllo per l'accesso a SqlServer. In base agli account utente utilizzati, è possibile verificare se tale database viene utilizzato o meno. La revisione può essere trovato qui:

EnterpriseManager -> Right click database server -> Properties 
-> Security -> Audit Level -> set to All 

Ciò riempire i log che si possono vedere sotto /Management/SqlServerLogs e che registro è tipicamente salvato anche qui C:\Program Files\Microsoft SQL Server\MSSQL\log\, così si potrebbe analizzare & di ricerca attraverso di essa.

+0

Ok, ho appena visto i link di Jeremy Wiggins nel commento - questo è fondamentalmente ... – veljkoz

0

Per quanto ne so, non c'è nulla di integrato in SQL Server per darti una data/ora "ultimo utilizzo". Andando avanti, è possibile monitorare l'utilizzo eseguendo una query come questa su base regolare.

select db_name(dbid), count(*) 
    from master..sysprocesses 
    group by db_name(dbid) 
    order by db_name(dbid) 
Problemi correlati