Маш том хэмжээтэй ажиллахдаа 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() );
Энэ скриптийг a хэлбэрээр гүйцэтгэж, гүйцэтгэнэ 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:

Мэдээллийн санг устгах

Зохиогчийн танилцуулга:
Нил Варли бол мэдээлэл сэргээх мэргэжилтэн юм DataNumen, Үүнд мэдээлэл сэргээх технологиор дэлхийд тэргүүлэгч, Inc. Outlook pst өгөгдлийн алдааг засах болон excel сэргээх програм хангамжийн бүтээгдэхүүнүүд. Дэлгэрэнгүй мэдээллийг авна уу WWW.datanumen.com