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 / user-53595

Fandango68's questions

Martin Hope
Fandango68
Asked: 2020-07-01 19:29:11 +0800 CST

Uma maneira de processar um CTE uma vez?

  • 0

Tenho uma view que está com sérios problemas de performance, pois estou vinculando ela a uma CTE que usa outra view, com as mesmas referências de tabela.

WITH
  splits(ID, [NEW TEU])
  AS
    (SELECT s.[DTL ID] AS ID, s.[NEW TEU]
     FROM   [POTS].[vwSPLITCARGO] AS s)
     
SELECT *
FROM   [MISNT].[CARGO_MANIFEST_DETAIL_VIEW] AS cmd
       LEFT JOIN splits AS s ON s.ID = cmd.ID

A vwSPLITCARGOexibição faz referência à mesma CARGO_MANIFEST_DETAIL_VIEWtabela para obter seus cálculos.

Eu sei porque é lento . É porque a vwSPLITCARGOview está lendo todos os dados da mesma CARGO_MANIFEST_DETAIL_VIEWview para cada registro já no CTE. Na verdade, o vwSPLITCARGOestá sempre retornando o mesmo pequeno conjunto de registros (aproximadamente 4 ou 6 registros). Eu não preciso disso para obter esses registros o tempo todo. Uma vez seria ótimo!

Existe uma maneira de fazer o CTE se comportar como uma tabela temporária , na medida em que recupera os registros uma vez e não é processado repetidamente?

Algo a dizer ao CTE:CASE WHEN RunOnce = 0 THEN "do it" ELSE "don't do it" END

sql-server cte
  • 1 respostas
  • 68 Views
Martin Hope
Fandango68
Asked: 2020-05-22 16:41:05 +0800 CST

Por que a tabela do SQL Server Backupset volta alguns meses, mas os logs do agente voltam ainda mais?

  • 1

Eu executei este script olhando para o histórico dos meus backups no mês passado.

select * from msdb.dbo.backupset order by backup_start_date

Sem problemas, mas se eu quiser voltar para janeiro de 2020, não há registros.

Então, por que o Log do Agente, com Tipo de Log = 'DATABASE', volta ainda mais?

Obrigado

sql-server backup
  • 1 respostas
  • 63 Views
Martin Hope
Fandango68
Asked: 2020-05-21 21:34:29 +0800 CST

SQL Server: Como obter o número total de backups feitos em um mês?

  • 1

Preciso reunir estatísticas mensais para meu chefe, sobre quantos backups COMPLETOS foram feitos em um mês e qual número foi bem-sucedido e qual falhou, se houver.

Existe uma consulta simples que poderia me fornecer isso, com base nos logs do SQL Server?

Obrigado

sql-server backup
  • 1 respostas
  • 62 Views
Martin Hope
Fandango68
Asked: 2020-01-07 17:19:49 +0800 CST

Como comparar e MERGE dois ambientes SQL Server (não apenas bancos de dados)

  • 1

Muitas perguntas semelhantes foram feitas antes e principalmente sobre a comparação de esquemas e dados de banco de dados. Tudo bem, mas e todos os outros objetos do SQL Server no sistema em geral?

Esta é a resposta mais próxima que encontrei, mas não responde minha consulta em uma ferramenta para poder também criar um script SQL das variações, que pode ser facilmente aplicado a outro servidor - incluindo novos logins de usuários, funções, esquemas, servidores vinculados, mapas, planos de manutenção, etc.

A outra ferramenta que encontrei que faz isso é o TOAD for SQL Server, mas não é barato. Eu estava esperando por uma solução de script SQL? Particularmente com uma mistura de ambientes SQL Server de 2008 R2 a 2017?

Obrigado

sql-server sqlcompare
  • 1 respostas
  • 251 Views
Martin Hope
Fandango68
Asked: 2014-12-08 23:09:24 +0800 CST

Uma maneira de limpar/reiniciar o deslizamento de memória virtual automaticamente?

  • 3

Sei que não é uma boa prática fazer isso, mas minha empresa não pode me pagar tentando encontrar uma solução adequada para o nosso problema. Eu li isso e poderia fazer o mesmo com o SQL Server 2005, mas esperava que houvesse uma maneira melhor (mais rápida?).

O problema é o seguinte:

Temos um site ASP.net (ASP2) em execução no Windows Server 2003, que também hospeda nosso banco de dados SQL Server 2005 e instala.

Ultimamente, notamos que o espaço de memória VM Committed para nossa instância do SQL Server 2005 cresce e está quase no ponto de VM Reserved space que definimos em 1,7 GB (hmm demais?).

O servidor de PC em que nosso SQL Server está sendo executado possui 4 GB de RAM e até 3,5 GB de espaço livre em disco para a instalação do SQL Server 2005. O próprio banco de dados está em um compartilhamento de 350 GB (existem duas partições para isso: unidade C e D, respectivamente).

Portanto, em termos de espaço da VM, eu teria pensado que tínhamos espaço suficiente e ter definido nosso limite de VM para 1,7 GB (idealmente 2 GB) seria suficiente.

O próprio banco de dados tem menos de 500 MB de tamanho.

O serviço diminui consideravelmente quando nosso valor VM Committed se aproxima do valor VM Reserved. A única maneira que conheço de desativar isso é interromper todos os serviços do SQL Service e reiniciá-los novamente. Mas dentro de 24 horas, o VM Committed ainda se arrasta!

Existe uma maneira de tentar encontrar a causa do problema, mas simplesmente reiniciar todos os serviços durante a noite automaticamente? Ou eu realmente deveria estar tentando encontrar a causa do nosso problema?

Fiz algumas investigações (mas como disse, estamos com pouco tempo no momento) e encontrei esta consulta SQL (veja abaixo), que me diz qual consulta real parece monopolizar mais a CPU (não tenho certeza se isso tem algo a ver ver com meu problema original de VM acima).

Ele mostra uma consulta que por acaso é executada durante a noite, e pode ser que essa consulta esteja simplesmente sobrecarregando a memória e não a liberando de volta para o pool?

Existe uma maneira de "fechar" threads/alocação de memória etc no SQL Server para que a memória seja liberada?

Aqui está a consulta de "pesquisa de porco" da CPU (cortesia disso )

select  
    highest_cpu_queries.plan_handle,  
    highest_cpu_queries.total_worker_time, 
    q.dbid, 
    q.objectid, 
    q.number, 
    q.encrypted, 
    q.[text] 
from  
    (select top 50  
        qs.plan_handle,  
        qs.total_worker_time 
    from  
        sys.dm_exec_query_stats qs 
    order by qs.total_worker_time desc) as highest_cpu_queries 
    cross apply sys.dm_exec_sql_text(plan_handle) as q 
order by highest_cpu_queries.total_worker_time desc

Editar, responde às perguntas de Pathum:

Resultados da execução da consulta:

---------------------------------------------------------------------------------------------------- 
Memory usage details for SQL Server instance SERVER9 (9.00.4053.00 - X86) - Standard Edition)
----------------------------------------------------------------------------------------------------

Memory visible to the Operating System
Physical Memory_MB|Physical Memory_GB|Virtual Memory GB 4091|4|2
Buffer Pool Usage at the Moment
BPool_Committed_MB|BPool_Commit_Tgt_MB|BPool_Visible_MB
519.250000|1599.875000|1599.875000

Total Memory used by SQL Server Buffer Pool as reported by Perfmon counters
Mem_KB|Mem_MB|Mem_GB 531712|519.250000|0.507080078

Memory needed as per current Workload for SQL Server instance    
Mem_KB|Mem_MB|Mem_GB 1638272|1599.875000|1.562377929

Total amount of dynamic memory the server is using for maintaining connections
Mem_KB|Mem_MB|Mem_GB 560|0.546875|0.000534057

Total amount of dynamic memory the server is using for locks
Mem_KB|Mem_MB|Mem_GB 968|0.945312|0.000923156

Total amount of dynamic memory the server is using for the dynamic SQL cache
Mem_KB|Mem_MB|Mem_GB 1120|1.093750|0.001068115

Total amount of dynamic memory the server is using for query optimization
Mem_KB|Mem_MB|Mem_GB 552|0.539062|0.000526428

Total amount of dynamic memory used for hash, sort and create index operations.
Mem_KB|Mem_MB|Mem_GB 0|0.000000|0.000000000

Total Amount of memory consumed by cursors
Mem_KB|Mem_MB|Mem_GB 480|0.468750|0.000457763

Number of pages in the buffer pool (includes database, free, and stolen).
8KB_Pages|Pages_in_KB|Pages_in_MB 66464|531712.000000|519.250000000

Number of Data pages in the buffer pool
8KB_Pages|Pages_in_KB|Pages_in_MB 50135|401080.000000|391.679687500

Number of Free pages in the buffer pool
8KB_Pages|Pages_in_KB|Pages_in_MB 895|7160.000000|6.992187500

Number of Reserved pages in the buffer pool
8KB_Pages|Pages_in_KB|Pages_in_MB 0|0.000000|0.000000000

Number of Stolen pages in the buffer pool
8KB_Pages|Pages_in_KB|Pages_in_MB 15434|123472.000000|120.578125000

Number of Plan Cache pages in the buffer pool
8KB_Pages|Pages_in_KB|Pages_in_MB 11953|95624.000000|93.382812500

Page Life Expectancy - Number of seconds a page will stay in the buffer pool without references
Page Life in seconds|PLE Status 47011|PLE is Healthy

Number of requests per second that had to wait for a free page
Free list stalls/sec 0


Number of pages flushed to disk/sec by a checkpoint or other operation that require all dirty pages to be flushed
Checkpoint pages/sec 572

Number of buffers written per second by the buffer manager"s lazy writer
Lazy writes/sec 0

Total number of processes waiting for a workspace memory grant
Memory Grants Pending 0

Total number of processes that have successfully acquired a workspace memory grant
Memory Grants Outstanding 0

Segunda consulta, verificando a pressão da memória:

SELECT object_name, cntr_value 
FROM sys.dm_os_performance_counters 
WHERE counter_name IN ('Total Server Memory (KB)', 'Target Server Memory (KB)');

Resultados:

object_name|cntr_value
SQLServer:Memory Manager        |1638272
SQLServer:Memory Manager        |531712
(2 row(s) affected)

  • Meu servidor é 32 bits. Não iremos mudar para 64 bits por qualquer motivo.

  • Valores de sp_configure informações não podem ser fornecidos, isso é confidencial. :)

sql-server sql-server-2005
  • 3 respostas
  • 6933 Views

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