Πώς μπορούμε να βρούμε πότε χρησιμοποιήθηκε τελευταία φορά μία βάση δεδομένων στον SQL Server
- Πώς μπορούμε να συνδέσουμε Oracle Database με SQL Server με χρήση Oracle Gateway σε Windows - 5 Απρίλιος 2024
- Πώς μπορούμε να λαμβάνουμε email κάθε φορά που ξεπερνάει ένα όριο η μνήμη PGA σε βάση δεδομένων της Oracle - 1 Μάρτιος 2024
- Πώς κάνουμε μαζικά detach / attach βάσεις δεδομένων στον SQL Server - 2 Φεβρουάριος 2024
Στο άρθρο θα δούμε έναν εύκολο και γρήγορο τρόπό ώστε για να δούμε ποιές βάσεις δεδομένων χρησιμοποιούνται και ποιοι χρήστες είναι συνδεδεμένοι αυτή τη στιγμή σε αυτές.
Για να δούμε πότε έγινε τελευταία φορά access μία βάση δεδομένων στον SQL Server θα πρέπει να δούμε πότε προσπελάστηκε το πιο πρόσφατα προσπελάσημο index της.
Το query για να βρούμε αυτή τη πληροφορία είναι το παρακάτω:
SELECT d.name as DBname, 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.databases AS d LEFT JOIN sys.dm_db_index_usage_stats AS i ON i.database_id=d.database_id WHERE d.database_id not in (1,2,3,4) GROUP BY d.name;
Ανάλογα με την στήλη μπορούμε να καταλάβουμε επίσης αν έγινε απλά ανάγνωση(seek,scan,lookup) ή ενημέρωση(update). Αν είναι όλες οι στήλες NULL σημαίνει ότι η βάση δεν έχει προσπελαστεί από τότε που έγινε τελευταία φορά restart το instance.
*Στο παραπάνω θα πρέπει να δώσουμε ιδιαίτερη προσοχή καθώς κάθε φορά που γίνεται restart το instance του SQL Server όλες οι τιμές γίνονται NULL καθώς διαγράφεται η πληροφορία
Bonus πώς θα δούμε ποιοι χρήστες είναι ενεργοί αυτή τη στιγμή
Για να δούμε ποιοι χρήστες είναι ενεργοί στις βάσεις δεδομένων αυτή την στιγμή μαζί με το όνομα του υπολογιστή και το όνομα του πρόγραμματος που χρησιμοποιούν, τρέχουμε το παρακάτω query:
select DB_NAME(dbid) as DBname,count(dbid) as Connections,loginame,program_name,hostname from sys.sysprocesses where dbid > 4 --and loginame not like 'NT Service%' --and loginame != 'sa' group by dbid,loginame,program_name,hostname order by dbid,loginame;
Very valuable information