Trong SQL Server 2005, bạn có thể dễ dàng xác định lần cuối cùng ai đó truy vấn cơ sở dữ liệu không.Làm cách nào để bạn tìm thấy cơ sở dữ liệu được truy cập lần cuối?
Trả lời
Không dễ dàng, nhưng nếu bạn bật tính năng ghi nhật ký của SQL Server, bạn có thể kiểm tra nhật ký bằng phần mềm để khám phá khi truy vấn cuối cùng là gì và nó là gì.
-Adam
Bạn cần có kiểm toán, hay một dấu vết sql server thiết lập trước thời hạn.
Máy chủ SQL có thể ghi nhật ký thông tin sự kiện cho các lần đăng nhập và bạn có thể xem nó bằng cách xem lại báo lỗi. Bằng cách bật cấp độ kiểm tra của SQL Server.
làm theo các bước sau để kích hoạt tính năng kiểm toán của tất cả/kết nối thành công với Enterprise Manager trong SQL Server:
Mở rộng một nhóm máy chủ. Bấm chuột phải vào máy chủ, rồi bấm Thuộc tính. Trên tab Bảo mật, trong Cấp độ kiểm tra, hãy nhấp vào tất cả/thành công, v.v. (yêu cầu tùy chọn).
Bạn phải dừng lại và khởi động lại máy chủ để thiết lập này có hiệu lực thi hành
SELECT
last_user_seek = MAX(last_user_seek),
last_user_scan = MAX(last_user_scan),
last_user_lookup = MAX(last_user_lookup),
last_user_update = MAX(last_user_update)
FROM
sys.dm_db_index_usage_stats
WHERE
[database_id] = DB_ID()
Một caveat với phương pháp này là các thông tin trong DMV sẽ bị xóa và nulled bất cứ khi nào bạn khởi động lại SQL Server.
Tìm thấy điều này tại số MySQLtips - đã làm việc cho tôi.
select d.name, x1 =
(select X1= max(bb.xx)
from (
select xx = max(last_user_seek)
where max(last_user_seek) is not null
union all
select xx = max(last_user_scan)
where max(last_user_scan) is not null
union all
select xx = max(last_user_lookup)
where max(last_user_lookup) is not null
union all
select xx = max(last_user_update)
where max(last_user_update) is not null) bb)
FROM master.dbo.sysdatabases d
left outer join
sys.dm_db_index_usage_stats s
on d.dbid= s.database_id
group by d.name
Để mở rộng về câu trả lời của James Allen:
SELECT d.name,
last_user_seek = MAX(last_user_seek),
last_user_scan = MAX(last_user_scan),
last_user_lookup = MAX(last_user_lookup),
last_user_update = MAX(last_user_update)
FROM sys.dm_db_index_usage_stats AS i
JOIN sys.databases AS d ON i.database_id=d.database_id
GROUP BY d.name
Sử dụng phiên bản sửa đổi này nếu bạn không muốn kết quả của mỗi bối cảnh cơ sở dữ liệu và muốn bao gồm tên cơ sở dữ liệu ở phần đầu của tập kết quả.
Bạn cũng có thể thực hiện việc này mà không cần JOIN: SELECT DB_NAME (database_id), last_user_seek = MAX (last_user_seek), last_user_scan = MAX (last_user_scan), last_user_lookup = MAX (last_user_lookup), last_user_update = MAX (last_user_update) TỪ sys.dm_db_index_usage_stats GROUP BY database_id ĐẶT HÀNG BỞI DB_NAME (database_id) –
Tương tự như phương pháp trên, nhưng để có được kết quả đơn giản là một giá trị duy nhất cho một id cơ sở dữ liệu cụ thể (trong ví dụ này nó 6
)
select max(LastAccess)
from (
SELECT last_user_seek as LastAccess FROM sys.dm_db_index_usage_stats WHERE last_user_seek is not null and [database_id]=6
union
SELECT last_user_lookup as LastAccess FROM sys.dm_db_index_usage_stats WHERE last_user_seek is not null and [database_id]=6
union
SELECT last_user_seek as LastAccess FROM sys.dm_db_index_usage_stats WHERE last_user_seek is not null and [database_id]=6
union
SELECT last_user_update as LastAccess FROM sys.dm_db_index_usage_stats WHERE last_user_seek is not null and [database_id]=6
) UserAccess
- 1. Làm cách nào để tìm cơ sở dữ liệu PostgreSQL được cập nhật lần cuối?
- 2. Làm cách nào để có được ngày truy cập/sửa đổi lần cuối của cơ sở dữ liệu PostgreSQL?
- 3. Làm thế nào để bạn truy cập hai cơ sở dữ liệu trong Grails
- 4. Làm cách nào để tạo và truy cập nhiều cơ sở dữ liệu trong Oracle 11g?
- 5. Cách tổ chức lớp Truy cập cơ sở dữ liệu?
- 6. chủ sở hữu cơ sở dữ liệu postgresql không thể truy cập cơ sở dữ liệu - "Không tìm thấy quan hệ".
- 7. Làm cách nào để truy cập cơ sở dữ liệu MS Access từ Oracle?
- 8. Làm cách nào để truy cập cơ sở dữ liệu mysql trực tuyến trên Android?
- 9. tạo mã truy cập để nhập cơ sở dữ liệu
- 10. Làm cách nào để làm mới trang khi cơ sở dữ liệu được cập nhật?
- 11. Tôi làm cách nào để truy cập cơ sở dữ liệu Interbase (.IB) bằng RubyOnRails?
- 12. cơ sở dữ liệu CakePHP không tìm thấy
- 13. Làm cách nào để cập nhật cơ sở dữ liệu SQLite bằng truy vấn tìm kiếm và thay thế?
- 14. Cách ẩn cơ sở dữ liệu mà tôi không được phép truy cập
- 15. Truy cập cơ sở dữ liệu SQLite từ dòng lệnh
- 16. web.py cơ sở dữ liệu chọn truy cập
- 17. Truy cập cơ sở dữ liệu dụng cụ
- 18. Làm thế nào để bạn truy cập thông tin lỗi cơ sở dữ liệu khi sử dụng Rails và Postgres
- 19. Cơ sở dữ liệu Truy cập SQL trong Excel VBA
- 20. Làm cách nào để xóa cơ sở dữ liệu MySQL?
- 21. C# Cơ sở dữ liệu truy cập: DBNull vs null
- 22. Truy cập Meteor cơ sở dữ liệu sản xuất
- 23. Làm cách nào bạn có thể truy cập tên tệp cơ sở của tệp bạn đang tìm nguồn trong Bash?
- 24. Truy cập dữ liệu được truy xuất
- 25. Tốc độ truy cập tệp so với tốc độ truy cập cơ sở dữ liệu
- 26. Tăng số lượt truy cập trong cơ sở dữ liệu
- 27. Cách hiển thị dữ liệu trong datagridview từ cơ sở dữ liệu truy cập
- 28. Cách cấu trúc cơ sở dữ liệu để truy cập nút nhanh
- 29. Làm cách nào để xây dựng truy vấn cơ sở dữ liệu chéo trong PHP?
- 30. Bạn làm cách nào để ghi lại cấu trúc cơ sở dữ liệu của mình?
Đây là câu hỏi rất giống như của bạn: http: // stackoverflow. com/questions/525558/how-can-a-table-last-modified-date-be-return-in-sql-server-2005/525587 # 525587 – MicSim