Cum să obțineți statisticile de utilizare ale dvs SQL Server Baze de date

Distribuie acum:

Când se lucrează într-un foarte mare SQL Server mediu, este foarte comun ca nimeni din organizație să nu știe cine folosește o anumită bază de date. Acest scenariu este foarte frecvent dacă există mai multe sisteme vechi. Urmați acest articol pentru a identifica cât de eficient sunteți SQL Server sunt folosite baze de date.

Metoda 1:

În această metodă, vom citi rezultatul sp_who2 și o vom captura într-un tabel. Primul pas este să creați tabelul folosind acest script.

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()
    );

Programați și executați acest script ca a SQL Server Lucru. Putem revizui tabelul de jurnal oricând pentru a identifica dacă baza noastră de date țintă este utilizată.

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;

Metoda 2:

Spre deosebire de metoda de mai sus, dacă nu sunteți interesat de prea multe detalii și doriți doar să știți dacă baza de date este în uz sau nu, atunci acest script este cel mai potrivit. Dacă utilizați SQL Server cu o versiune mai veche de 2014, atunci acest lucru nu va funcționa. Rezultatul acestui script arată 3 câmpuri. Primul câmp oferă informații despre numele bazei de date. Acesta este câmpul cheie pentru noi, deoarece ne va ajuta să identificăm dacă baza de date țintă este utilizată. Al doilea câmp ne va ajuta să clasificăm conexiunile la baza de date ca conexiuni utilizator vs. conexiuni SQL Server conexiuni interne. Ultima coloană listează numărul de conexiuni la baza de date.

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;

Metoda 3:

Înainte de a introduce datele în tabelul de jurnal, în metoda 1, nu putem face un filtru pe numele bazei de date. Cu toate acestea, este posibil în Metoda 2 și Metoda 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;

Metoda 4:

SQL ProfilerAceastă metodă este foarte puternică în identificarea utilizării bazei de date, dar necesită foarte mult resurse. Da, vorbim despre profiler. Alegeți un șablon din Profiler sau utilizați un șablon personalizat și urmăriți conexiunile la baza de date.

Eliminați baza de date

Eliminați baza de dateDin metodele enumerate mai sus, veți putea identifica dacă baza de date este încă utilizată sau nu. Dacă ajungeți la concluzia că nu mai este folosit, cea mai bună practică este să informați echipele respective că va fi eliminat de pe server. Într-o zi bună, faceți o copie de rezervă COMPLETĂ a acestei baze de date neutilizate și aruncați-o de pe server. Trebuie avut grijă să nu corupt SQL Server db în timpul acestui proces.

Introducerea autorului:

Neil Varley este un expert în recuperarea datelor DataNumen, Inc., care este lider mondial în tehnologiile de recuperare a datelor, inclusiv reparați eroarea de date pst din Outlook și produse software de recuperare Excel. Pentru mai multe informații vizitați www.datanumen.com

Distribuie acum:

Comentariile sunt închise.