Resultados da pesquisa

Keyword: ‘highway to hell’

Highway to Hell – Extended Events – Parte 23 – Monitorando o AlwaysOn com Extended Events

Galera,

No vídeo de hoje quero demonstrar como podemos monitorar a solução de alta disponibilidade AlwaysOn utilizando o Extended Events e também o SQLDiag Logs.

Não esqueçam que hoje, à partir das 21:00, teremos um webcast com o Arthur Luz falando sobre o DataZen.

Caso tenham interesse em participar, basta acessar o link abaixo no horário do evento:

Entendendo o DataZen

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Anúncios

Highway to Hell – Extended Events – Parte 22 – Encontrando IMPLICIT CONVERSIONS

Galera,

No vídeo de hoje quero demonstrar como podemos encontrar consultas que estejam causando queda de performance em um ambiente SQL Server devido às conversões implícitas.

Caso tenha interesse em reproduzir o cenário descrito no vídeo, basta utilizar o script abaixo:

--Criação da sessão de monitoração
CREATE EVENT SESSION [XE_MONITOR_IMPLICIT_CONVERSION] ON SERVER 
ADD EVENT sqlserver.plan_affecting_convert(
    ACTION(sqlserver.database_name,sqlserver.sql_text)
    WHERE ([sqlserver].[database_id]>(4)))
WITH (MAX_MEMORY=4096 KB,EVENT_RETENTION_MODE=ALLOW_SINGLE_EVENT_LOSS,
MAX_DISPATCH_LATENCY=30 SECONDS,MAX_EVENT_SIZE=0 KB,MEMORY_PARTITION_MODE=NONE,
TRACK_CAUSALITY=OFF,STARTUP_STATE=OFF)
GO
--Estrutura da tabela Pessoa
SP_HELP 'Pessoa'
GO
--Consulta realizando conversão implicita
SELECT * FROM Pessoa WHERE CPF = '14974'

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Highway to Hell – Extended Events – Parte 20 – Monitorando throughput do processo de backup

Galera,

No vídeo de hoje quero demonstrar como utilizar uma sessão de monitoração do XEvents para acompanhar o andamento de um processo de backup e medir sua velocidade.

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Highway to Hell – Extended Events – Parte 19 – Configurando opções em uma event session

Galera,

No vídeo de hoje quero discutir com vocês as principais opções que existem em uma sessão de monitoração e como podem ser configuradas para garantir uma alta performance durante a coleta de eventos.

Caso tenha interesse em conhecer um pouco melhor a arquitetura e o ciclo de vida de uma sessão de monitoração dos XEvents, basta acessar o link abaixo:

Highway To Hell – Extended Events – Parte 3

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Highway to Hell – Extended Events – Parte 18 – Monitorando operações de SCAN

Galera,

No vídeo de hoje quero demonstrar como encontrar o banco de dados e as consultas que executam a maior quantidade de operações de SCAN no seu ambiente SQL Server.

Caso tenha interesse em recriar o cenário utilizado no vídeo, basta utilizar o script abaixo:


--Criando monitoração para descobrir o banco de dados com mais
--operações de SCAN
CREATE EVENT SESSION [XE_MONITOR_SCAN] ON SERVER
ADD EVENT sqlserver.scan_started(
ACTION(sqlserver.database_name,sqlserver.sql_text)
WHERE ([sqlserver].[database_id]=(5)))
ADD TARGET package0.histogram(SET
source=N'sqlserver.database_name')

--Simulando operações de SCAN
USE AdventureWorks2012
GO
SELECT * FROM Person.Person
GO 10
SELECT * FROM Sales.SalesOrderDetail
GO 5

--Analisando resultado da monitoração
SELECT
CAST(target_data as XML) target_data
FROM
sys.dm_xe_sessions AS s
JOIN
sys.dm_xe_session_targets t
ON
s.address = t.event_session_address
WHERE s.name = 'XE_MONITOR_SCAN'

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Highway to Hell – Extended Events – Parte 17 – Monitorando PAGE SPLIT

Galera,

No vídeo de hoje quero demonstrar como utilizar o XEvents para encontrar os objetos de banco de dados com maior número de page splits.

Caso tenha interesse em reproduzir o cenário descrito no vídeo, basta utilizar o script abaixo:

--Infos do evento transaction_log
SELECT
oc.name,
oc.type_name,
oc.description
FROM
sys.dm_xe_packages AS p
INNER JOIN
sys.dm_xe_objects AS o
ON
p.guid = o.package_guid
INNER JOIN
sys.dm_xe_object_columns AS oc
ON
oc.object_name = o.name
AND
oc.object_package_guid = o.package_guid
WHERE
o.name = 'transaction_log'
AND
oc.column_type = 'data';

--Definindo o valor do filtro
SELECT
*
FROM
sys.dm_xe_map_values
WHERE
name = 'log_op'
AND
map_value = 'LOP_DELETE_SPLIT';

--Criando sessão de monitoração
CREATE EVENT SESSION [XE_MONITOR_PAGE_SPLIT]
ON    SERVER
ADD EVENT sqlserver.transaction_log(
WHERE operation = 11
)
ADD TARGET package0.histogram(
SET filtering_event_name =
'sqlserver.transaction_log',
source_type = 0,
source = 'alloc_unit_id');
GO

--Criacao da tabela TBTeste
CREATE TABLE TBTeste
( Codigo UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID() PRIMARY KEY,
Valor INT NOT NULL DEFAULT (RAND()*1000),
DataAlteracao DATETIME2 NOT NULL DEFAULT CURRENT_TIMESTAMP);
GO

--Gerando um mid-split
CREATE INDEX IDX_01 ON TBTeste (Valor);
GO
--Gerando um end-split
CREATE INDEX IDX_02 ON TBTeste (DataAlteracao);
GO

--Inserindo valores na tabela TBTeste
WHILE 1=1
BEGIN
INSERT INTO dbo.TBTeste DEFAULT VALUES;
WAITFOR DELAY '00:00:00.005';
END
GO

-- Selecionando o objeto com maior número de page splits
SELECT
o.name AS table_name,
i.name AS index_name,
tab.split_count,
i.fill_factor
FROM (    SELECT
n.value('(value)[1]', 'bigint') AS alloc_unit_id,
n.value('(@count)[1]', 'bigint') AS split_count
FROM
(SELECT CAST(target_data as XML) target_data
FROM sys.dm_xe_sessions AS s
JOIN sys.dm_xe_session_targets t
ON s.address = t.event_session_address
WHERE s.name = 'XE_MONITOR_PAGE_SPLIT'
AND t.target_name = 'histogram' ) as tab
CROSS APPLY target_data.nodes('HistogramTarget/Slot') as q(n)
) AS tab
JOIN sys.allocation_units AS au
ON tab.alloc_unit_id = au.allocation_unit_id
JOIN sys.partitions AS p
ON au.container_id = p.partition_id
JOIN sys.indexes AS i
ON p.object_id = i.object_id
AND p.index_id = i.index_id
JOIN sys.objects AS o
ON p.object_id = o.object_id
WHERE o.is_ms_shipped = 0;

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

 

Highway to Hell – Extended Events – Parte 16 – Monitorando problemas causados com o ALTER TABLE

Galera,

Hoje quero demonstrar como criar uma monitoração para analisar o quanto um simples ALTER TABLE pode impactar o seu ambiente de banco de dados SQL Server.

Caso tenha interesse em recriar o cenário descrito no vídeo, basta utilizar o script abaixo:

--Criando a sessão de monitoração
CREATE EVENT SESSION [XE_MONITOR_ALTER_DDL] ON SERVER 
ADD EVENT sqlserver.alter_table_update_data(
    ACTION(sqlserver.database_name,sqlserver.sql_text)) 
ADD TARGET package0.event_file(SET 
FILENAME=N'C:\TRACE\XE_MONITOR_ALTER_TABLE.xel')
GO

--Alteração online
ALTER TABLE Pessoa
ADD StatusCli INT NOT NULL DEFAULT 1
GO
--Alteração offline
ALTER TABLE Pessoa
ADD ColID UNIQUEIDENTIFIER NOT NULL DEFAULT NEWID()

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

 

Highway to Hell – Extended Events – Parte 15 – Monitorando parâmetros de conexão com o SQL Server

Galera,

No vídeo de hoje quero compartilhar com vocês um problema de performance devido à alteração dos parâmetros de conexão utilizados com SQL Server e que consegui resolver utilizando o XEvents.

Espero que tenham gostado e não deixe de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

 

Highway to Hell – Extended Events – Parte 14 – Monitorando processo de rebuild online

Galera,

Hoje quero continuar falando sobre indexação e mostrar para vocês como criar uma sessão de monitoração para acompanhar o progresso de um rebuild online.

Caso tenha interesse em reproduzir o cenário do vídeo, basta realizar o download do script:

Highway to Hell – Extended Events – Monitorando processo de rebuild online

Espero que gostem e não deixem de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.

Grande abraço a todos.

Highway to Hell – Extended Events – Parte 13 – Aumento na utilização de memória

Galera,

No vídeo de hoje quero demonstrar como utilizar o XEvents para encontrar consultas que estejam causando o aumento na alocação de memória RAM pelo SQL Server.

Os scripts utilizados no vídeo estão disponíveis no link abaixo:

Highway to Hell – Extended Events – Parte 13

Espero que gostem e não deixe de inscrever-se no blog, no canal do youtube e no grupo de discussão SQLManiacs.