Πώς να λάβετε τα στατιστικά στοιχεία χρήσης σας SQL Server Βάσεις Δεδομένων

Κοινή χρήση τώρα:

Όταν εργάζεστε σε πολύ μεγάλο SQL Server περιβάλλον, είναι πολύ κοινό ότι κανείς στον οργανισμό δεν γνωρίζει ποιος χρησιμοποιεί μια συγκεκριμένη βάση δεδομένων. Αυτό το σενάριο είναι πολύ κοινό εάν υπάρχουν πολλά συστήματα παλαιού τύπου. Ακολουθήστε αυτό το άρθρο για να προσδιορίσετε πόσο αποτελεσματικά σας SQL Server χρησιμοποιούνται βάσεις δεδομένων.

Μέθοδος 1:

Σε αυτήν τη μέθοδο, θα διαβάσουμε την έξοδο του sp_who2 και θα την καταγράψουμε σε έναν πίνακα. Το πρώτο βήμα είναι να δημιουργήσετε τον πίνακα χρησιμοποιώντας αυτό το σενάριο.

CREATE TABLE T1 (
    session_id INT
    ,status_message VARCHAR(1000) NULL
    ,login_name SYSNAME NULL
    ,Name_of_Host SYSNAME NULL
    ,Blocked_By SYSNAME NULL
    ,Database_Name SYSNAME NULL
    ,Script_description VARCHAR(1000) NULL
    ,CPU_Time INT NULL
    ,Disk_Input_Output INT NULL
    ,Last_Batch VARCHAR(1000) NULL
    ,Name_of_Program VARCHAR(1000) NULL
    ,Session_ID_2 INT
    ,ID_of_Request INT NULL
    ,Log_Date DATETIME DEFAULT GETDATE()
    );

Προγραμματίστε και εκτελέστε αυτό το σενάριο ως SQL Server Δουλειά. Μπορούμε να ελέγξουμε τον πίνακα καταγραφής ανά πάσα στιγμή για να προσδιορίσουμε εάν μας tarχρησιμοποιείται η βάση δεδομένων get.

INSERT INTO T1 (
    session_id
    ,status_message
    ,login_name
    ,Name_of_Host
    ,Blocked_By
    ,Database_Name
    ,Script_description
    ,CPU_Time
    ,Disk_Input_Output
    ,Last_Batch
    ,Name_of_Program
    ,Session_ID_2
    ,ID_of_Request
    )
EXECUTE sp_who2 active;

Μέθοδος 2:

Σε αντίθεση με την παραπάνω μέθοδο, εάν δεν σας ενδιαφέρουν πάρα πολλές λεπτομέρειες και απλά θέλετε να μάθετε εάν η βάση δεδομένων χρησιμοποιείται ή όχι, τότε αυτό το σενάριο είναι το καλύτερο. Εάν χρησιμοποιείτε SQL Server με έκδοση παλαιότερη από το 2014, τότε αυτό δεν θα λειτουργήσει. Η έξοδος αυτού του σεναρίου εμφανίζει 3 πεδία. Τα πρώτα πεδία παρέχουν πληροφορίες σχετικά με το όνομα της βάσης δεδομένων. Αυτό είναι το βασικό πεδίο για εμάς, καθώς αυτό θα μας βοηθήσει να εντοπίσουμε εάν μας tarχρησιμοποιείται η βάση δεδομένων. Το δεύτερο πεδίο θα μας βοηθήσει να ταξινομήσουμε τις συνδέσεις στη βάση δεδομένων ως συνδέσεις χρήστη έναντι SQL Server εσωτερικές συνδέσεις. Η τελευταία στήλη παραθέτει τον αριθμό των συνδέσεων στη βάση δεδομένων.

SELECT DB_NAME(sys.dm_exec_sessions.database_id) AS [Database Name]
    ,CASE 
        WHEN sys.dm_exec_sessions.is_user_process = 1
            THEN 'YES'
        WHEN sys.dm_exec_sessions.is_user_process = 0
            THEN 'NO'
        END AS [Is it User connection?]
    ,COUNT(sys.dm_exec_sessions.session_id) AS [Connections Count]
FROM sys.dm_exec_sessions
GROUP BY DB_NAME(sys.dm_exec_sessions.database_id)
    ,sys.dm_exec_sessions.is_user_process
ORDER BY 1
    ,2;

Μέθοδος 3:

Πριν προωθήσουμε τα δεδομένα στον πίνακα καταγραφής, στη μέθοδο 1, δεν μπορούμε να κάνουμε ένα φίλτρο στο όνομα της βάσης δεδομένων. Ωστόσο, είναι δυνατό στη Μέθοδο 2 και στη Μέθοδο 3.

SELECT t1.objtype AS [Object]
    ,t1.refcounts AS [ReferredCount]
    ,t1.usecounts AS [Usage]
    ,t1.size_in_bytes / 1024 AS [KB Size]
    ,db_name(t3.dbid) AS [DatabaseName]
FROM sys.dm_exec_cached_plans t1
OUTER APPLY sys.dm_exec_text_query_plan(plan_handle, 0, - 1) t2
OUTER APPLY sys.dm_exec_sql_text(plan_handle) AS t3
WHERE db_name(t3.dbid) = 'ERP10_SandBox'
ORDER BY t1.usecounts DESC;

Μέθοδος 4:

Προφίλ SQLΑυτή η μέθοδος είναι πολύ ισχυρή στον εντοπισμό της χρήσης της βάσης δεδομένων, αλλά είναι πολύ εντατική πόρων. Ναι, μιλάμε για προφίλ. Επιλέξτε ένα πρότυπο από το Profiler ή χρησιμοποιήστε ένα προσαρμοσμένο πρότυπο και παρακολουθήστε συνδέσεις βάσης δεδομένων.

Καταργήστε τη βάση δεδομένων

Καταργήστε τη βάση δεδομένωνΑπό τις παραπάνω αναφερόμενες μεθόδους, θα μπορείτε να προσδιορίσετε εάν η βάση δεδομένων σας εξακολουθεί να χρησιμοποιείται ή όχι. Εάν καταλήξετε στο συμπέρασμα ότι δεν χρησιμοποιείται πλέον, η βέλτιστη πρακτική είναι να ενημερώσετε τις αντίστοιχες ομάδες ότι θα αφαιρεθεί από τον διακομιστή. Σε μια ωραία μέρα, πάρτε ένα πλήρες αντίγραφο ασφαλείας αυτής της αχρησιμοποίητης βάσης δεδομένων και αποθέστε το από το διακομιστή. Πρέπει να προσέχετε να μην το κάνετε διεφθαρμένος SQL Server db κατά τη διάρκεια αυτής της διαδικασίας.

Εισαγωγή συγγραφέα:

Ο Neil Varley είναι ειδικός στην ανάκτηση δεδομένων στο DataNumen, Inc., η οποία είναι ο παγκόσμιος ηγέτης στις τεχνολογίες ανάκτησης δεδομένων, συμπεριλαμβανομένων επιδιορθώστε το σφάλμα δεδομένων pst του Outlook και υπερέχουν προϊόντα λογισμικού ανάκτησης. Για περισσότερες πληροφορίες επισκεφθείτε www.datanumen.com

Κοινή χρήση τώρα:

Τα σχόλια είναι κλειστά.