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 / 47011
Accepted
Sean Long
Sean Long
Asked: 2013-07-26 10:21:48 +0800 CST2013-07-26 10:21:48 +0800 CST 2013-07-26 10:21:48 +0800 CST

Substituindo master.dbo.sysperfinfo por sys.dm_os_performance_counters

  • 772

Estou trabalhando com um código antigo que extrai contadores de desempenho e parte do que estou fazendo é garantir que alguns processos sejam executados com eficiência e eficácia.

Agora eu tenho este código que estou olhando:

SELECT REPLACE(RTRIM(OBJECT_NAME), 'SQLServer:', '') AS 'Object',
       RTRIM(counter_name)   AS 'Counter',
       RTRIM(instance_name)  AS 'Instance',
       cntr_value            AS VALUE
FROM   MASTER.dbo.sysperfinfo
WHERE  OBJECT_NAME <> 'SQLServer:User Settable'

Estou propondo substituí-lo por:

SELECT REPLACE(RTRIM(OBJECT_NAME), 'SQLServer:', '') AS 'Object',
       RTRIM(counter_name)   AS 'Counter',
       RTRIM(instance_name)  AS 'Instance',
       cntr_value            AS VALUE
FROM   sys.dm_os_performance_counters
WHERE  OBJECT_NAME <> 'SQLServer:User Settable'

Que é mais rápido e mais compatível com tudo o que é anterior ao SQL 2000. Não há mais ambientes que serão usados ​​nessa execução do SQL 2000, a versão mais antiga que o código acima seria executado é o SQL 2008. Verifiquei se os valores retornados são congruente e funciona no contexto do restante do código.

Minha pergunta é: Quais são as diferenças entre dm_os_performance_counterse master.dbo.sysperfinfo? Preciso extrair dm_os_performance_countersdo contexto Mestre?

sql-server sql-server-2008
  • 2 2 respostas
  • 1525 Views

2 respostas

  • Voted
  1. Thomas Stringer
    2013-07-26T10:34:14+08:002013-07-26T10:34:14+08:00

    Quais são as diferenças entre dm_os_performance_counters e master.dbo.sysperfinfo?

    sys.dm_os_performance_countersé a substituição de sysperfinfo. Consulte esta referência BOL sobre o mapeamento de tabelas do sistema para exibições do sistema/DMVs . Você deveria estar usando sys.dm_os_performance_counters.

    Preciso extrair dm_os_performance_counters do contexto mestre?

    Não, os DMVs (ou exibições de catálogo do sistema) podem ser acessados ​​a partir do contexto de qualquer banco de dados, desde que você tenha as permissões apropriadas para visualizar o conteúdo. O exemplo abaixo para fins de ilustração seria ótimo:

    use NonMasterDatabase;
    go
    
    select *
    from sys.dm_os_performance_counters;
    
    • 3
  2. Best Answer
    Kin Shah
    2013-07-26T10:37:22+08:002013-07-26T10:37:22+08:00

    A diferença entre sys.sysperfinfoe sys.dm_os_performance_countersnão é o significado principal que sys.sysperfinfoé uma visão de compatibilidade e é depreciada (para compatibilidade com versões anteriores). Portanto, sys.dm_os_performance_countersapenas um substituto para sys.sysperfinfoas versões mais recentes do SQL Server.

    Portanto, é uma boa ideia fazer a transição do modo de exibição de compatibilidade para o DMV (como você mencionou que o script não será usado para nenhum servidor SQL 2000).

    Os DMV's podem ser executados para qualquer banco de dados se você tiver permissões necessárias, por exemplo, permissão VIEW SERVER STATE para executarsys.dm_os_performance_counters

    Referência: CONSULTANDO CONTADORES DE DESEMPENHO NO SQL SERVER para obter um script excelente para entender os contadores de desempenho.

    • 3

relate perguntas

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

  • Quanto "Padding" coloco em meus índices?

  • Existe um processo do tipo "práticas recomendadas" para os desenvolvedores seguirem para alterações no banco de dados?

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

  • Downgrade do SQL Server 2008 para 2005

Sidebar

Stats

  • Perguntas 205573
  • respostas 270741
  • best respostas 135370
  • utilizador 68524
  • Highest score
  • 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

    Conceder acesso a todas as tabelas para um usuário

    • 5 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
    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
    pedrosanta Listar os privilégios do banco de dados usando o psql 2011-08-04 11:01:21 +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