Pular para o conteúdo principal

Boas práticas MS SQL SERVER

 https://cloud.google.com/compute/docs/instances/sql-server/best-practices?hl=pt-br


https://www.devmedia.com.br/paralelismo-do-sql-server-com-o-cxpacket/31608


 select * from sys.dm_os_waiting_tasks


 select * from sys.dm_exec_requests



SET TRANSACTION ISOLATION LEVEL READ UNCOMMITTED;

WITH XMLNAMESPACES

(DEFAULT 'http://schemas.microsoft.com/sqlserver/2004/07/showplan')

SELECT

     query_plan AS CompleteQueryPlan,

     n.value('(@StatementText)[1]', 'VARCHAR(4000)') AS StatementText,

     n.value('(@StatementOptmLevel)[1]', 'VARCHAR(25)') AS StatementOptimizationLevel,

     n.value('(@StatementSubTreeCost)[1]', 'VARCHAR(128)') AS StatementSubTreeCost,

     n.query('.') AS ParallelSubTreeXML,

     ecp.usecounts,

     ecp.size_in_bytes

FROM sys.dm_exec_cached_plans AS ecp

CROSS APPLY sys.dm_exec_query_plan(plan_handle) AS eqp

CROSS APPLY query_plan.nodes('/ShowPlanXML/BatchSequence/Batch/Statements/StmtSimple') AS qn(n)

WHERE  n.query('.').exist('//RelOp[@PhysicalOp="Parallelism"]') = 1



-- analise Query 

set statistics time on 


SELECT SE2.E2_NUM , E2_PREFIXO, E2_PARCELA

FROM SE2010 (nolock) SE2  

WHERE  SE2.E2_FILIAL = '01' AND SE2.D_E_L_E_T_= ' '

ORDER BY  REPLICATE('0', 9 - LEN(E2_NUM ) ) + RTRIM(E2_NUM ) DESC   OPTION(MAXDOP 3)



GO  

EXEC sp_configure 'show advanced options', 1 ;  

GO  

RECONFIGURE  

GO  

EXEC sp_configure 'cost threshold for parallelism', 500 ;  

GO  

RECONFIGURE  

GO  



-- Quantidade de CPUS 

SELECT (cpu_count / hyperthread_ratio) AS PhysicalCPUs,   

cpu_count AS logicalCPUs   

FROM sys.dm_os_sys_info  


Postagens mais visitadas deste blog

REST Protheus Converter charset CP1252 para UTF8 com Header Accept UTF-8

O Protheus possui um tag que pode ser utilizada para conversão para UTF8 de forma transparente, basta enviar no header da requisição a TAG ACCEPT com charset=UTF-8, também pode-se adicionar o appllication/json. Accept : application/json; charset=UTF-8 ou Accept : charset=UTF-8 Isso ajuda pois não precisa mais utilizar as funções DecodeUTF8 e EncodeUT8 pois o próprio rest já vai fazer isso.

Recursividade Minha Linda! Estrutura Produtos Protheus SG1

Fato! Depois que você conhece recursividade em sua vida tudo fica mais leve (rss... ) a recursividade pode ser infinita (pode não ta!) se for infinita vai dar problema, não pode. Mas a recursividade nos ajuda a deixar nosso sistema mais flexível e dinâmico para montar uma série de regras de negócio. Hoje vou falar exatamente da SG1, tabela TOTVS Microsiga Protheus que é utilizada para montar a estrutura de um produto dentro PCP (Planejamento e Controle de Produção). Isso séria algo que a recursividade iria ajudar. Na SG1 temos o campos G1_COD (Pai) e G1_COMP (Filho). G1_COD->G1_COMP->G1_COD->G1_COMP->G1_COD->G1_COMP Seria assim o fluxo da informação. Sem mais delongas, abaixo vou deixar o script para MSSQL para apresentar esses dados. Inté! WITH ESTRUT( CODIGO, COD_PAI, COD_COMP, QTD, PERDA, DT_INI, DT_FIM ,TRT ,RECNO, NIVEL ) AS ( SELECT G1_COD PAI, G1_COD, G1_COMP, G1_QUANT, G1_PERDA, G1_INI, G1_FIM,G1_TRT,SG1.R_E_C_N_O_, 1 AS NIVEL FR...

Appserver Protheus Rest - TLS 1.2

A partir da release 17.3.0.20 vai estar disponível no rest as tags: TLS1=3 que ativa o TLS 1.2 State=1 Bugs=1 O rest do Protheus somente funcionava até o TLS 1.0, ao qual muitos navegadores já estão descontinuando suporte. [HTTPREST] Port=56650 URIs=HTTPURI SECURITY=1 VERBOSE=0 SSL2=1 SSL3=1 TLS1=3 Bugs=1 State=1