Como estimar o tempo de backup e restore no SQL Server

Já passou mais de 1 hora, seu BACKUP ou RESTORE ainda não finalizou e você está querendo uma estimativa do tempo de conclusão?

Fácil.

Basta executar o comando abaixo na sua instância de SQL Server utilizando a DMV (Dynamic Management View) dm_exec_requests para retornar as colunas percent_complete e estimated_completion_time e a DMF (Dynamic Management Function) dm_exec_sql_text para retornar o comando/TSQL de BACKUP/RESTORE executado.

SELECT
session_id as SPID,
command, s.text AS Query,
start_time,
percent_complete,
dateadd(second,estimated_completion_time/1000, getdate()) as estimated_completion_time
FROM sys.dm_exec_requests r
CROSS APPLY sys.dm_exec_sql_text(r.sql_handle) s
WHERE r.command in ('BACKUP DATABASE','RESTORE DATABASE')
GO

Retorno:

Screen Shot 2017-08-24 at 03.08.44

Pronto! Até a próxima.

Anúncios

Descobrindo se os seus planos de execução estão sendo reutilizados no SQL Server

Quer saber se os seus planos de execução que estão em cache no SQL Server estão sendo reutilizados?

Para visualizar a quantidade e porcentagem de planos de execução que estão sendo reutilizados basta executar a consulta abaixo:


DECLARE @singleExec BIGINT;
DECLARE @multipleExec BIGINT;
DECLARE @totalExec BIGINT;

SELECT @singleExec = COUNT(*)
FROM sys.dm_exec_query_stats s
WHERE execution_count = 1
SELECT @totalExec = COUNT(*)
FROM sys.dm_exec_query_stats s

SET @multipleExec = @totalExec - @singleExec

SELECT @totalExec AS totalExec, @multipleExec AS multipleExec, @singleExec AS singleExec
UNION ALL
SELECT 100 AS totalExec, ((@multipleExec * 100) / @totalExec) AS multipleExec, ((@singleExec * 100) / @totalExec) AS singleExec

Resultado:

Screen Shot 2017-08-24 at 03.21.28

Primeira linha: #

Segunda linha: %

totalExec: Total de planos de execução em cache.

multipleExec: Total de planos de execução em cache que foram reutilizados.

singleExec: Total de planos de execução em cache que foram utilizados apenas uma única vez.

Se este script foi útil para você avalie na galeria de scripts da TechNet por gentileza: https://gallery.technet.microsoft.com/SQL-Server-Get-Plan-Reuse-412de376

Obrigado! Espero que tenham gostado. Até a próxima!

Mapeando uma instância de SQL Server para uma instância de MSDTC

Precisando mapear uma instância de SQL Server para uma instância específica do MSDTC?

Aí vão algumas dicas e comandos para facilitar a sua vida.

Listar todos os mapeamentos do MSDTC:


msdtc.exe -tmMappingView *

Adicionar um mapeamento de uma instância do SQL server para uma instância do MSDTC:


msdtc -tmMappingSet -name "nomeDoMapeamento" -service 'MSSQL$nomeInstancia' -clusterResourceName "nomeDoRecursoDoMsdtcDentroDoCluster"

Screen Shot 2017-08-24 at 01.59.58

Importante: Se você adicionar um mapeamento incorreto o comando de criação será bem sucedido, mas o seu mapeamento não irá funcionar corretamente.

Remover um mapeamento realizado anteriormente:


msdtc.exe -tmMappingClear -name "nomeDoMapeamento"

Mais informações, dicas e boas práticas sobre MSDTC/SQL Server podem ser encontradas nas documentações abaixo:

https://blogs.msdn.microsoft.com/cindygross/2009/02/22/how-to-configure-dtc-for-sql-server-in-a-windows-2008-cluster/

https://blogs.msdn.microsoft.com/alwaysonpro/2014/01/15/msdtc-recommendations-on-sql-failover-cluster/

É isso galera. Espero que tenham gostado.

Exame 70-764 (Beta) – Administering a SQL Database Infrastructure

https://borntolearn.mslearn.net/b/weblog/posts/calling-all-database-professionals-register-for-the-764-administering-a-sql-database-infrastructure-beta-exam

Gartner 2016 – Magic Quadrant – DBMS

Galera,

Pelo segundo ano a Microsoft continua como líder na categoria de Operational Database Management Systems no quadrante mágico do Gartner com o SQL Server, Azure SQL Database, Azure DocumentDB e Azure Tables.

screen-shot-2016-10-07-at-02-23-49

Para quem quiser conferir o relatório completo, segue abaixo o link:

Gartner 2016 – Operational Database Management Systems

SQL Saturday #570 – São Paulo 2016

Galera,

No próximo sábado 08/10 tem SQL Saturday #570 em São Paulo.

Quem tiver a oportunidade eu recomendo que se inscreva e vá no evento, pois com certeza irá valer a pena.

A entrada no evento é gratuita e os lugares são limitados, portanto se inscreva agora e garanta sua vaga.

Link do evento: SQL Saturday #570 – São Paulo 2016

Quem quiser aproveitar a viagem para São Paulo pode ficar até Domingo e participar do treinamento de otimização de queries que será ministrado pelo Fabiano Amorim por apenas R$150,00.

Link do treinamento: 150 otimizações que você deveria conhecer

Bom evento e um bom treinamento para quem for galera.

TechNet Guru Awards – Junho 2016

Saiu o resultado do TechNet Guru de Junho de 2016 no blog WikiNinjas neste post.

Fui reconhecido pela Microsoft Technet como Technical Guru de Junho de 2016 na categoria SQL Server General and Database Engine com a publicação do artigo SQL Server Troubleshooting: How to remove a bad execution plan from plan cache.

Confiram!

Screen Shot 2016-07-29 at 2.57.17 AM