黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

XEvent – SQL Server Log文件對磁盤的寫操作大

系統 2299 0
原文: XEvent – SQL Server Log文件對磁盤的寫操作大小是多少

本篇是上一篇 SQL Server Log文件對磁盤的寫操作大小是多少 的續,使用XEvent收集SQL Server Data文件和Log文件的寫大小,腳本如下:

      DECLARE @DBNAME VARCHAR(256)

SET @DBNAME = 'myDB'

DECLARE @sqlcmd NVARCHAR(MAX) = 'IF EXISTS(SELECT * FROM sys.server_event_sessions WHERE

name=''filewritecompleted'')

???DROP EVENT SESSION [filewritecompleted] ON SERVER;

CREATE EVENT SESSION [filewritecompleted]

ON SERVER

ADD EVENT sqlserver.file_write_completed 

(WHERE (database_id = ' + CAST(DB_ID(''+@DBNAME+'') AS VARCHAR(3))

????+ '))

ADD TARGET package0.asynchronous_file_target(

?????SET filename=''D:\XEvent\filewritecompleted.xel'',

?????????metadatafile=''D:\XEvent\filewritecompleted.xem'')

WITH (MAX_MEMORY = 8192KB, EVENT_RETENTION_MODE = ALLOW_SINGLE_EVENT_LOSS, STARTUP_STATE = ON)'

EXEC(@sqlcmd)

GO

?

ALTER EVENT SESSION filewritecompleted

ON SERVER

STATE=START

GO

?

WAITFOR DELAY '00:05:00'

?

ALTER EVENT SESSION filewritecompleted

ON SERVER

STATE=STOP

GO

?

USE tempdb

GO

?

SELECT? CAST(event_data AS XML) AS event_data

INTO??? TargetEvents

FROM??? sys.fn_xe_file_target_read_file('D:\XEvent\filewritecompleted*.xel',

????????????????????????????????????????'D:\XEvent\filewritecompleted*.xem', NULL,

????????????????????????????????????????NULL)

?

SELECT? event_data.value('(event/@name)[1]', 'varchar(50)') AS event_name ,

????????DATEADD(hh, DATEDIFF(hh, GETUTCDATE(), CURRENT_TIMESTAMP),

????????????????event_data.value('(event/@timestamp)[1]', 'datetime2')) AS [timestamp] ,

????????COALESCE(event_data.value('(event/data[@name="database_id"]/value)[1]',

??????????????????????????????????'int'),

?????????????????event_data.value('(event/action[@name="database_id"]/value)[1]',

??????????????????????????????????'int')) AS database_id ,

????????event_data.value('(event/data[@name="mode"]/text)[1]',

?????????????????????????'nvarchar(4000)') AS [mode] ,

????????event_data.value('(event/data[@name="file_handle"]/value)[1]',

?????????????????????????'nvarchar(4000)') AS [file_handle] ,

????????event_data.value('(event/data[@name="offset"]/value)[1]', 'bigint') AS [offset] ,

????????event_data.value('(event/data[@name="file_id"]/value)[1]', 'int') AS [file_id] ,

????????event_data.value('(event/data[@name="filegroup_id"]/value)[1]', 'int') AS [filegroup_id] ,

????????event_data.value('(event/data[@name="size"]/value)[1]', 'bigint') AS [size]

INTO??? Results

FROM??? TargetEvents

?

select * from Results

?

?

--Log File Write Size

SELECT? size ,

????????COUNT(*) AS cnt ,

????????LTRIM(CAST(COUNT(*) * 1.0 / ( SELECT??? COUNT(*)

??????????????????????????????????????FROM????? Results

??????????????????????????????????????WHERE???? file_id = 2

????????????????????????????????????) * 100 AS NUMERIC(18, 4))) + '%' AS ratio

FROM??? Results

WHERE?? file_id = 2

GROUP BY size

ORDER BY CAST(COUNT(*) * 1.0 / ( SELECT??? COUNT(*)

??????????????????????????????????????FROM????? Results

??????????????????????????????????????WHERE???? file_id = 2

????????????????????????????????????) * 100 AS NUMERIC(18, 4)) desc

?

?

--Data File Write Size

SELECT? size ,

????????COUNT(*) AS cnt ,

????????LTRIM(CAST(COUNT(*) * 1.0 / ( SELECT??? COUNT(*)

??????????????????????????????????????FROM????? Results

??????????????????????????????????????WHERE???? file_id != 2

????????????????????????????????????) * 100 AS NUMERIC(18, 4))) + '%' AS ratio

FROM??? Results

WHERE?? file_id != 2

GROUP BY size

ORDER BY CAST(COUNT(*) * 1.0 / ( SELECT??? COUNT(*)

??????????????????????????????????????FROM????? Results

??????????????????????????????????????WHERE???? file_id = 2

????????????????????????????????????) * 100 AS NUMERIC(18, 4)) desc

?

--DROP TABLE tempdb.dbo.TargetEvents, tempdb.dbo.Results


    

在一個OLTP結果如下:

Log File Write Size:

Data File Write Size :

?

用XEvent收集,的確要比之前的方法簡單很多,此方法感謝一位Cookies_Tang網友提醒。

XEvent – SQL Server Log文件對磁盤的寫操作大小是多少


更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論