Si të merrni statistikat e përdorimit të juaj SQL Server Bazat e të dhënave

Kur punoni në një shumë të madhe SQL Server mjedisi, është shumë e zakonshme që askush në organizatë nuk e di se kush përdor një bazë të dhënash të caktuar. Ky skenar është shumë i zakonshëm nëse ka shumë sisteme të vjetra. Ndiqni këtë artikull për të identifikuar sa efektivisht jeni SQL Server përdoren bazat e të dhënave.

Metoda 1:

Në këtë metodë, ne do të lexojmë daljen e sp_who2 dhe do ta kapim atë në një tabelë. Hapi i parë është krijimi i tabelës duke përdorur këtë skript.

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

Programoni dhe ekzekutoni këtë skript si a SQL Server Punë. Ne mund ta shqyrtojmë tabelën e regjistrave në çdo kohë për të identifikuar nëse baza e të dhënave e synuar po përdoret.

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:

Ndryshe nga metoda e mësipërme, nëse nuk jeni të interesuar për shumë detaje dhe thjesht dëshironi të dini nëse baza e të dhënave është në përdorim apo jo, atëherë ky skenar është më i përshtatshmi. Nëse përdorni SQL Server me version më të vjetër se viti 2014, atëherë kjo nuk do të funksionojë. Rezultati i këtij skripti tregon 3 fusha. Fushat e para japin informacion në lidhje me emrin e bazës së të dhënave. Kjo është fusha kyçe për ne pasi kjo do të na ndihmojë të identifikojmë nëse baza e të dhënave e synuar është në përdorim. Fusha e dytë do të na ndihmojë të klasifikojmë lidhjet me bazën e të dhënave si lidhje përdoruesi kundrejt SQL Server lidhjet e brendshme. Kolona e fundit liston numrin e lidhjeve me bazën e të dhënave.

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:

Përpara se të shtyjmë të dhënat në tabelën e regjistrit, në metodën 1, ne nuk mund të bëjmë një filtër mbi emrin e bazës së të dhënave. Megjithatë është e mundur në Metoda 2 dhe 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 ProfilerKjo metodë është shumë e fuqishme në identifikimin e përdorimit të bazës së të dhënave, por kërkon shumë burime. Po, ne po flasim për profilin. Zgjidhni një shabllon nga Profiler ose përdorni një shabllon të personalizuar dhe gjurmoni lidhjet e bazës së të dhënave.

Hiq bazën e të dhënave

Hiq bazën e të dhënaveNga metodat e listuara më sipër, do të jeni në gjendje të identifikoni nëse baza juaj e të dhënave është ende duke u përdorur apo jo. Nëse arrini në përfundimin se nuk përdoret më, praktika më e mirë është të informoni ekipet përkatëse se do të hiqet nga serveri. Në një ditë të mirë, merrni një kopje rezervë të PLOTË të kësaj baze të dhënash të papërdorur dhe hiqni atë nga serveri. Duhet pasur kujdes që të mos i korruptuar SQL Server db gjatë këtij procesi.

Hyrje e autorit:

Neil Varley është një ekspert i rikuperimit të të dhënave në DataNumen, Inc., e cila është lider botëror në teknologjitë e rikuperimit të të dhënave, duke përfshirë riparimi i gabimit të të dhënave të Outlook PST dhe produkte softuerike të rimëkëmbjes excel. Për më shumë informacion vizitoni www.datanumen.com

Komentet janë të mbyllura.