Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Статистика за входа на файл за производителност на SQL Server

Здравей,

Disk IO статистическите данни са много важни за критериите за производителност на SQL Server.

Всяка транзакция в SQL Server кара IO да пренася данни от физическия диск към буфера и точно обратното, когато транзакцията приключи, всички свързани данни ще се прехвърлят от буфера към физическия диск.

Така че скоростта на диска и IO статистиката са много важни за критериите за производителност.

За да видите IO статистика и следната информация, можете да изпълните скрипта по-долу.

  • Име на машината
  • Име на екземпляра
  • Име на SQL сървър
  • Име на базата данни
  • Логическо име
  • Физическо име
  • Дисково устройство
  • Тип файл
  • Щат
  • Размер на диска
  • Растеж
  • Брой четения
  • Брой записвания
  • IO_stall_read_ms
  • IO_stall_write_ms

select 
serverproperty('MachineName') 'machine_name'
,isnull(serverproperty('InstanceName'),'mssqlserver') 'instance_name'
,@@SERVERNAME 'sql_server_name'
,DB_NAME(mf.database_id) 'database_name'
,mf.name 'logical_name'
,mf.physical_name 'physical_name'
,left(mf.physical_name,1) 'disk_drive'
,mf.type_desc 'file_type'
,mf.state_desc 'state'
,case mf.is_read_only
when 0 then 'no'
when 1 then 'yes'
end 'read_only'
,convert(numeric(18,2),convert(numeric,mf.size)*8/1024) 'size_mb'
,divfs.size_on_disk_bytes/1024/1024 'size_on_disk_mb'
,case mf.is_percent_growth
when 0 then cast(convert(int,convert(numeric,mf.growth)*8/1024) as varchar) + ' MB'
when 1 then cast(mf.growth as varchar) + '%'
end 'growth'
,case mf.is_percent_growth
when 0 then convert(numeric(18,2),convert(numeric,mf.growth)*8/1024)
when 1 then convert(numeric(18,2),(convert(numeric,mf.size)*mf.growth/100)*8/1024)
end 'next_growth_mb'
,case mf.max_size
when 0 then 'NO-growth'
when -1 then (case mf.growth when 0 then 'NO-growth' else 'unlimited' end)
else cast(convert(int,convert(numeric,mf.max_size)*8/1024) as varchar)+' MB'
end 'max_size'

,divfs.num_of_reads
,divfs.num_of_bytes_read/1024/1024 'read_mb'
,divfs.io_stall_read_ms

,divfs.num_of_writes
,divfs.num_of_bytes_written/1024/1024 'write_mb'
,divfs.io_stall_write_ms

from sys.master_files as mf
left outer join sys.dm_io_virtual_file_stats(null,null) as divfs
on mf.database_id=divfs.database_id and mf.file_id=divfs.file_id;




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да открием и предотвратим неочакван растеж на базата данни на SQL Server TempDB

  2. Как да зададете понеделник като първи ден от седмицата в SQL Server

  3. Как да изпълним SSIS пакет от .NET?

  4. Как да ускорите своя SQL сървър с помощта на мониторинг на производителността на базата данни

  5. Създайте вложени JSON масиви, като използвате FOR JSON PATH