Arquivo da categoria: SQL Server Internals

NOVAS TURMAS DOS MELHORES TREINAMENTOS DE SQL SERVER E AZURE SQL DATABASE DO BRASIL!!!!!!

Fala galera!!!!!

Vocês pediram MUITO e por isso estou abrindo novas turmas ONLINE para os treinamentos WORKING WITH AZURE SQL DATABASE e o MASTERING YOUR SQL SERVER ENVIRONMENT.

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.

As datas serão as seguintes:

WORKING WITH AZURE SQL DATABASE
– 12/09
– 19/09
– 26/09
– 03/10

MASTERING YOUR SQL SERVER ENVIRONMENT
– 10/10
– 17/10
– 24/10
– 31/10
– 07/11

As vagas serão limitadas e para fazer a sua inscrição é só enviar um email para CONTATO@VITADBSOLUTIONS.COM

Quero muito a sua participação, pois a minha missão é te ajudar a se tornar um verdadeiro DATAMASTER!!!!

🙂

Dicas para um DBA Iniciante – Keeping Your SQL Server AlwaysON

Faaaaaaaaaala galera!!!!!

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!!!!!

Já viu o novo treinamento disponível na Vita Database Solution e que fala tudo o que você precisa saber sobre implementação de ambientes de alta disponibilidade, o KEEPING YOUR SQL SERVER ALWAYSON?

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.

Grande abraço.

Dicas para um DBA Iniciante – Monitorando o SQL Server utilizando PYTHON

Fala galera, tudo bem?

No vídeo de hoje quero demonstrar como podemos construir uma monitoração do SQL Server utilizando a linguagem de programação Python e seus pacotes.

Espero que gostem 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.

Grande abraço.

ÚLTIMAS VAGAS – TREINAMENTO DE ALTA DISPONIBILIDADE!!!!!

Faaaaaaaaaala galera!!!!!

Já viu o novo treinamento disponível na Vita Database Solution e que fala tudo o que você precisa saber sobre implementação de ambientes de alta disponibilidade, o KEEPING YOUR SQL SERVER ALWAYSON?

Estamos com apenas mais alguma vagas em aberto para a turma que acontecerá em MAIO/2020, então não perde a chance e faz agora a sua inscrição.

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.

Grande abraço.

Dicas para um DBA Iniciante – Lista de material para ajudar nos seus estudos

Fala galera, tudo bem?

Estamos todos aproveitando esse momento para cuidar das pessoas que amamamos e também para nos desenvolvermos profissionalmente, certo?

Pensando em ajudar um pouquinho na sua quarentena montei essa lista de vídeos do meu canal no Youtube e espero que gostem:

BE A DATA MASTER
Treinamento para ajudar a todos que querem iniciar na carreira de DBA e não sabem por onde começar.
https://www.youtube.com/playlist?list=PLB1mbTJCM4ROf0UvA7doSaw8Dh0bXi1Kl

SQL Server – Highway To Hell
Série de vídeos com a intenção de abordar uma feature do SQL Server desde o seu conceito básico até o nível mais avançado.
https://www.youtube.com/playlist?list=PLB1mbTJCM4ROrYa33C-4D4AspWEz7fWRr

Dicas para um DBA Iniciante
Dicas para facilitar o dia a dia de um DBA SQL Server
https://www.youtube.com/playlist?list=PLB1mbTJCM4RP4AjpxGfTG8AYoXLQeWHXw

NÃO ESQUEÇA QUE O TREINAMENTO KEEPING YOUR SQL SERVER ALWAYSON JÁ ESTÁ DISPONÍVEL E AGUARDANDO A SUA INSCRIÇÃO

Espero que gostem 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.

Grande abraço.

OPORTUNIDADE IMPERDÍVEL!!!!!! – Keeping Your SQL Server AlwaysOn

Faaaaaaaaaala galera!!!!!

No vídeo de hoje quero divulgar o novo treinamento disponível na Vita Database Solution e que fala tudo o que você precisa saber sobre implementação de ambientes de alta disponibilidade, o KEEPING YOUR SQL SERVER ALWAYSON.

As inscrições já estão abertas e a primeira turma acontecerá em MAIO/2020, então não perde a chance e faz agora a sua inscrição.

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.

Grande abraço.

LiveCast – Aprenda como resolver os 5 principais problemas do seu ambiente de banco de dados

Galera, tudo bem?

No dia 25/03 fizemos uma LIVE sensacional na qual demonstrei como resolver os 5 principais problemas que acontecem em um ambiente de banco de dados SQL Server.

A gravação já está disponível e caso tenha interesse no Azure Notebook que criei para a LIVE é só fazer o download AQUI.

Espero que tenha gostado 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.

Grande abraço.

#TodosJuntosContraOCoronaVirus – Aprenda como resolver os 5 principais problemas do seu ambiente de banco de dados

Fala galera, tudo bem com vocês?

Espero que estejam todos bem e cuidando ao máximo da sua saúde e também dos seus familiares nesse momento dificil que estamos passando.

Quero tentar ajudá-los de alguma maneira e em conjunto com a Vita Database Solutions, farei um webcast no dia 25/03, á partir das 12h30, no qual explicarei de forma bem prática como resolver os 5 principais problemas que acontecem em um ambiente de banco de dados SQL Server.

Para acompanhar é só acessar o link https://global.gotomeeting.com/join/615208973

Espero todos vocês no evento 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.

Grande abraço.

Be a DataMaster – Qual o maior consumidor do TEMPDB na sua instância?

Fala galera, beleza?

No vídeo de hoje quero demonstrar como você pode, de forma bem simples, encontrar as sessões que estão utilizando de forma excessiva o TEMPDB.

Segue o script utilizado no vídeo


SELECT
sys.dm_exec_sessions.session_id AS [SESSION ID],
(user_objects_alloc_page_count * 8) AS [SPACE Allocated FOR USER Objects (in KB)],
(internal_objects_alloc_page_count * 8) AS [SPACE Allocated FOR Internal Objects (in KB)],
DB_NAME(sys.dm_exec_sessions.database_id) AS [DATABASE Name],
HOST_NAME AS [System Name],
program_name AS [Program Name],
login_name AS [USER Name],
status,
row_count AS [ROW COUNT]
FROM
sys.dm_db_session_space_usage
INNER join
sys.dm_exec_sessions
ON
sys.dm_db_session_space_usage.session_id = sys.dm_exec_sessions.session_id
WHERE
sys.dm_exec_sessions.Session_id > 50

--DBCC INPUTBUFFER(53)

Espero que tenham gostado 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.

Grande abraço.

Be a DataMaster – Criando uma monitoração dos Wait Types da sua instância

Fala galera!!!!!

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:


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

Espero que tenham gostado 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.

Grande abraço.