AskOverflow.Dev

AskOverflow.Dev Logo AskOverflow.Dev Logo

AskOverflow.Dev Navigation

  • Início
  • system&network
  • Ubuntu
  • Unix
  • DBA
  • Computer
  • Coding
  • LangChain

Mobile menu

Close
  • Início
  • system&network
    • Recentes
    • Highest score
    • tags
  • Ubuntu
    • Recentes
    • Highest score
    • tags
  • Unix
    • Recentes
    • tags
  • DBA
    • Recentes
    • tags
  • Computer
    • Recentes
    • tags
  • Coding
    • Recentes
    • tags
Início / dba / Perguntas / 253698
Accepted
Shekar Kola
Shekar Kola
Asked: 2019-11-21 00:51:07 +0800 CST2019-11-21 00:51:07 +0800 CST 2019-11-21 00:51:07 +0800 CST

O que significa "sample_ms" e "num_of_reads" em "sys.dm_io_virtual_file_stats". qual é o tempo de intervalo das estatísticas

  • 772

De acordo com o MS-Docs , ele retorna o número de milissegundos desde que o computador foi iniciado , mas estou obtendo um resultado diferente quando comparo com a hora real de início do servidor em sys.dm_os_sys_info.

Aqui estão as consultas:

select sqlserver_start_time from sys.dm_os_sys_info;

select (sample_ms/1000) sample_sec, file_id from sys.dm_io_virtual_file_stats (DB_ID(), NULL);

select (DATEDIFF (SECOND, sqlserver_start_time, SYSDATETIME()) ) as Server_start_since_sec from sys.dm_os_sys_info;

Este é o resultado :

insira a descrição da imagem aqui

Se sample_ms refletir a hora de início do computador/servidor, não a hora de início da Instância SQL (comparando 2º vs 3º na captura de tela do resultado). Isso significa que os valores estatísticos ( num_of_reads, num_of_writesetc..) em DMF ( sys.dm_io_virtual_file_stats) retornam leituras cumulativas desde a reinicialização do computador ou desde a reinicialização da Instância SQL ou há um intervalo de tempo diferente que precisamos considerar?


Antes de reiniciar o serviço SQL

Antes de reiniciar o serviço SQL

Após reiniciar o SQL Service (SEM reinicialização do SO) insira a descrição da imagem aqui

sql-server sql-server-2016
  • 1 1 respostas
  • 323 Views

1 respostas

  • Voted
  1. Best Answer
    LowlyDBA - John M
    2019-11-21T12:00:16+08:002019-11-21T12:00:16+08:00

    Primeiro, esses valores iniciais não estão medindo a mesma coisa.

    sys.dm_os_sys_info:

    sqlserver_start_time - datetime - Especifica a data e hora da última inicialização do SQL Server . Não anulável.

    sys.dm_io_virtual_file_stats:

    sample_ms - bigint- Número de milissegundos desde que o computador foi iniciado . Esta coluna pode ser usada para comparar diferentes saídas desta função.


    Isso significa que os valores estatísticos (num_of_reads, num_of_writes etc.) em DMF (sys.dm_io_virtual_file_stats) retornam leituras cumulativas desde a reinicialização do computador ou desde a reinicialização da Instância SQL ou há um intervalo de tempo diferente que precisamos considerar?

    Devem ser leituras/gravações cumulativas em cada arquivo ("Número total de bytes lidos neste arquivo") para a instanciação atual da instância, ou seja, desde que foi iniciada pela última vez. A função original que este dmf substitui, sys.fn_virtualfilestatsretornou uma timestampcoluna para ajudar a comparar os resultados recebidos ao longo do tempo ("Database timestamp em que os dados foram obtidos").

    Agora que este é um dmf, parece que sample_mspreenche esse vazio com base em sua descrição:

    Esta coluna pode ser usada para comparar diferentes saídas desta função.

    Na maioria dos casos realistas, a única coisa que lê/grava nos arquivos de dados/log do SQL Server é ele mesmo, portanto, eles não seriam incrementados, a menos que a instância fosse iniciada de qualquer maneira. Independentemente disso, não parece que a intenção seja usar esse contador para qualquer finalidade além de comparar várias saídas ao longo do tempo.

    Não consegui encontrar uma referência canônica dizendo que todos os dmvs são redefinidos na reinicialização da instância, mas algumas das documentações de dmvs baseadas em índice especificam isso:

    Os contadores são inicializados para esvaziar sempre que o serviço SQL Server (MSSQLSERVER) é iniciado.

    Muitos dos dmvs não retornam informações cumulativas, portanto, não faz sentido descrevê-los como sendo redefinidos em uma reinicialização de instância. No entanto, este parece se enquadrar nessa categoria e deve ser observado como tal.

    Fiz uma solicitação pull para atualizar a documentação para refletir o fato de que ela é redefinida na inicialização da instância.

    • 1

relate perguntas

  • SQL Server - Como as páginas de dados são armazenadas ao usar um índice clusterizado

  • Preciso de índices separados para cada tipo de consulta ou um índice de várias colunas funcionará?

  • Quando devo usar uma restrição exclusiva em vez de um índice exclusivo?

  • Quais são as principais causas de deadlocks e podem ser evitadas?

  • Como determinar se um Índice é necessário ou necessário

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • respostas
  • Marko Smith

    conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host

    • 12 respostas
  • Marko Smith

    Como fazer a saída do sqlplus aparecer em uma linha?

    • 3 respostas
  • Marko Smith

    Selecione qual tem data máxima ou data mais recente

    • 3 respostas
  • Marko Smith

    Como faço para listar todos os esquemas no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Listar todas as colunas de uma tabela especificada

    • 5 respostas
  • Marko Smith

    Como usar o sqlplus para se conectar a um banco de dados Oracle localizado em outro host sem modificar meu próprio tnsnames.ora

    • 4 respostas
  • Marko Smith

    Como você mysqldump tabela (s) específica (s)?

    • 4 respostas
  • Marko Smith

    Listar os privilégios do banco de dados usando o psql

    • 10 respostas
  • Marko Smith

    Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL?

    • 4 respostas
  • Marko Smith

    Como faço para listar todos os bancos de dados e tabelas usando o psql?

    • 7 respostas
  • Martin Hope
    Jin conectar ao servidor PostgreSQL: FATAL: nenhuma entrada pg_hba.conf para o host 2014-12-02 02:54:58 +0800 CST
  • Martin Hope
    Stéphane Como faço para listar todos os esquemas no PostgreSQL? 2013-04-16 11:19:16 +0800 CST
  • Martin Hope
    Mike Walsh Por que o log de transações continua crescendo ou fica sem espaço? 2012-12-05 18:11:22 +0800 CST
  • Martin Hope
    Stephane Rolland Listar todas as colunas de uma tabela especificada 2012-08-14 04:44:44 +0800 CST
  • Martin Hope
    haxney O MySQL pode realizar consultas razoavelmente em bilhões de linhas? 2012-07-03 11:36:13 +0800 CST
  • Martin Hope
    qazwsx Como posso monitorar o andamento de uma importação de um arquivo .sql grande? 2012-05-03 08:54:41 +0800 CST
  • Martin Hope
    markdorison Como você mysqldump tabela (s) específica (s)? 2011-12-17 12:39:37 +0800 CST
  • Martin Hope
    Jonas Como posso cronometrar consultas SQL usando psql? 2011-06-04 02:22:54 +0800 CST
  • Martin Hope
    Jonas Como inserir valores em uma tabela de uma consulta de seleção no PostgreSQL? 2011-05-28 00:33:05 +0800 CST
  • Martin Hope
    Jonas Como faço para listar todos os bancos de dados e tabelas usando o psql? 2011-02-18 00:45:49 +0800 CST

Hot tag

sql-server mysql postgresql sql-server-2014 sql-server-2016 oracle sql-server-2008 database-design query-performance sql-server-2017

Explore

  • Início
  • Perguntas
    • Recentes
    • Highest score
  • tag
  • help

Footer

AskOverflow.Dev

About Us

  • About Us
  • Contact Us

Legal Stuff

  • Privacy Policy

Language

  • Pt
  • Server
  • Unix

© 2023 AskOverflow.DEV All Rights Reserve