Κοινή χρήση μέσω


Παρακολούθηση συνδέσεων, περιόδων λειτουργίας και αιτήσεων με χρήση DMV

Ισχύει για: Τελικό σημείο ανάλυσης SQL και Αποθήκη στο Microsoft Fabric

Μπορείτε να χρησιμοποιήσετε υπάρχουσες δυναμικές προβολές διαχείρισης (DMV) για την παρακολούθηση της σύνδεσης, της περιόδου λειτουργίας και της κατάστασης αίτησης στο Microsoft Fabric. Για περισσότερες πληροφορίες σχετικά με τα εργαλεία και τις μεθόδους εκτέλεσης ερωτημάτων T-SQL, ανατρέξτε στο θέμα Υποβολή ερωτήματος στην Αποθήκη.

Τρόπος παρακολούθησης συνδέσεων, περιόδων λειτουργίας και αιτήσεων με χρήση DMV κύκλου ζωής ερωτημάτων

Για την τρέχουσα έκδοση, παρέχονται τρεις δυναμικές προβολές διαχείρισης (DMV) για να λαμβάνετε δυναμικές πληροφορίες κύκλου ζωής ερωτημάτων SQL.

  • sys.dm_exec_connections
    • Επιστρέφει πληροφορίες σχετικά με κάθε σύνδεση που υπάρχει μεταξύ της αποθήκης και της μηχανής.
  • sys.dm_exec_sessions
    • Επιστρέφει πληροφορίες σχετικά με κάθε περίοδο λειτουργίας που έχει ελεγχθεί μεταξύ του στοιχείου και της μηχανής.
  • sys.dm_exec_requests
    • Επιστρέφει πληροφορίες σχετικά με κάθε ενεργή αίτηση σε μια περίοδο λειτουργίας.

Αυτά τα τρία DMV παρέχουν λεπτομερείς πληροφορίες σχετικά με τα παρακάτω σενάρια:

  • Ποιος είναι ο χρήστης που εκτελεί την περίοδο λειτουργίας;
  • Πότε ξεκίνησε η περίοδος λειτουργίας από τον χρήστη;
  • Ποιο είναι το αναγνωριστικό της σύνδεσης με την Αποθήκη δεδομένων και την περίοδο λειτουργίας που εκτελεί την αίτηση;
  • Πόσα ερωτήματα εκτελούνται ενεργά;
  • Ποια ερωτήματα είναι μεγάλης διάρκειας;

Σε αυτό το πρόγραμμα εκμάθησης, μάθετε πώς να παρακολουθείτε τα ερωτήματα SQL που εκτελούνται, χρησιμοποιώντας δυναμικές προβολές διαχείρισης (DMV).

Παράδειγμα ερωτημάτων DMV

Το παρακάτω παράδειγμα ερωτημάτων sys.dm_exec_sessions για την εύρεση όλων των περιόδων λειτουργίας που εκτελούνται τη συγκεκριμένη στιγμή.

SELECT * 
FROM sys.dm_exec_sessions;

Screenshot showing the results of sys.dm_exec_sessions.

Εύρεση της σχέσης μεταξύ συνδέσεων και περιόδων λειτουργίας

Το παρακάτω παράδειγμα συνδέεται sys.dm_exec_connections και sys.dm_exec_sessions στη σχέση μεταξύ της ενεργής περιόδου λειτουργίας σε μια συγκεκριμένη σύνδεση.

SELECT connections.connection_id,
 connections.connect_time,
 sessions.session_id, sessions.login_name, sessions.login_time, sessions.status
FROM sys.dm_exec_connections AS connections
INNER JOIN sys.dm_exec_sessions AS sessions
ON connections.session_id=sessions.session_id;

Προσδιορισμός και ΔΟΛΟΦΟΝΊΑ ερωτήματος μεγάλης διάρκειας

Αυτό το πρώτο ερώτημα προσδιορίζει τη λίστα των ερωτημάτων μεγάλης διάρκειας με τη σειρά των οποίων το ερώτημα διήρκεσε περισσότερο από την άφιξή του.

SELECT request_id, session_id, start_time, total_elapsed_time
FROM sys.dm_exec_requests
WHERE status = 'running'
ORDER BY total_elapsed_time DESC;

Αυτό το δεύτερο ερώτημα δείχνει ποιος χρήστης πραγματοποίησε την περίοδο λειτουργίας με το ερώτημα μεγάλης διάρκειας.

SELECT login_name
FROM sys.dm_exec_sessions
WHERE 'session_id' = 'SESSION_ID WITH LONG-RUNNING QUERY';

Αυτό το τρίτο ερώτημα δείχνει πώς μπορείτε να χρησιμοποιήσετε την εντολή KILL στο session_id με το ερώτημα μεγάλης διάρκειας.

KILL 'SESSION_ID WITH LONG-RUNNING QUERY'

Για παράδειγμα,

KILL '101'

Δικαιώματα

  • Μια Διαχείριση έχει δικαιώματα για την εκτέλεση και των τριών DMV (sys.dm_exec_connections, sys.dm_exec_sessions, sys.dm_exec_requests) για να βλέπουν τις δικές τους πληροφορίες και πληροφορίες άλλων μέσα σε έναν χώρο εργασίας.
  • Ένα μέλος, συμβάλλων και θεατής μπορεί να εκτελέσει sys.dm_exec_sessions και sys.dm_exec_requests να δει τα δικά του αποτελέσματα εντός της αποθήκης, αλλά δεν έχει δικαίωμα εκτέλεσης sys.dm_exec_connections.
  • Μόνο ένας Διαχείριση έχει δικαίωμα εκτέλεσης της εντολήςKILL.