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

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 (sesiune_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(1000) NULL_Program ,2_Chars_Program ,XNUMX_NULL XNUMX INT ,ID_of_Request INT NULL ,Log_Date DATETIME DEFAULT GETDATE() );

Programați și executați acest script ca a SQL Server Loc de munca. Putem revizui oricând tabelul de jurnal pentru a identifica dacă este tarse utilizează baza de date get.

INSERT INTO T1 (sesiune_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 activ;

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 versiunea mai veche de 2014, atunci aceasta nu va funcționa. Ieșirea acestui script arată 3 câmpuri. Primele câmpuri oferă informații despre numele bazei de date. Acesta este domeniul cheie pentru noi, deoarece acest lucru ne va ajuta să identificăm dacă suntem tarbaza de date get este în uz. Al doilea câmp ne va ajuta să clasificăm conexiunile la baza de date ca conexiuni utilizator vs SQL Server conexiuni interne. Ultima coloană listează numărul de conexiuni la baza de date.

SELECTAȚI DB_NAME(sys.dm_exec_sessions.database_id) CA [Database Name] ,CASE WHEN sys.dm_exec_sessions.is_user_process = 1 APOI „DA” CÂND sys.dm_exec_sessions.is_user_sessions.is_user_sessions.is_user_este NU? 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_user0;

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 [Obiect] ,t1.refcounts AS [ReferredCount] ,t1.usecounts AS [Utilizare] ,t1.size_in_bytes / 1024 AS [KB Size] ,db_name(t3.dbid) AS [DatabaseName] FROM sys.dm_execs_cached_execs 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 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

Lasă un comentariu

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate *