2010-10-13 32 views
6

Tôi có một hộp SQL Server 2000 chứa một số cơ sở dữ liệu, một số có thể không còn sử dụng nữa. Tôi muốn làm sạch mọi thứ bằng cách trước tiên đưa họ vào ngoại tuyến và sau đó xóa tất cả chúng lại với nhau. Vấn đề là tôi không biết làm thế nào để biết cái nào trong số này vẫn đang được sử dụng tích cực (các nguồn bên ngoài có thể hoặc không thể kết nối với chúng, sử dụng chúng, v.v.)Làm thế nào để xác định cơ sở dữ liệu nào đang được sử dụng trên SQL Server 2000

Có cách nào để nói thời gian không của hoạt động cuối cùng trên mỗi cơ sở dữ liệu? Tôi biết rằng SQL Server giữ hồ sơ của một số điều trong bảng sys, nhưng tôi không chắc chắn những gì chính xác được lưu trữ ở đó. Nếu những gì tôi cần không thể được tìm thấy ở đó, có cái gì tôi có thể thiết lập để theo dõi việc sử dụng từ thời điểm này về phía trước? Lý tưởng nhất, tôi muốn để có thể nhìn thấy sử dụng "đến thời điểm này trong thời gian", nhưng "từ thời điểm này về phía trước" sẽ tốt hơn không có gì. Cảm ơn.

+1

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

+0

Tôi đã chạy trên hai trang web sau : http://www.kodyaz.com/articles/sql-server-last-database-access-using-processes-or-database-audit-specifications.aspx và http://technet.microsoft.com/en-us /library/dd277388.aspx Hãy thoải mái đưa ra bất kỳ phản hồi nào về những điều này ... cả hai đều rơi vào danh mục "từ thời điểm này trở đi" nhưng chúng trông có vẻ hữu ích. –

Trả lời

2

Thử bật kiểm tra để đăng nhập vào SqlServer. Dựa trên tài khoản người dùng được sử dụng, bạn có thể xem liệu cơ sở dữ liệu đó có được sử dụng hay không. Việc kiểm toán có thể được tìm thấy ở đây:

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

này sẽ lấp đầy các bản ghi mà bạn có thể nhìn thấy dưới /Management/SqlServerLogs và nhật ký được thường cũng được lưu ở đây C:\Program Files\Microsoft SQL Server\MSSQL\log\, vì vậy bạn có thể phân tích & tìm kiếm thông qua nó.

+0

Ok, tôi vừa thấy các liên kết của Jeremy Wiggins trong nhận xét - về cơ bản là ... – veljkoz

0

Theo như tôi biết, không có gì được tích hợp trong SQL Server để cung cấp cho bạn ngày/giờ "được sử dụng lần cuối". Về sau, bạn có thể theo dõi việc sử dụng bằng cách chạy truy vấn như thế này một cách thường xuyên.

select db_name(dbid), count(*) 
    from master..sysprocesses 
    group by db_name(dbid) 
    order by db_name(dbid) 
Các vấn đề liên quan