2010-10-13 2 views
6

Ich habe eine SQL Server 2000-Box, die mehrere Datenbanken enthält, von denen einige wahrscheinlich nicht mehr verwendet werden. Ich würde gerne Dinge aufräumen, indem ich sie zuerst offline nehme und später alle zusammen entferne. Das Problem ist, dass ich nicht weiß, wie man weiß, welche von diesen immer noch aktiv verwendet werden (externe Quellen können oder dürfen keine Verbindung zu ihnen herstellen, sie benutzen usw.)So ermitteln Sie, welche Datenbanken in SQL Server 2000 verwendet werden

Gibt es eine Möglichkeit, die Zeit zu bestimmen der letzten Aktivität in jeder Datenbank? Ich weiß, dass SQL Server einige Dinge in sys Tabellen speichert, aber ich bin mir nicht sicher, was genau dort gespeichert ist. Wenn das, was ich brauche, dort nicht zu finden ist, kann ich etwas einrichten, um die Nutzung von diesem Punkt an zu verfolgen? Idealerweise würde ich gerne die Nutzung "bis zu diesem Zeitpunkt" sehen, aber "von diesem Punkt an" wäre besser als nichts. Vielen Dank.

+1

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

+0

Ich lief über die folgenden zwei Seiten : http://www.kodyaz.com/articles/sql-server-last-database-access-using-processes-or-database-audit-specifications.aspx und http://technet.microsoft.com/en-us /library/dd277388.aspx Fühlen Sie sich frei, irgendwelche Rückmeldungen zu diesen zu geben ... beide fallen in die Kategorie "von diesem Punkt an", aber sie sehen möglicherweise nützlich aus. –

Antwort

2

Versuchen Sie, die Überwachung für die Anmeldung bei SqlServer einzuschalten. Anhand der verwendeten Benutzerkonten können Sie sehen, ob diese Datenbank verwendet wird oder nicht. Die Prüfung finden Sie hier:

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

Dadurch werden die Protokolle füllen, die Sie unter /Management/SqlServerLogs und das Protokoll wird sehen können in der Regel auch in hier C:\Program Files\Microsoft SQL Server\MSSQL\log\ gespeichert, so dass Sie & Suche durch sie nicht analysieren.

+0

Ok, ich habe gerade Jeremy Wiggins 'Links im Kommentar gesehen - das ist im Grunde genommen ... – veljkoz

0

Soweit ich weiß, ist in SQL Server nichts eingebaut, um Ihnen ein "zuletzt verwendetes" Datum/Zeit zu geben. In Zukunft können Sie die Verwendung verfolgen, indem Sie eine solche Abfrage regelmäßig ausführen.

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