2010-10-13 7 views
6

Mam pole SQL Server 2000, które mieści kilka baz danych, z których niektóre prawdopodobnie nie są już używane. Chciałbym uporządkować sprawy, najpierw przenosząc je do trybu offline, a następnie usuwając je wszystkie razem. Problem polega na tym, że nie wiem, jak stwierdzić, które z nich są nadal aktywnie używane (zewnętrzne źródła mogą lub nie mogą się z nimi łączyć, używając ich itp.).Jak ustalić, które bazy danych są używane w SQL Server 2000

Czy istnieje sposób na określenie czasu ostatniej aktywności w każdej bazie danych? Wiem, że SQL Server przechowuje rekordy niektórych rzeczy w tabelach sys, ale nie jestem pewien, co dokładnie jest tam przechowywane. Jeśli czegoś, czego potrzebuję, nie można tam znaleźć, czy jest coś, co mogę skonfigurować, aby śledzić użycie od tego momentu? Idealnie, chciałbym móc zobaczyć użycie "do tego momentu w czasie", ale "od tego momentu do przodu" byłoby lepsze niż nic. Dzięki.

+1

Powiązane: http://www.eggheadcafe.com/software/aspnet/31922893/how-to-get-dails-of-when-database-was-last-used.aspx –

+0

Przebiegłem przez następujące dwie witryny : http://www.kodyaz.com/articles/sql-server-last-database-access-using-processes-or-database-audit-specifications.aspx i http://technet.microsoft.com/en-us /library/dd277388.aspx Możesz również wyrazić swoją opinię na temat tych informacji. Oba należą do kategorii "od tego momentu", ale są potencjalnie przydatne. –

Odpowiedz

2

Spróbuj włączyć inspekcję, aby zalogować się do SqlServer. Na podstawie użytych kont użytkowników można sprawdzić, czy ta baza danych jest używana, czy nie. Audyt można znaleźć tutaj:

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

ta zapełni się dzienniki, które można zobaczyć pod /Management/SqlServerLogs i że log jest zazwyczaj również zapisywane tu C:\Program Files\Microsoft SQL Server\MSSQL\log\, więc można analizować & szukanie przez niego.

+0

Ok, właśnie zobaczyłem linki Jeremy'ego Wigginsa w komentarzu - to w zasadzie to ... – veljkoz

0

O ile mi wiadomo, nie ma nic wbudowanego w SQL Server, aby dać ci "ostatnio używaną" datę/czas. Idąc dalej, możesz śledzić użycie, regularnie uruchamiając takie zapytanie.

select db_name(dbid), count(*) 
    from master..sysprocesses 
    group by db_name(dbid) 
    order by db_name(dbid) 
Powiązane problemy