Как да получите статистиката за използване на вашия 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 Задача. Можем да прегледаме таблицата с логове по всяко време, за да определим дали целевата ни база данни се използва.

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 полета. Първото поле дава информация за името на базата данни. Това е ключовото поле за нас, тъй като ще ни помогне да определим дали целевата ни база данни се използва. Второто поле ще ни помогне да класифицираме връзките към базата данни като потребителски връзки спрямо... 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Този метод е много мощен за идентифициране на използването на база данни, но е много ресурсно интензивен. Да, говорим за профилиране. Изберете шаблон от Profiler или използвайте персонализиран шаблон и проследете връзките с база данни.

Премахнете базата данни

Премахнете базата данниОт изброените по-горе методи ще можете да установите дали вашата база данни все още се използва или не. Ако стигнете до заключението, че той вече не се използва, най-добрата практика е да информирате съответните екипи, че той ще бъде премахнат от сървъра. В хубав ден вземете ПЪЛНО архивиране на тази неизползвана база данни и я пуснете от сървъра. Трябва да се внимава да не се повредени SQL Server db по време на този процес.

Въведение на автора:

Нийл Варли е експерт по възстановяване на данни в DataNumen, Inc., която е световен лидер в технологиите за възстановяване на данни, включително поправка на грешка в данните на pst на Outlook и excel софтуерни продукти за възстановяване. За повече информация посетете WWW.datanumen.com

Споделете сега:

Коментарите са забранени.