Dica – Script Challenge – 12

Dica – Script Challenge – 12

Anúncios

Olá pessoal, bom dia.

Tudo bem? Olha eu aqui outra vez, com mais um Desafio de SQL Server!

O Script Challenge deste mês, com certeza poderá ajudar em muito o seu ambiente na identificação de recursos que possam estar gerando consumo de processamento. Não vou ficar dando dicas ou pistas deste código, quero contar com a sua participação.

A seguir apresentado o Código – Script Challenge – 12:

–Declarando a varavel @Buffers_EmUso

Declare

@Buffers_EmUso Int;

Object_Name=Buffer Manager e Counter_Name=Total Pages*/

 

Select

@Buffers_EmUso = cntr_value From Sys.dm_os_performance_counters

Where

Rtrim(Object_name) LIKE ‘%Buffer Manager’

And

counter_name = ‘Total Pages’;

 

— Declarando a CTE Buffers_Pages para contagem de Buffers por pgina —

 

;With DB_Buffers_Pages AS

(

SELECT database_id, Contagem_Buffers_Por_Pagina  = COUNT_BIG(*)

From Sys.dm_os_buffer_descriptors

Group By database_id

)

 

Select

Case [database_id]

WHEN 32767 Then ‘Recursos de Banco de Dados’ Else DB_NAME([database_id])

End As ‘Banco de Dados’,

Contagem_Buffers_Por_Pagina,

‘Buffers em MBs por Banco’ = Contagem_Buffers_Por_Pagina / 128,

‘Porcentagem de Buffers’ = CONVERT(DECIMAL(6,3), Contagem_Buffers_Por_Pagina * 100.0 / @Buffers_EmUso)

From

DB_Buffers_Pages

Order

By ‘Buffers em MBs por Banco’ Desc;


— Parte 2: —

USE

CRIPTOGRAFIA

GO

 

;WITH DB_Buffers_Pages_Objetos AS

(

Select

SO.name As Objeto,

SO.type_desc As TipoObjeto,

COALESCE(SI.name, ) As Indice,

SI.type_desc As TipoIndice,

p.[object_id],

p.index_id,

AU.allocation_unit_id

From sys.partitions AS P INNER JOIN sys.allocation_units AS AU

ON p.hobt_id = au.container_id

INNER JOIN sys.objects AS SO

ON p.[object_id] = SO.[object_id]

INNER JOIN sys.indexes AS SI

ON SO.[object_id] = SI.[object_id]

AND p.index_id = SI.index_id

Where AU.[type] IN(1,2,3)

And SO.is_ms_shipped = 0

)

 

Select

Db.Objeto, Db.TipoObjeto  As ‘Tipo Objeto’,

Db.Indice,

Db.TipoIndice,

COUNT_BIG(b.page_id) As,

COUNT_BIG(b.page_id) / 128 As

From

DB_Buffers_Pages_Objetos Db INNER JOIN sys.dm_os_buffer_descriptors AS b

ON Db.allocation_unit_id = b.allocation_unit_id

Where

b.database_id = DB_ID()

Group

By Db.Objeto, Db.TipoObjeto, Db.Indice, Db.TipoIndice

Order

By ‘Buffers Por Pgina’ Desc, TipoIndice Desc;

 

Pois bem galera, este é o Código – Script Challenge – 12, conto com a participação de vocês, envie seus comentário, críticas, sugestões e respostas para este desafio, e agora também com uma novidade, além de você descobrir o objetivo deste código, você também deverá identificar os possíveis erros ou inconsistências que possam existir.

Por enquanto é isso, volto no final deste mês com a resposta.

Até mais.

Autor: Junior Galvão - MVP

Profissional com vasta experiência na área de Tecnologia da Informação e soluções Microsoft. Graduado no Curso Superior em Gestão da Tecnologia de Sistemas de Informação. Pós-Graduado no Curso de Gestão e Engenharia de Processos para Desenvolvimento de Software com RUP na Faculdade FIAP - Faculdade de Informática e Administração Paulista de São Paulo. Pós-Graduado em Gestão da Tecnologia da Informação Faculdade - ESAMC Sorocaba. Formação MCDBA Microsoft, autor de artigos acadêmicos e profissionais postados em Revistas, Instituições de Ensino e WebSistes. Meu primeiro contato com tecnologia ocorreu em 1995 após meus pais comprarem nosso primeiro computador, ano em que as portas para este fantástico mundo se abriram. Neste mesmo ano, comecei o de Processamento de Dados, naquele momento a palavra TI não existia, na verdade a Tecnologia da Informação era conhecida como Computação ou Informática, foi assim que tudo começou e desde então não parei mais, continuando nesta longa estrada até hoje. Desde 2001 tenho atuado como Database Administrator - Administrador de Banco de Dados - SQL Server em tarefas de Administração, Gerenciamento, Migração de Servidores e Bancos de Dados, Estratégias de Backup/Restauração, Replicação, LogShipping, Implantação de ERPs que utilizam bancos SQL Server, Desenvolvimento de Funções, Stored Procedure, Triggers. Experiência na Coordenação de Projetos de Alta Disponibilidade de Dados, utilizando Database Mirroring, Replicação Transacional e Merge, Log Shipping. Atualmente trabalho como Administrador de Banco de Dados no FIT - Instituto de Tecnologia da Flextronics, como também, Consultor em Projetos de Tunnig e Performance para clientes, bem como, Professor Titular na Fatec São Roque. Desde 2008 exerço a função de Professor Universitário, para as disciplinas de Banco de Dados, Administração, Modelagem de Banco de Dados, Programação em Banco de Dados, Sistemas Operacionais, Análise e Projetos de Sistemas, entre outras. Possuo titulação Oficial Microsoft MVP - SQL Server renovada desde 2007.

Um comentário em “Dica – Script Challenge – 12”

Deixe um comentário

Preencha os seus dados abaixo ou clique em um ícone para log in:

Logotipo do WordPress.com

Você está comentando utilizando sua conta WordPress.com. Sair / Alterar )

Imagem do Twitter

Você está comentando utilizando sua conta Twitter. Sair / Alterar )

Foto do Facebook

Você está comentando utilizando sua conta Facebook. Sair / Alterar )

Foto do Google+

Você está comentando utilizando sua conta Google+. Sair / Alterar )

Conectando a %s