亚洲乱色熟女一区二区三区丝袜,天堂√中文最新版在线,亚洲精品乱码久久久久久蜜桃图片,香蕉久久久久久av成人,欧美丰满熟妇bbb久久久

LOGO OA教程 ERP教程 模切知識(shí)交流 PMS教程 CRM教程 開發(fā)文檔 其他文檔  
 
網(wǎng)站管理員

SQLServer運(yùn)維實(shí)用的幾個(gè)腳本

admin
2024年9月3日 18:48 本文熱度 2048


1、查詢出最近所有耗時(shí)最大的SQL語(yǔ)句

返回的是未關(guān)聯(lián)任何特定對(duì)象的最耗費(fèi)資源的查詢信息,包括查詢的執(zhí)行SQL、最后一次執(zhí)行的總耗時(shí)、所有執(zhí)行的總耗時(shí)、執(zhí)行最小耗時(shí)、執(zhí)行最大耗時(shí)、執(zhí)行次數(shù)、計(jì)劃生成次數(shù)、所有執(zhí)行期間總共讀取和寫的物理磁盤次數(shù)以及邏輯磁盤次數(shù)等信息。

SELECT s2.dbid,

       s1.sql_handle,

 (

 SELECT TOP 1

                  SUBSTRING(   s2.text,

                               statement_start_offset / 2 + 1,

 ((CASE

 WHEN statement_end_offset = -1 THEN

 (LEN(CONVERT(NVARCHAR(MAX), s2.text)) * 2)

 ELSE

                                         statement_end_offset

 END

 ) - statement_start_offset

 ) / 2 + 1

 )

 ) AS 執(zhí)行SQL,

       last_worker_time '最后執(zhí)行總耗時(shí)(毫秒)',

       last_execution_time '最后執(zhí)行時(shí)間',

       total_worker_time '所有執(zhí)行總耗時(shí)(毫秒)',

       min_worker_time '執(zhí)行最小耗時(shí)(毫秒)',

       max_worker_time '執(zhí)行最大耗時(shí)(毫秒)',

       execution_count,

       plan_generation_num,

       total_physical_reads,

       last_physical_reads,

       min_physical_reads,

       max_physical_reads,

       total_logical_writes,

       last_logical_writes,

       min_logical_writes,

       max_logical_writes

FROM sys.dm_exec_query_stats AS s1

 CROSS APPLY sys.dm_exec_sql_text(sql_handle) AS s2

WHERE s2.objectid IS NULL

ORDER BY last_worker_time DESC,

         s1.sql_handle,

         s1.statement_start_offset,

         s1.statement_end_offset;


說明:

列名
描述
s2.dbid
執(zhí)行查詢的數(shù)據(jù)庫(kù)ID
s1.sql_handle
SQL語(yǔ)句的唯一標(biāo)識(shí)符
執(zhí)行SQL
通過sys.dm_exec_sql_text獲取的SQL語(yǔ)句文本
last_worker_time
上一次執(zhí)行查詢所花費(fèi)的總CPU時(shí)間(毫秒)
last_execution_time
查詢最后一次執(zhí)行的時(shí)間
total_worker_time
所有執(zhí)行查詢所花費(fèi)的總CPU時(shí)間(毫秒)
min_worker_time
任何單次執(zhí)行查詢所花費(fèi)的最少CPU時(shí)間(毫秒)
max_worker_time
任何單次執(zhí)行查詢所花費(fèi)的最大CPU時(shí)間(毫秒)
execution_count
查詢被執(zhí)行的次數(shù)
plan_generation_num
計(jì)劃生成次數(shù)
total_physical_reads
所有執(zhí)行期間總共讀取的物理磁盤次數(shù)
last_physical_reads
上一次執(zhí)行期間讀取的物理磁盤次數(shù)
min_physical_reads
任何單次執(zhí)行期間最少讀取的物理磁盤次數(shù)
max_physical_reads
任何單次執(zhí)行期間最多讀取的物理磁盤次數(shù)
total_logical_writes
所有執(zhí)行期間總共寫的邏輯磁盤次數(shù)
last_logical_writes
上一次執(zhí)行期間寫的邏輯磁盤次數(shù)
min_logical_writes
任何單次執(zhí)行期間最少寫的邏輯磁盤次數(shù)
max_logical_writes
任何單次執(zhí)行期間最多的邏輯磁盤次數(shù)

 sys.dm_exec_query_stats AS s1:SQL Server中的系統(tǒng)視圖,提供了關(guān)于查詢統(tǒng)計(jì)信息,例如CPU時(shí)間、讀取次數(shù)和寫入次數(shù)等。

 CROSS APPLY sys.dm_exec_sql_text(s1.sql_handle) AS s2:使用CROSS APPLY運(yùn)算符將s1.sql_handle傳遞給s2,以便從sys.dm_exec_sql_text視圖中檢索實(shí)際的SQL文本


2、查詢數(shù)據(jù)庫(kù)每個(gè)數(shù)據(jù)表存儲(chǔ)占用

查詢指定數(shù)據(jù)庫(kù)的記錄數(shù)、總工占用空間KB、總共占用空間MB、已使用空間KB、已使用空間MB、未使用空間KB、未使用空間MB,這對(duì)于分析磁盤占用非常有用。

SELECT

 t.NAME AS 表名,

 s.Name AS 架構(gòu),

 p.rows AS 記錄數(shù),

 SUM ( a.total_pages ) * 8 AS 總工占用空間KB,

 CAST ( ROUND( ( ( SUM ( a.total_pages ) * 8 ) / 1024.00 ), 2 ) AS NUMERIC ( 36, 2 ) ) AS 總共占用空間MB,

 SUM ( a.used_pages ) * 8 AS 已使用空間KB,

 CAST ( ROUND( ( ( SUM ( a.used_pages ) * 8 ) / 1024.00 ), 2 ) AS NUMERIC ( 36, 2 ) ) AS 已使用空間MB,

 ( SUM ( a.total_pages ) - SUM ( a.used_pages ) ) * 8 AS 未使用空間KB,

 CAST (

 ROUND( ( ( SUM ( a.total_pages ) - SUM ( a.used_pages ) ) * 8 ) / 1024.00, 2 ) AS NUMERIC ( 36, 2 ) 

 ) AS 未使用空間MB 

FROM sys.tables t

INNER JOIN sys.indexes i ON t.OBJECT_ID = i.object_id

INNER JOIN sys.partitions p ON i.object_id = p.OBJECT_ID AND i.index_id = p.index_id

INNER JOIN sys.allocation_units a ON p.partition_id = a.container_id

LEFT OUTER JOIN sys.schemas s ON t.schema_id = s.schema_id 

WHERE t.NAME NOT LIKE 'dt%' AND t.is_ms_shipped = 0 AND i.OBJECT_ID > 0 

GROUP BY t.Name,s.Name,p.Rows 

ORDER BY 總共占用空間MB DESC;



3、當(dāng)前正在執(zhí)行的最耗時(shí)的前10個(gè)SQL語(yǔ)句

該語(yǔ)句適合排查生產(chǎn)環(huán)境實(shí)時(shí)SQL語(yǔ)句慢的情況。

SELECT TOP 10 

    r.session_id,

    r.request_id,

    r.start_time AS '開始時(shí)間',

    r.status AS '狀態(tài)',

    r.command AS '命令',

    t.text AS 'sql語(yǔ)句',

    DB_NAME(r.database_id) AS '數(shù)據(jù)庫(kù)名',

    r.blocking_session_id AS '正在阻塞其他會(huì)話的會(huì)話ID',

    w.wait_type AS '等待資源類型',

    r.wait_time AS '等待時(shí)間',

    r.wait_resource AS '等待的資源',

    w.waiting_tasks_count AS '當(dāng)前正在進(jìn)行等待的任務(wù)數(shù)',

    r.reads AS '物理讀次數(shù)',

    r.writes AS '寫次數(shù)',

    r.logical_reads AS '邏輯讀次數(shù)',

    r.row_count AS '返回結(jié)果行數(shù)'

FROM sys.dm_exec_requests AS r

CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) AS t

LEFT JOIN sys.dm_os_wait_stats AS w ON r.wait_type = w.wait_type

WHERE r.session_id > 50 -- 排除系統(tǒng)進(jìn)程

ORDER BY r.cpu_time DESC;


注意:sys.dm_exec_requests僅包含當(dāng)前活動(dòng)的會(huì)話信息,獲取過去一段時(shí)間內(nèi)已經(jīng)完成的慢查詢,可以使用擴(kuò)展事件(XEvents)來記錄長(zhǎng)時(shí)間運(yùn)行的查詢,并將這些信息寫入一個(gè)跟蹤文件,然后分析這些文件來找出歷史某個(gè)時(shí)間段的慢查詢。


4、SQLServer查看鎖表和解鎖

如果遇到數(shù)據(jù)庫(kù)鎖表的情況,可以通過sql語(yǔ)句拿到鎖表進(jìn)程id,然后執(zhí)行殺掉進(jìn)程語(yǔ)句,解決數(shù)據(jù)庫(kù)卡死的情況。

-- 第一步查詢被鎖表

select request_session_id   spid,OBJECT_NAME(resource_associated_entity_id) tableName   

from   sys.dm_tran_locks where resource_type='OBJECT';

--參數(shù)說明 spid   鎖表進(jìn)程 ;tableName   被鎖表名

-- 第二步解鎖語(yǔ)句 需要拿到spid然后殺掉縮表進(jìn)程

declare @spid  int 

Set @spid  = 57 --鎖表進(jìn)程

declare @sql varchar(1000)

set @sql='kill '+cast(@spid  as varchar)

exec(@sql)


5、快速清理數(shù)據(jù)庫(kù)日志文件

數(shù)據(jù)庫(kù)日志文件隨著業(yè)務(wù)系統(tǒng)的長(zhǎng)期使用會(huì)非常占用存儲(chǔ)空間,甚至占用超過幾百G甚至上T,如果不需要進(jìn)行一直保留數(shù)據(jù)庫(kù)日志文件,可以建一個(gè)數(shù)據(jù)庫(kù)作業(yè),定時(shí)清理數(shù)據(jù)庫(kù)日志文件,腳本如下:

USE master

ALTER DATABASE DB SET RECOVERY SIMPLE WITH NO_WAIT

ALTER DATABASE DB SET RECOVERY SIMPLE --調(diào)整為簡(jiǎn)單模式

USE DB

DBCC SHRINKFILE (N'DB_log' , 2, TRUNCATEONLY) --設(shè)置壓縮后的日志大小為2M,可以自行指定

USE master

ALTER DATABASE DB SET RECOVERY FULL WITH NO_WAIT

ALTER DATABASE DB SET RECOVERY FULL --還原為完全模式


該文章在 2024/9/4 15:48:55 編輯過
關(guān)鍵字查詢
相關(guān)文章
正在查詢...
點(diǎn)晴ERP是一款針對(duì)中小制造業(yè)的專業(yè)生產(chǎn)管理軟件系統(tǒng),系統(tǒng)成熟度和易用性得到了國(guó)內(nèi)大量中小企業(yè)的青睞。
點(diǎn)晴PMS碼頭管理系統(tǒng)主要針對(duì)港口碼頭集裝箱與散貨日常運(yùn)作、調(diào)度、堆場(chǎng)、車隊(duì)、財(cái)務(wù)費(fèi)用、相關(guān)報(bào)表等業(yè)務(wù)管理,結(jié)合碼頭的業(yè)務(wù)特點(diǎn),圍繞調(diào)度、堆場(chǎng)作業(yè)而開發(fā)的。集技術(shù)的先進(jìn)性、管理的有效性于一體,是物流碼頭及其他港口類企業(yè)的高效ERP管理信息系統(tǒng)。
點(diǎn)晴WMS倉(cāng)儲(chǔ)管理系統(tǒng)提供了貨物產(chǎn)品管理,銷售管理,采購(gòu)管理,倉(cāng)儲(chǔ)管理,倉(cāng)庫(kù)管理,保質(zhì)期管理,貨位管理,庫(kù)位管理,生產(chǎn)管理,WMS管理系統(tǒng),標(biāo)簽打印,條形碼,二維碼管理,批號(hào)管理軟件。
點(diǎn)晴免費(fèi)OA是一款軟件和通用服務(wù)都免費(fèi),不限功能、不限時(shí)間、不限用戶的免費(fèi)OA協(xié)同辦公管理系統(tǒng)。
Copyright 2010-2025 ClickSun All Rights Reserved