In SQL Server 2005 können Sie leicht feststellen, wann jemand das letzte Mal eine Datenbank abgefragt hat.Wie finden Sie den letzten Zugriff auf eine Datenbank?
Antwort
Nicht einfach, aber wenn Sie die Protokollierungsfunktion von SQL Server aktivieren, können Sie die Protokolle mithilfe von Software untersuchen, um festzustellen, wann die letzte Abfrage war und was sie war.
-Adam
Sie müssen Auditierung haben oder ein SQL-Server-Trace vor der Zeit einzurichten.
SQL Server kann Ereignisinformationen für Anmeldeversuche protokollieren, und Sie können anzeigen, indem Sie das Fehlerprotokoll überprüfen. Aktivieren Sie die Überwachungsebene von SQL Server.
folgendermaßen vor Auditierung aller/erfolgreichen mit Enterprise Manager in SQL Server zu aktivieren:
eine Servergruppe erweitern. Klicken Sie mit der rechten Maustaste auf einen Server, und klicken Sie dann auf Eigenschaften. Klicken Sie auf der Registerkarte Sicherheit unter Audit-Ebene auf alle/success usw. (erforderliche Option ).
Sie müssen die Server für diese Einstellung stoppen und neu starten
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()
Eine Einschränkung nehmen mit dieser Methode ist, dass die Informationen in der DMV werden gelöscht und auf Null gesetzt, wenn Sie SQL Server neu starten.
Gefunden bei MySQLtips - arbeitete für mich.
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
Um auf James Allens Antwort erweitern:
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
Verwenden Sie diese modifizierte Version, wenn Sie pro Datenbankkontext keine wollen und wünschen den Datenbanknamen am Anfang der Ergebnismenge aufzunehmen.
Sie können dies auch ohne den JOIN tun: SELECT DB_NAME (database_id), last_user_seek = MAX (letzter_benutzer_sek), last_user_scan = MAX (letzter_benutzer_scan), last_user_lookup = MAX (last_user_lookup), last_user_update = MAX (last_user_update) FROM sys.dm_db_index_usage_stats GROUP BY datenbank_id ORDER BY DB_NAME (database_id) –
ähnlich Methoden oben, aber für eine bestimmte Datenbank-ID (in diesem Beispiel ist es 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. Wie erhalte ich den letzten Zugriff/Änderungsdatum einer PostgreSQL-Datenbank?
- 2. JPA finden Sie den letzten Eintrag
- 3. Zugriff auf eine MySQL-Datenbank von Python
- 4. Finden Sie letzten Sonntag
- 5. Wie finden Sie den letzten Tag des Monats?
- 6. Wie finden Sie Top SQL in den letzten 5 Minuten?
- 7. So steuern Sie den Zugriff auf die SQLite-Datenbank
- 8. Den Servernamen für eine Oracle-Datenbank finden
- 9. Zugriff auf sqlite3-Datenbank
- 10. Finden Sie den letzten und nächsten Artikel in mutlidimental Array
- 11. So finden Sie den neuesten oder letzten AWS RDS-Snapshot?
- 12. Zugriff auf eine MySQL-Datenbank in Elektron
- 13. Wie finden Sie den vorherigen Merge-Commit?
- 14. Holen Sie den letzten Wert, wenn Sie auf
- 15. Zugriff auf SQL Server-Anmeldung auf nur eine Datenbank beschränken
- 16. Wie finden Sie den Deadlock?
- 17. Wie können Sie den Zugriff auf Kontakte auf Android beschleunigen?
- 18. DLLs für den Zugriff auf Notes und Domino Server Datenbank
- 19. Den letzten Datensatz finden: linker äußerer Join vs. absteigend sortieren
- 20. Zugriff auf die letzten Kontakte iOS 9
- 21. Import Tab getrennte Textdatei für den Zugriff auf Datenbank
- 22. Python Anywhere-Zugriff auf MySQL-Datenbank verweigert
- 23. wie Hash für den Zugriff auf Controller
- 24. Den Zugriff auf den Ordner verweigern, aber den Zugriff auf eine Datei in diesem Ordner zulassen
- 25. C# -Bearbeitungsschaltfläche für den Zugriff auf die Datenbank
- 26. Wie erstelle ich ein einfaches Windows-Formular für den Zugriff auf eine SQL Server-Datenbank?
- 27. Beschränken Sie den Zugriff auf MS Access-Datenbank auf einen bestimmten Server?
- 28. Zugriff auf den Variablennamen
- 29. Den DSN zu meiner Datenbank finden?
- 30. PHP - Wie kann ich den Zugriff auf eine Seite beschränken?
Dies ist sehr ähnliche Frage zu Ihrem Ergebnis einfach als ein einziger Wert zu erhalten: http: // Stackoverflow. com/questions/525558/how-can-a-tables-last-modified-return-in-sql-server-2005/525587 # 525587 – MicSim