Os treinamentos estão totalmente atualizados para a última versão do SQL Server e também com todas as novas features do Azure SQL Database.
Caso você tenha interesse em participar das duas turmas, também receberá GRATUITAMENTE, 2 sessões de mentoria comigo, através das quais ajudarei a alcançar seus objetivos profissionais.
No vídeo de hoje quero demonstrar como utilizar uma das melhores funcionalidades do SQL Server (que existe desde a versão 2008) para automatizar a monitoração do seu ambiente, o Policy-Based Management (PBM).
Hoje quero compartilhar com vocês mais uma dica sensacional para você que está iniciando na área de administração de banco de dados e, assim como eu, também tem o interesse de tornar-se um DATAMASTER!!!!!
Estamos com apenas mais alguma vagas em aberto para a turma que começará já NESSE SÁBADO, 09/05 das 0h as 17h.
O treinamento será 100% ONLINE e com aulas ao vivo e tenho certeza de que você aprenderá tudo o que um excelente DBA precisa saber para planejar, implementar e administrar uma solucão de ALTA DISPONIBILIDADE.
Espero TODOS VOCÊS no treinamento e não deixem de inscreverem-se no blog, no canal do youtube, no grupo de discussão SQLManiacs e em nosso grupo no TELEGRAM.
Hoje quero demonstrar como implementei em um cliente da Vita Database Solutions uma coleta automatizada dos Wait Types ocorrendo em uma instância de banco de dados SQL Server.
Caso queira implementar em seu ambiente, basta utilizar o seguinte script:
[code language=”sql”]
USE [master]
go
CREATE TABLE WaitStats_Collection
(DateMonitored DATETIME2, Wait_Type VARCHAR(200),
Waiting_Tasks_Count INT,Percentage_WaitTime DECIMAL(9,2))
GO
CREATE PROCEDURE PR_COLLECT_WAITSTATS
AS
INSERT INTO WaitStats_Collection
SELECT
GETDATE() AS [DateMonitored],
wait_type AS Wait_Type,
waiting_tasks_count AS Waiting_Tasks_Count,
wait_time_ms * 100.0 / SUM(wait_time_ms) OVER() AS Percentage_WaitTime
FROM
sys.dm_os_wait_stats
WHERE
wait_type NOT IN
(N’BROKER_EVENTHANDLER’,
N’BROKER_RECEIVE_WAITFOR’,
N’BROKER_TASK_STOP’,
N’BROKER_TO_FLUSH’,
N’BROKER_TRANSMITTER’,
N’CHECKPOINT_QUEUE’,
N’CHKPT’,
N’CLR_AUTO_EVENT’,
N’CLR_MANUAL_EVENT’,
N’CLR_SEMAPHORE’,
N’DBMIRROR_DBM_EVENT’,
N’DBMIRROR_DBM_MUTEX’,
N’DBMIRROR_EVENTS_QUEUE’,
N’DBMIRROR_WORKER_QUEUE’,
N’DBMIRRORING_CMD’,
N’DIRTY_PAGE_POLL’,
N’DISPATCHER_QUEUE_SEMAPHORE’,
N’EXECSYNC’,
N’FSAGENT’,
N’FT_IFTS_SCHEDULER_IDLE_WAIT’,
N’FT_IFTSHC_MUTEX’,
N’HADR_CLUSAPI_CALL’,
N’HADR_FILESTREAM_IOMGR_IOCOMPLETION’,
N’HADR_LOGCAPTURE_WAIT’,
N’HADR_NOTIFICATION_DEQUEUE’,
N’HADR_TIMER_TASK’,
N’HADR_WORK_QUEUE’,
N’LAZYWRITER_SLEEP’,
N’LOGMGR_QUEUE’,
N’MEMORY_ALLOCATION_EXT’,
N’ONDEMAND_TASK_QUEUE’,
N’PREEMPTIVE_HADR_LEASE_MECHANISM’,
N’PREEMPTIVE_OS_AUTHENTICATIONOPS’,
N’PREEMPTIVE_OS_AUTHORIZATIONOPS’,
N’PREEMPTIVE_OS_COMOPS’,
N’PREEMPTIVE_OS_CREATEFILE’,
N’PREEMPTIVE_OS_CRYPTOPS’,
N’PREEMPTIVE_OS_DEVICEOPS’,
N’PREEMPTIVE_OS_FILEOPS’,
N’PREEMPTIVE_OS_GENERICOPS’,
N’PREEMPTIVE_OS_LIBRARYOPS’,
N’PREEMPTIVE_OS_PIPEOPS’,
N’PREEMPTIVE_OS_QUERYREGISTRY’,
N’PREEMPTIVE_OS_VERIFYTRUST’,
N’PREEMPTIVE_OS_WAITFORSINGLEOBJECT’,
N’PREEMPTIVE_OS_WRITEFILEGATHER’,
N’PREEMPTIVE_SP_SERVER_DIAGNOSTICS’,
N’PREEMPTIVE_XE_GETTARGETSTATE’,
N’PWAIT_ALL_COMPONENTS_INITIALIZED’,
N’PWAIT_DIRECTLOGCONSUMER_GETNEXT’,
N’QDS_ASYNC_QUEUE’,
N’QDS_CLEANUP_STALE_QUERIES_TASK_MAIN_LOOP_SLEEP’,
N’QDS_PERSIST_TASK_MAIN_LOOP_SLEEP’,
N’QDS_SHUTDOWN_QUEUE’,
N’REDO_THREAD_PENDING_WORK’,
N’REQUEST_FOR_DEADLOCK_SEARCH’,
N’RESOURCE_QUEUE’,
N’SERVER_IDLE_CHECK’,
N’SLEEP_BPOOL_FLUSH’,
N’SLEEP_DBSTARTUP’,
N’SLEEP_DCOMSTARTUP’,
N’SLEEP_MASTERDBREADY’,
N’SLEEP_MASTERMDREADY’,
N’SLEEP_MASTERUPGRADED’,
N’SLEEP_MSDBSTARTUP’,
N’SLEEP_SYSTEMTASK’,
N’SLEEP_TASK’,
N’SP_SERVER_DIAGNOSTICS_SLEEP’,
N’SQLTRACE_BUFFER_FLUSH’,
N’SQLTRACE_INCREMENTAL_FLUSH_SLEEP’,
N’SQLTRACE_WAIT_ENTRIES’,
N’UCS_SESSION_REGISTRATION’,
N’WAIT_FOR_RESULTS’,
N’WAIT_XTP_CKPT_CLOSE’,
N’WAIT_XTP_HOST_WAIT’,
N’WAIT_XTP_OFFLINE_CKPT_NEW_LOG’,
N’WAIT_XTP_RECOVERY’,
N’WAITFOR’,
N’WAITFOR_TASKSHUTDOWN’,
N’XE_TIMER_EVENT’,
N’XE_DISPATCHER_WAIT’,
N’XE_LIVE_TARGET_TVF’
)
AND
wait_time_ms >= 1
GO
USE [msdb]
GO
DECLARE @jobId BINARY(16)
EXEC msdb.dbo.sp_add_job @job_name=N’Automated Wait Statistics Collection’,
@enabled=1,
@notify_level_eventlog=0,
@notify_level_email=2,
@notify_level_page=2,
@delete_level=0,
@category_name=N'[Uncategorized (Local)]’,
@owner_login_name=N’sa’, @job_id = @jobId OUTPUT
select @jobId
GO
EXEC msdb.dbo.sp_add_jobserver @job_name=N’Automated Wait Statistics Collection’, @server_name = N’DESKTOP-OTDNR1N\BEADATAMASTER’
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_add_jobstep @job_name=N’Automated Wait Statistics Collection’, @step_name=N’Execute Data Collection’,
@step_id=1,
@cmdexec_success_code=0,
@on_success_action=1,
@on_fail_action=2,
@retry_attempts=0,
@retry_interval=0,
@os_run_priority=0, @subsystem=N’TSQL’,
@command=N’EXEC PR_COLLECT_WAITSTATS’,
@database_name=N’master’,
@flags=0
GO
USE [msdb]
GO
EXEC msdb.dbo.sp_update_job @job_name=N’Automated Wait Statistics Collection’,
@enabled=1,
@start_step_id=1,
@notify_level_eventlog=0,
@notify_level_email=2,
@notify_level_page=2,
@delete_level=0,
@description=N”,
@category_name=N'[Uncategorized (Local)]’,
@owner_login_name=N’sa’,
@notify_email_operator_name=N”,
@notify_page_operator_name=N”
GO
[/code]
Quero agradecer a todos que compareceram ao nosso primeiro encontro de 2020, que ocorreu na FC Nuvem no dia 21/01.
Foi extremamente produtivo poder conversar com vocês e ajudar no desenvolvimento de um plano de carreira visando as principais tecnologias utilizadas atualmente no mercado.
Espero que tenham gostado e convido a todos que não puderam comparecer para participarem das próximas edições!!!!
Também estou disponibilizando o planejamento de carreira que fizemos ontem durante o encontro.
O ano já começou e está na hora de reiniciarmos as atividades do SQLManiacs, concordam?
No dia 21/01, à partir das 18h30, teremos o nosso primeiro encontro de 2020 (100% GRATUITO) e dessa vez acontecerá na FC Nuvem, na Rua Bela Cintra, 986 – 2º andar.
Nesse encontro teremos duas sessões para vocês, sendo que a primeira será comigo e falaremos sobre planejamento de carreira para 2020 e a segunda sessão será com o Marcelo Adade e falaremos sobre as principais funcionalidade de Alta Disponibilidade presentes no SQL Server.
São duas sessões imperdíveis e para participar é só fazer a sua inscrição através do link:
Já está disponível a última aula do nosso treinamento BE A DATAMASTER!!!!
Nesta aula discutiremos como utilizar todos os recursos disponíveis no SQL Server para automatizar as principais tarefas de um DBA e facilitar a administração do seu ambiente.